Skip to main content

Connection

API key is passed as a query parameter (not a header) since WebSocket connections don’t support custom headers in browsers.
WebSocket streaming requires the Pro ($50/mo) or Max plan. Starter plan connections are rejected with close code 1008.

Protocol

1. Connect

Open a WebSocket connection to the URL above. No subscription step is needed — the server immediately begins pushing all articles as they arrive (firehose).

2. Receive articles

The server pushes JSON articles as they arrive:
Pro
Max
Max-plan streams add a tickers array on each message (empty when no tickers are detected). Pro streams omit the field entirely.

Connection Limit

Each user is limited to 1 concurrent WebSocket connection. Attempting a second connection returns close code 1008 with reason “Only 1 WebSocket connection allowed.”

Disconnection

The connection closes when:
  • Your plan is not Pro or Max (close code 1008)
  • You already have an active connection (close code 1008)
  • Invalid or inactive API key (close code 1008)
  • Your subscription expires mid-stream — the server re-checks every 5 minutes (close code 1008)
  • Server maintenance (implement auto-reconnect)

Example: Python

Example: JavaScript