What are the rate limits of each broker API?
A rate limit is the number of requests an API accepts in a period before it refuses more. The scope is part of the limit: a figure per key is not the same limit as the same figure per account.
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
Where the limits register holds one limit record, the answer is that record: its name, its value and its scope. Where it holds several, the answer names them and the rate limits page holds each value with its scope. Where it holds none, the answer is the record's own sentence about rate limits, cut at the end of a sentence.
29 of the 29 records below can answer this question. 5 of those answers rest on a record labelled unverified, 2 rest on sources that conflict, and no record is 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: Published rate limits. It is a separate reading of the record, decided by the rule on its own page.
Brokers
| Record | Answer from the record | Rate limits | Status, source and date |
|---|---|---|---|
| Axi | Unverified. The Axi help article this was read on in September 2026 answered 404 on 12 Oct 2026, and Axi's help centre is now a portal that does not render without scripts. | Not recordedunverified | UnverifiedTrading platforms, Axi UKchecked |
| Bitget | The limits register holds 6 limit records for the Bitget API, each with its own scope: Public market data, legacy v1 API, Overall requests a minute, Concurrent WebSocket connections, WebSocket messages a second, WebSocket subscription requests an hour and Concurrent WebSocket channel subscriptions. | Yes | bitgetlimited.github.iochecked bitget.comchecked |
| Capital.com | Headline limit: 10/s per user. Scope: user. | Yes | open-api.capital.comchecked |
| CMC Markets | No retail API on the pages opened. CMC Connect offers market data and execution through the FIX protocol to institutional clients, and its connectivity page states no rate limit (re-read 12 Oct 2026). | Not recorded | CMC Connect connectivitychecked |
| Deriv | Sources conflict on this limit, and the rate limits page shows both readings. Headline limit: 80/min per logged in user (REST). Scope: user, REST. | Yes | Sources conflictdevelopers.deriv.comchecked |
| Dukascopy | The limits register holds 3 limit records for the Dukascopy API, each with its own scope: Connection attempts a minute, Open positions and Orders a second. | Yes | dukascopy.comchecked |
| eToro | Headline limit: 60/min reads per key. Scope: user. | Yes | api-portal.etoro.comchecked |
| Exness | Not published. Exness tells clients to read them at runtime from getRateLimits rather than hardcoding any figure. | Partial | Exness help centre: Exness APIchecked |
| FOREX.com | Request throttle: 500 requests per 5 s, HTTP 429 above it. Scope: Requests from one client application. The page does not say whether the count is per session, per AppKey or per IP address. | Yes | docs.labs.gaincapital.comchecked |
| FXCM | Not published. No REST API is listed, so there is nothing to publish limits for. | No | FXCM Socket REST API specchecked |
| FxPro | No retail API. FxPro Prime offers FIX via PrimeXM XCore, MT5 bridge via Ultency and cTrader FIX via cBroker, for institutions; no limit stated (read 22 Sep 2026). | Not recorded | FxPro Prime brokeragechecked |
| IG | Sources conflict on at least one of these limits, and the rate limits page shows both readings. The limits register holds 5 limit records for the IG API, each with its own scope: Historical price data points a week, Non trading requests a minute, Concurrent streaming subscriptions and Trading requests a minute. | Yes | Sources conflictlabs.ig.comchecked |
| Interactive Brokers | The limits register holds 6 limit records for the Interactive Brokers API, each with its own scope: Global requests a second (Web API), Historical market data requests, Market data snapshot requests a second, Order and trade list requests, Session validation requests a minute and Session keep alive requests a second. Interactive Brokers API rate limits in full, each with its scope | Yes | ibkrcampus.comchecked interactivebrokers.comchecked |
| OANDA | Headline limit: 120/s per IP address, HTTP 429 above it. Scope: ip. | Yes | developer.oanda.comchecked |
| Pepperstone | Unverified. The API trading page, re-read 12 Oct 2026, states no rate limit for either route, and it links to no API documentation. That is not evidence that there is no limit. | Not recordedunverified | UnverifiedPepperstone API tradingchecked |
| Saxo | Headline limit: 120/min per session, per service group. Scope: session. | Yes | developer.saxochecked |
| Swissquote | Unverified. No page opened on 12 Oct 2026 states a request or order limit: not the institutional API overview, the Forex API page or the securities API page. | Not recordedunverified | UnverifiedSwissquote institutional Forex APIschecked |
| ThinkMarkets | No retail API. Institutional page offers API solutions through vendors with no protocol, documentation or limit stated (read 22 Sep 2026). | Not recorded | ThinkMarkets institutional saleschecked |
| Tickmill | No retail API. A FIX API is offered to large private and institutional clients (minimum balance 500,000, minimum monthly commission 5,000, no demo version), and the FAQ that describes it states no limit (re-read 12 Oct 2026). | Not recorded | Tickmill FAQ: FIX API connectionchecked |
| Trading 212 | Headline limit: 1 req/5s, account summary (example). Scope: account. | Yes | docs.trading212.comchecked |
| XTB | Not applicable. No live API, so no published limits apply. Last looked for 9 Oct 2026. | No | XTB help centre: Does XTB offer investment automation tools?checked |
Platform APIs
| Record | Answer from the record | Rate limits | Status, source and date |
|---|---|---|---|
| cTrader | The limits register holds 2 limit records for the cTrader API, each with its own scope: Requests a second, not historical data and Requests a second, historical data. | Yes | help.ctrader.comchecked |
| DXtrade | Unverified. The DXtrade developer portal, where a limit would be written, returned only a page title without scripts on 12 Oct 2026. Devexperts' APIs page and its traders FAQ, both opened that day, state no limit. | Partial | UnverifiedDXtrade traders FAQchecked UnverifiedDXtrade APIschecked |
| Match-Trader | Not published. | No | Match-Trader Platform API PDF (2024)checked |
| MetaApi | The limits register holds 6 limit records for the MetaApi API, each with its own scope: CPU credits per account, CPU credits an hour, per application, CPU credits a minute, per application, CPU credits a second, per application, Concurrent historical market data requests and CPU credits a second, per server. | Yes | metaapi.cloudchecked |
| MetaCopier | Unverified. The REST API, access policy and Socket API pages of MetaCopier's documentation, opened on 12 Oct 2026, state no request rate limit. The endpoint reference is a Swagger page that was not opened. That is not evidence that there is no limit. | Not recordedunverified | UnverifiedMetaCopier documentation, REST APIchecked |
| MetaTrader 4 | Not published. | No | MQL4 Referencechecked |
| MetaTrader 5 | Not published. The Python page states none, carries no version and no date, and gives no consolidated error list beyond last_error() (read 22 Sep 2026). | No | MetaTrader for Pythonchecked |
| TradeLocker | Per route limits only, served at runtime by the /trade/config route as a number of requests per interval of seconds or minutes. The documentation publishes no fixed figure and gives 2 requests a second only as an example of the form. | Partial | TradeLocker public API, getting startedchecked TradeLocker public API, index of pageschecked |
Where to go next
- Rate limits, broker by broker
- Published rate limits: the capability table
- Tools, with a rate limit calculator
- Answers for every broker and platform API
- Which retail brokers have a public trading API?
- Which broker APIs have a demo environment?
- How does each broker API authenticate?
- Which broker APIs stream prices?
- Which broker APIs have an official Python library?
- Which broker APIs have an MCP server?
- What does each API's most referenced error mean?