TickAtlas
WSS /v1/stream Coming soon · Starter+

WebSocket Streaming — Live Quotes

Open a single connection, subscribe to a symbol list, and receive every bid/ask update push-style. No polling, no wasted requests — ideal for dashboards, alert engines, and execution bots that need quotes the instant they change.

Status: WebSocket streaming is in active development for the Starter plan and above. Code samples below describe the target API surface; until the rollout completes, use the REST /v1/quote endpoint for polling-based price reads.
Python websocket-client
stream.py
import websocket, json

def on_message(ws, message):
    data = json.loads(message)
    print(f"{data['symbol']}: bid={data['bid']} ask={data['ask']}")

def on_open(ws):
    ws.send(json.dumps({
        "action": "subscribe",
        "symbols": ["EURUSD", "XAUUSD", "BTCUSD"]
    }))

ws = websocket.WebSocketApp(
    "wss://tickatlas.com/v1/stream?key=YOUR_API_KEY",
    on_message=on_message,
    on_open=on_open,
)
ws.run_forever()
JavaScript Browser / Node.js
stream.js
const ws = new WebSocket(
  "wss://tickatlas.com/v1/stream?key=YOUR_API_KEY"
);

ws.onopen = () => {
  ws.send(JSON.stringify({
    action: "subscribe",
    symbols: ["EURUSD", "XAUUSD", "BTCUSD"]
  }));
};

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log(`${data.symbol}: ${data.bid} / ${data.ask}`);
};

Connection lifecycle

  1. Connect to wss://tickatlas.com/v1/stream?key=YOUR_API_KEY.
  2. Send a subscribe message with the symbol list.
  3. Receive a quote message every time a subscribed symbol changes.
  4. Send unsubscribe or close the socket when done.
Quote message server → client
quote.json
{
  "type": "quote",
  "symbol": "EURUSD",
  "bid": 1.08432,
  "ask": 1.08443,
  "spread": 0.00011,
  "timestamp": "2026-04-04T14:23:01.482Z"
}
Heads up: WebSocket streaming requires the Starter plan or higher and is billed per push (not per connection minute). See the WebSocket LP for per-plan symbol limits and credit pricing.