TickAtlas

WebSocket Streaming API — Live Quotes, No Polling

wss://tickatlas.com/ws/v1/quotes streams M1 bid/ask data for subscribed symbols. Authenticate, subscribe, receive — no polling, no rate-limit gymnastics.

No credit card. $2.50 PAYG credit on sign up.

wss://tickatlas.com/v1/stream
wss://tickatlas.com/v1/stream CONNECTED { "symbol": "EURUSD", "bid": 1.08442, "ask": 1.08444, "ts": 1714827384156 } 14:23:04.156 { "symbol": "XAUUSD", "bid": 2384.21, "ask": 2384.45, "ts": 1714827384180 } 14:23:04.180 { "symbol": "BTCUSD", "bid": 64182.4, "ask": 64185.9, "ts": 1714827384204 } 14:23:04.204 Throughput: 412 ticks/sec • Avg latency: 24ms • Reconnect: auto
Latency: ~24ms Live Updated 2s ago

One Request. Instant Data.

REQUEST
const ws = new WebSocket("wss://tickatlas.com/ws/v1/quotes");

ws.onopen = () => {
  ws.send(JSON.stringify({ action: "auth", key: "YOUR_API_KEY" }));
};

ws.onmessage = (event) => {
  const msg = JSON.parse(event.data);
  if (msg.type === "authenticated") {
    ws.send(JSON.stringify({ action: "subscribe", symbols: ["EURUSD", "XAUUSD"] }));
  } else if (msg.type === "quote") {
    const q = msg.data;
    console.log(q.symbol, "bid=" + q.bid, "ask=" + q.ask);
  }
};

Why Use TickAtlas?

Pre-Calculated, Sub-100ms

Indicator values are computed server-side on every new candle. Your app queries the result — no TA library, no candle history needed.

7 Timeframes

M1, M5, M15, M30, H1, H4, D1 — the same endpoint serves scalpers and position traders alike.

Forex, Crypto, Commodities

EURUSD, GBPUSD, XAUUSD, BTCUSD, USDJPY — data available for all symbols active on connected broker terminals.

Plug into any stack

  • ChatGPT Custom GPTs
  • Claude Tools
  • Python / pandas
  • Node.js
  • Discord bots
  • Slack webhooks
  • n8n
  • Zapier
  • Google Sheets

Frequently Asked Questions

Why M1 data only — not tick-by-tick?

M1 (1-minute) candle closes give you reliable OHLCV snapshots without the noise and bandwidth cost of raw ticks. For most algorithmic strategies, M1 is the fastest actionable timeframe. If you need tick-level data between candles, the REST /v1/ticks endpoint is available on all plans.

What happens if I disconnect?

You stop receiving data and stop being charged credits. When you reconnect, authenticate again and resubscribe. There is no message replay — you pick up from the next available quote.

What if my daily quota runs out?

The server sends a quota_exceeded error and stops pushing quotes. Your connection stays open but idle. Credits reset at midnight UTC, or you can upgrade your plan for a higher daily quota.

Can I open multiple connections?

Yes, up to 2 concurrent WebSocket connections per API key. If you try to open a third, the server rejects it with a connection_limit error.

How does billing work exactly?

Each price quote pushed to your connection costs credits from your daily quota — 5 credits on Starter, 4 on Pro, 3 on Enterprise. If you subscribe to 5 symbols and each updates once per minute, that is roughly 300 pushes/hour. On Starter at 5 credits each, that is 1,500 credits/hour.

Can I use REST as a fallback?

Yes. The /v1/quotes REST endpoint returns the same data. If your WebSocket connection is unavailable, poll the REST endpoint at your desired interval. Many users keep a REST fallback in their reconnection logic.

Start Building in 5 Minutes

Sign up, grab your API key, make your first request.

Every new account gets $2.50 in free PAYG credits. No card required.