Broker API HubMenu

Broker APIs with streaming

Streaming pushes each price or account update to you over a connection that stays open, so a program does not have to ask again and again. Providers do it over different protocols.

Independent and unofficialNewest check

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.

Not recorded means this site holds no record. It does not mean the broker or platform lacks it. Rows are in name order, the order is not a ranking, and nothing here recommends a broker.

How each row is decided

Each record holds a sentence about streaming, not a yes or no field. A person read each sentence and entered yes, partial or no in the capability facts register only where the sentence's own words settle it. Yes means the record describes a connection that pushes data to you. It does not by itself say what is pushed: each row also says whether the record names prices, account updates, both or neither, and where an endpoint or error record names one, that record is cited. Partial means streaming on one route and not another. The status, the source and the date are the sentence's own. A sentence that settles nothing stays at not recorded.

Yes
A record on this site says so: a structured field, a record that exists, or a sentence in a record that was read and entered in the capability facts register, with the reason printed beside it. 17 of the 29 rows below.
Partial
A sentence in a record gives part of it: one route and not another, or a demo of the platform and not of the API. The reading is a row of the capability facts register, and the reason and the scope are printed beside it. 3 of the 29 rows below.
No
A record on this site says no: a structured field set to false, or a sentence in a record that says so, read and entered in the capability facts register. 1 of the 29 rows below.
Not recorded
This site holds no yes or no for it. That is a gap in this dataset. It is not a statement that the broker or platform lacks the capability. 8 of the 29 rows below.

3 of the rows rest on a record that is labelled unverified. Each says so beside its source.

Brokers

RecordStateWhat the record holdsSource and date
AxiNot recorded

The record holds no statement about streaming.

No record held
BitgetYes

The record describes a WebSocket with a public channel and a private channel that needs a login message. Recorded as streamed: prices, from the function or message record ticker; account updates, from the function or message record account.

WebSocket, with a public channel and a private channel that needs a login message. Shortened at the end of a sentence.

Read the full wording

Bitget API quick start, WebSocketchecked
Capital.comYes

The record gives a WebSocket address, with up to 40 epics per subscription. Recorded as streamed: prices, from the function or message record marketdata-subscribe. Not recorded either way: whether account updates are streamed.

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.

Read the record

Capital.com Public APIchecked
CMC MarketsNot recorded

The record holds no statement about streaming.

No record held
DerivYes

The record says a WebSocket carries trading and market data. Scope: Market data and trading over WebSocket. Recorded as streamed: prices; account updates, from the function or message record balance.

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.

Read the record

Deriv API: API overviewchecked
DukascopyYes

The record says live data arrives through the JForex client once instruments are subscribed, and that the FIX API has a connection for the data feed. Scope: JForex API and the FIX data feed. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

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. Shortened at the end of a sentence.

Read the full wording

Dukascopy wiki, JForex SDK clientchecked
eToroYes

The record gives a WebSocket address and an AsyncAPI document whose Subscribe message takes instrument topics and the private topic. Recorded as streamed: prices, from the function or message record instrument-rates; account updates, from the function or message record private.

WebSocket at wss://ws.etoro.com/ws, described by an AsyncAPI 3.0 document that eToro publishes. Shortened at the end of a sentence.

Read the full wording

eToro WebSocket API, AsyncAPI documentchecked
ExnessYes

The record says there is a WebSocket, throttled to roughly 100 to 500 ms. Not recorded either way: whether prices or account updates are streamed.

Websocket, throttled to roughly 100 to 500 ms.

Read the record

Exness help centre: Exness APIchecked
FOREX.com / StoneX Trading (City Index)Yes

The record says streams run over Lightstreamer and cover prices, news headlines, client account margin, orders and quotes. Scope: Lightstreamer over long lived HTTP connections, not WebSocket. Recorded as streamed: prices; account updates.

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. Shortened at the end of a sentence.

Read the full wording

StoneX API documentation, architecturechecked
FXCMYes

The record says ForexConnect pushes live prices. Scope: ForexConnect. The record says the legacy REST API that streamed over Socket.IO is retired. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

ForexConnect pushes live prices; the retired legacy REST API streamed over Socket.IO.

Read the record

FXCM Socket REST API specchecked
FxProNot recorded

The record holds no statement about streaming.

No record held
IGYes

The record describes streaming over Lightstreamer, with up to 40 subscriptions on each connection by default. Recorded as streamed: prices, from the function or message record price; account updates, from the function or message record account.

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. Shortened at the end of a sentence.

Read the full wording

IG Labs Streaming API Guidechecked
Interactive BrokersYes

The record says the TWS API is event driven over its socket, and that the Web API has a websocket capped by market data lines. Scope: TWS API socket and Web API websocket. Recorded as streamed: prices; account updates, from the error record 2100-account-data-unsubscribed.

