Broker API HubMenu

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.

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.

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

RecordAnswer from the recordStreamingStatus, source and date
Axi

Not recorded here

Not recordedNo record held
Bitget

WebSocket, with a public channel and a private channel that needs a login message.

The Bitget record's full wording

YesBitget 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.

The Capital.com record's full wording

YesCapital.com Public APIchecked
CMC Markets

Not recorded here

Not recordedNo 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.

The Deriv record's full wording

YesDeriv 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.

The Dukascopy record's full wording

YesDukascopy 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.

The eToro record's full wording

YeseToro WebSocket API, AsyncAPI documentchecked eToro API portal: WebSocket authenticationchecked eToro API portal: WebSocket topicschecked
Exness

Websocket, throttled to roughly 100 to 500 ms.

The Exness record's full wording

YesExness 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.

The FOREX.com record's full wording

YesStoneX API documentation, architecturechecked
FXCM

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

The FXCM record's full wording

YesFXCM Socket REST API specchecked
FxPro

Not recorded here

Not recordedNo 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.

The IG record's full wording

YesIG Labs Streaming API Guidechecked IG Labs FAQchecked
Interactive Brokers

TWS API is event driven over the socket.

The Interactive Brokers record's full wording

YesIBKR 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.

The OANDA record's full wording

YesOANDA 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.

The Pepperstone record's full wording

Not recordedunverifiedUnverifiedPepperstone API tradingchecked
Saxo

WebSocket streaming (SIM and live hosts).

The Saxo record's full wording

YesSaxo 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.

The Swissquote record's full wording

PartialSwissquote institutional Forex APIschecked Swissquote institutional, securities and cryptos via an APIchecked
ThinkMarkets

Not recorded here

Not recordedNo record held
Tickmill

Not recorded here

Not recordedNo record held
Trading 212

Unverified. None documented. REST plus polling only.

The Trading 212 record's full wording

Not recordedunverifiedUnverifiedno 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.

The XTB record's full wording

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

Platform APIs

RecordAnswer from the recordStreamingStatus, 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.

The cTrader record's full wording

YesMessageschecked
DXtrade

Push API over WebSockets for account and market data updates.

The DXtrade record's full wording

YesDevexperts blog: DXtrade API suitechecked
Match-Trader

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

The Match-Trader record's full wording

YesPlatform 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.

The MetaApi record's full wording

YesMetaApi 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.

The MetaCopier record's full wording

YesMetaCopier documentation, Socket APIchecked MetaCopier documentation, SDKchecked
MetaTrader 4

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

The MetaTrader 4 record's full wording

PartialMQL4 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.

The MetaTrader 5 record's full wording

PartialMetaTrader 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.

The TradeLocker record's full wording

Not recordedunverifiedUnverifiedTradeLocker public API, getting startedchecked

Where to go next