Which broker APIs stream prices?
Streaming pushes each price to you over a connection that stays open. Providers do it over a WebSocket, over a long lived HTTP connection or through a streaming service with its own client library.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
Rows are in name order. The order is not a ranking and nothing here recommends a broker. Not recorded here means this site holds no record to answer from. It does not mean the broker or platform lacks it.
How each answer is built
The answer is the record's own sentence about streaming, cut at the end of a sentence. The protocol is whatever that sentence names. The Yes, No or Partial beside it is a separate reading of that sentence, entered in the capability facts register only where its words settle it. Yes means the record describes streaming of some kind: whether it names prices is on the capability's page, beside the reason.
24 of the 29 records below can answer this question. 3 of those answers rest on a record labelled unverified, 0 rest on sources that conflict, and 5 records are shown as not recorded here.
The state beside an answer is the cell the capability grid computes for the same record, shown as it stands there: Streaming. It is a separate reading of the record, decided by the rule on its own page.
Brokers
| Record | Answer from the record | Streaming | Status, source and date |
|---|---|---|---|
| Axi | Not recorded here | Not recorded | No record held |
| Bitget | WebSocket, with a public channel and a private channel that needs a login message. | Yes | Bitget API quick start, WebSocketchecked |
| Capital.com | WebSocket wss://api-streaming-capital.backend-capital.com/connect, maximum of 40 epics per subscription; the session lasts 10 minutes and is kept alive with ping. | Yes | Capital.com Public APIchecked |
| CMC Markets | Not recorded here | Not recorded | No record held |
| Deriv | WebSocket carries trading and market data, on a public endpoint and on demo and real endpoints opened with a one time password fetched over REST. Each connection can send 10 pings a second, outside the call budgets. | Yes | Deriv API: API overviewchecked Deriv API: limitschecked |
| Dukascopy | JForex API: live data arrives through the client once you subscribe to instruments explicitly, and the subscription is asynchronous. FIX API: two FIX connections per client, one for the data feed and one for trading. | Yes | Dukascopy wiki, JForex SDK clientchecked Dukascopy FIX API Programming Guide, revision 8.8.1checked |
| eToro | WebSocket at wss://ws.etoro.com/ws, described by an AsyncAPI 3.0 document that eToro publishes. | Yes | eToro WebSocket API, AsyncAPI documentchecked eToro API portal: WebSocket authenticationchecked eToro API portal: WebSocket topicschecked |
| Exness | Websocket, throttled to roughly 100 to 500 ms. | Yes | Exness help centre: Exness APIchecked |
| FOREX.com | Lightstreamer, a third party streaming protocol, over long lived HTTP connections and not WebSocket as documented. Streams cover prices, news headlines, client account margin, orders and quotes, grouped into adapters. | Yes | StoneX API documentation, architecturechecked |
| FXCM | ForexConnect pushes live prices; the retired legacy REST API streamed over Socket.IO. | Yes | FXCM Socket REST API specchecked |
| FxPro | Not recorded here | Not recorded | No record held |
| IG | Streaming runs on Lightstreamer: IG's Streaming API Guide starts by sending you to the Lightstreamer client library, and the server address to connect to comes back from the /session call. By default a connection holds up to 40 simultaneous subscriptions. | Yes | IG Labs Streaming API Guidechecked IG Labs FAQchecked |
| Interactive Brokers | TWS API is event driven over the socket. | Yes | IBKR Web API v1.0 documentation, websockets introductionchecked IBKR Web API v1.0 documentation, websocket market data requestchecked IBKR Web API v1.0 documentation, websocket historical market data requestchecked IBKR Campus: Web API documentationchecked |
| OANDA | HTTP chunked transfer encoding carrying JSON objects, not WebSocket. The development guide states at most 20 active streams, with requests above that rejected, and no more than 2 new connections a second. | Yes | OANDA Development Guidechecked |
| Pepperstone | Unverified. The API trading page, re-read 12 Oct 2026, says software can receive live pricing data and depth of market, but describes no streaming transport, host or limit for either route. | Not recordedunverified | UnverifiedPepperstone API tradingchecked |
| Saxo | WebSocket streaming (SIM and live hosts). | Yes | Saxo Environmentschecked |
| Swissquote | The institutional Forex API page lists the liquidity channel of its FIX connections as streaming, with request for stream and request for quote also listed for the Integral connection. | Partial | Swissquote institutional Forex APIschecked Swissquote institutional, securities and cryptos via an APIchecked |
| ThinkMarkets | Not recorded here | Not recorded | No record held |
| Tickmill | Not recorded here | Not recorded | No record held |
| Trading 212 | Unverified. None documented. REST plus polling only. | Not recordedunverified | Unverifiedno source opened |
| XTB | Not applicable. XTB's help centre states that API access was discontinued on 14 March 2025, and streaming was part of that API. The page read on 9 Oct 2026 does not name the former streaming host. Last looked for 9 Oct 2026. | No | XTB help centre: Does XTB offer investment automation tools?checked |
Platform APIs
| Record | Answer from the record | Streaming | Status, source and date |
|---|---|---|---|
| cTrader | Yes: spot quotes, depth of market and execution events on the same connection, at 50 requests a second per connection (5 for historical data) with a heartbeat every 10 seconds. Host live1.p.ctrader.com port 5035, SSL mandatory for TCP and WebSocket. | Yes | Messageschecked |
| DXtrade | Push API over WebSockets for account and market data updates. | Yes | Devexperts blog: DXtrade API suitechecked |
| Match-Trader | Yes: WebSocket with STOMP for real-time market data and account updates. | Yes | Platform APIchecked |
| MetaApi | Yes: a WebSocket API on the socket.io protocol that pushes terminal state changes, quotes, candles, ticks and order book data in real time. MetaApi recommends it over REST for automated trading. | Yes | MetaApi documentation, overviewchecked MetaApi documentation, rate limitingchecked |
| MetaCopier | Yes: a Socket API that speaks STOMP over a standard WebSocket connection, for real time updates of account information, history and open positions. One connection carries every account the key can reach, and accounts added later appear without reconnecting. | Yes | MetaCopier documentation, Socket APIchecked MetaCopier documentation, SDKchecked |
| MetaTrader 4 | In-terminal events only (new tick, timer, depth changes); no external streaming API. | Partial | MQL4 Referencechecked |
| MetaTrader 5 | No push API in Python: poll ticks and bars; market_book_add subscribes the terminal to depth events. MQL5 EAs get tick events. | Partial | MetaTrader for Pythonchecked |
| TradeLocker | Unverified. TradeLocker's public API documentation, re-read 12 Oct 2026, describes a request and response REST API only, and its index of pages lists no streaming page. | Not recordedunverified | UnverifiedTradeLocker public API, getting startedchecked |
Where to go next
- Streaming: every record's full wording
- Streaming: the capability table
- Streaming compared
- Answers for every broker and platform API
- Which retail brokers have a public trading API?
- Which broker APIs have a demo environment?
- What are the rate limits of each broker API?
- How does each broker API authenticate?
- Which broker APIs have an official Python library?
- Which broker APIs have an MCP server?
- What does each API's most referenced error mean?