Skip to main content
WebSocket access to Prices, Market Snapshot, Indices, and Forex Rates is available on every plan, including Free. None of these carry historical data, and their REST equivalents (GET /companies, GET /market/snapshot, GET /indices, GET /forex/current) are free too. What scales by plan is how many connections you can hold open at once, and, on the prices channel only, how many symbols one connection can request.

Connections are counted across all channels combined

The connection limit is per account, not per channel. On Free, with a limit of 1, an open connection to /v1/ws/snapshot means opening /v1/ws/indices at the same time will fail. You get one connection total, to spend on whichever channel you choose, not one per channel. If you need several channels open at once, pick a plan whose limit covers that. Pro’s limit of 5 comfortably covers all six channels open together, with room to spare. Exceeding your plan’s connection limit fails the handshake with TOO_MANY_CONNECTIONS. Close an existing connection, or wait for one to drop, before opening another.

Symbol limits apply once, at connect time

The symbols limit on Prices is checked once, when you connect. It isn’t a rolling count across reconnects or across your account’s other connections. Each connection to /v1/ws/prices can independently request up to your plan’s symbol limit.

This doesn’t touch your REST quota

Opening a WebSocket connection, and every message it pushes to you afterward, doesn’t count against your monthly REST call quota described in Plans. The two are tracked separately. A connection stays open and keeps receiving updates even if you’ve fully used up your REST quota elsewhere on your account.

Plans

Full REST plan comparison, endpoint access, and pricing

Errors

What happens when you exceed a limit