TWS API is event driven over the socket. Shortened at the end of a sentence.

Read the full wording

IBKR Web API v1.0 documentation, websockets introductionchecked
OANDAYes

The record says streaming is HTTP chunked transfer encoding carrying JSON objects, with at most 20 active streams. Scope: HTTP streaming, not WebSocket. Recorded as streamed: prices, from the endpoint record pricing-stream; account updates, from the endpoint record transactions-stream.

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. Shortened at the end of a sentence.

Read the full wording

OANDA Development Guidechecked
PepperstoneNot recorded

No state is taken from the record's sentence about streaming: the capability facts register holds no reading of it as a yes, a partial or a no, and it does not itself open with one of those words.

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.

Read the record

UnverifiedPepperstone API tradingchecked
Saxo OpenAPIYes

The record says there is WebSocket streaming on the SIM and live hosts. Scope: WebSocket. Recorded as streamed: prices, from the endpoint record prices-subscribe; account updates, from the endpoint record balances-subscribe.

WebSocket streaming (SIM and live hosts). Shortened at the end of a sentence.

Read the full wording

Saxo Environmentschecked
SwissquotePartial

The record says the forex FIX connections list streaming as their liquidity channel and digital assets have a FIX market data session, while no market data is available over FIX for securities. Scope: FIX for leveraged forex and digital assets. None for securities. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

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. Shortened at the end of a sentence.

Read the full wording

Swissquote institutional Forex APIschecked
ThinkMarketsNot recorded

The record holds no statement about streaming.

No record held
TickmillNot recorded

The record holds no statement about streaming.

No record held
Trading 212Not recorded

No state is taken from the record's sentence about streaming: the capability facts register holds no reading of it as a yes, a partial or a no, and it does not itself open with one of those words.

None documented. REST plus polling only.

Read the record

Unverifiedno source opened
XTBNo

The record says API access was discontinued on 14 March 2025 and that streaming was part of that API.

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.

Read the record

XTB help centre: Does XTB offer investment automation tools?checked

Platform APIs

RecordStateWhat the record holdsSource and date
cTrader Open APIYes

The record says spot quotes, depth of market and execution events arrive on the same connection. Scope: Execution events are the account side. Recorded as streamed: prices; account updates.

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. Shortened at the end of a sentence.

Read the full wording

Messageschecked
DXtrade APIsYes

The record says there is a Push API over WebSockets for account and market data updates. Scope: WebSocket Push API. Recorded as streamed: prices; account updates.

Push API over WebSockets for account and market data updates.

Read the record

Devexperts blog: DXtrade API suitechecked
Match-Trader Platform APIYes

The record says there is a WebSocket with STOMP for real-time market data and account updates. Scope: WebSocket with STOMP. Recorded as streamed: prices; account updates.

Yes: WebSocket with STOMP for real-time market data and account updates.

Read the record

Platform APIchecked
MetaApiYes

The record says a WebSocket API on the socket.io protocol pushes terminal state changes, quotes, candles, ticks and order book data in real time. Scope: The record names terminal state changes, and does not name account updates as such. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

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. Shortened at the end of a sentence.

Read the full wording

MetaApi documentation, overviewchecked
MetaCopierYes

The record says a Socket API over STOMP and WebSocket gives real time updates of account information, history and open positions. Scope: Account updates. The record names no price stream. Recorded as streamed: account updates. Not recorded either way: whether prices are streamed.

Yes: a Socket API that speaks STOMP over a standard WebSocket connection, for real time updates of account information, history and open positions. Shortened at the end of a sentence.

Read the full wording

MetaCopier documentation, Socket APIchecked
MetaTrader 4 (MQL4)Partial

The record says code in the terminal receives events such as a new tick, and that there is no external streaming API. Scope: In-terminal events only. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

In-terminal events only (new tick, timer, depth changes); no external streaming API.

Read the record

MQL4 Referencechecked
MetaTrader 5 (Python package and MQL5)Partial

The record says MQL5 Expert Advisors get tick events, while the Python package has no push API and polls ticks and bars. Scope: MQL5 in the terminal only. Python polls. Recorded as streamed: prices. Not recorded either way: whether account updates are streamed.

No push API in Python: poll ticks and bars; market_book_add subscribes the terminal to depth events. MQL5 EAs get tick events.

Read the record

MetaTrader for Pythonchecked
TradeLocker APINot recorded

No state is taken from the record's sentence about streaming: the capability facts register holds no reading of it as a yes, a partial or a no, and it does not itself open with one of those words.

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. Shortened at the end of a sentence.

Read the full wording

UnverifiedTradeLocker public API, getting startedchecked

Where to go next

How to cite this

Broker APIs with streaming. Broker API Hub, https://openbrokerapi.com/capabilities/streaming, newest check .

Where you rely on a single figure, cite the source and the checked date printed beside it as well.