Broker API HubMenu

Broker API rate limit calculator

Choose a published limit and say how often you plan to call. See whether the plan fits, the headroom left and the shortest interval that would.

Independent and unofficialNewest check Go to the calculator

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.

Check a plan against a limit

This is arithmetic on published figures, not a guarantee. A provider can count differently from its own page, and can change a limit without notice.

The figures this tool uses

A limit can be chosen above when its record holds one figure and one window, or one ceiling: 24 are recorded as a number and a unit, and 10 are recorded as wording that opens with a count and a window, such as 20 per 2 s, which is taken as it stands. Each is shown here as its record holds it. A figure without its scope is not usable: the scope says what is being counted, and two figures with different scopes are separate limits that can both apply at once.

Bitget API rate limits

LimitValueScopeSource
Public market data, legacy v1 API20 per 2 s per IP, public market dataPer IP address, public market data endpoints of the legacy v1 APIbitgetlimited.github.iochecked
Overall requests a minute6,000Per IP address, all requests to the common domain name, with REST and WebSocket sharing one allowancebitget.comchecked
Concurrent WebSocket connections100Per IP addressbitget.comchecked
WebSocket messages a second10Per WebSocket connection, counting ping, login, subscribe and unsubscribe messagesbitget.comchecked
WebSocket subscription requests an hour240Per WebSocket connectionbitget.comchecked
Concurrent WebSocket channel subscriptions1,000Per WebSocket connectionbitget.comchecked

Capital.com API rate limits

LimitValueScopeSource
Headline limit10/s per useruseropen-api.capital.comchecked

cTrader API rate limits

LimitValueScopeSource
Requests a second, not historical data50Per connection, requests that are not for historical datahelp.ctrader.comchecked
Requests a second, historical data5Per connection, historical data requests onlyhelp.ctrader.comchecked

Deriv API rate limits

LimitValueScopeSource
Headline limit80/min per logged in user (REST)Sources conflict developers.deriv.com states 60, checked . Deriv's API overview in the text form it publishes for AI tools gives REST 60 requests a minute per token, where its Limits page gives 80 a minute per logged in user. The same overview also gives 100 WebSocket requests a second per connection, 100 active subscriptions per connection and 5 concurrent WebSocket connections per user, none of which the Limits page mentions. Deriv's own pages disagree; the conflict is labelled, not resolved. Pace against 60.user, RESTdevelopers.deriv.comchecked

Dukascopy API rate limits

LimitValueScopeSource
Connection attempts a minute5Per IP address, per FIX serverdukascopy.comchecked
Open positions100FIX API. The guide does not say whether the count is per session or per accountdukascopy.comchecked
Orders a second16FIX API, orders only. The guide does not say whether the count is per session or per accountdukascopy.comchecked

eToro API rate limits

LimitValueScopeSource
Headline limit60/min reads per keyuserapi-portal.etoro.comchecked

FOREX.com API rate limits

LimitValueScopeSource
Request throttle500 requests per 5 s, HTTP 429 above itRequests from one client application. The page does not say whether the count is per session, per AppKey or per IP addressdocs.labs.gaincapital.comchecked

IG API rate limits

LimitValueScopeSource
Historical price data points a week10,000Per account, price history endpoints onlylabs.ig.comchecked
Non trading requests a minute30Per account, non trading calls onlylabs.ig.comchecked
Non trading requests a minute60Per application, that is per API key, non trading calls onlylabs.ig.comchecked
Concurrent streaming subscriptions40Per streaming connectionlabs.ig.comchecked corroborated by labs.ig.com/streaming-api-guide.html
Trading requests a minute100Sources conflict ig.com states around 40, checked . IG's own pages disagree. The conflict is labelled, not resolved. Pace against 40.Per account, trading calls onlylabs.ig.comchecked

Interactive Brokers API rate limits

LimitValueScopeSource
Global requests a second (Web API)10Per authenticated username, that is per Web API sessionibkrcampus.comchecked corroborated by interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations
Market data snapshot requests a second10GET /iserver/marketdata/snapshot onlyinteractivebrokers.comchecked corroborated by ibkrcampus.com/campus/ibkr-api-page/webapi-doc/
Order and trade list requests1 req/5 sGET /iserver/orders and GET /iserver/trades, each counted on its owninteractivebrokers.comchecked corroborated by ibkrcampus.com/campus/ibkr-api-page/webapi-doc/
Session validation requests a minute1GET /sso/validate onlyinteractivebrokers.comchecked corroborated by ibkrcampus.com/campus/ibkr-api-page/webapi-doc/
Session keep alive requests a second1GET /tickle onlyinteractivebrokers.comchecked corroborated by ibkrcampus.com/campus/ibkr-api-page/webapi-doc/

MetaApi API rate limits

LimitValueScopeSource
CPU credits per account5,000 CPU credits per 10 secondsPer MetaTrader account. REST and RPC calls onlymetaapi.cloudchecked
CPU credits an hour, per application18,000Per application, multiplied by the number of accounts deployed to MetaApi. REST and RPC calls only, counted in CPU credits and not in requestsmetaapi.cloudchecked
CPU credits a minute, per application6,000Per application, multiplied by the number of accounts deployed to MetaApi. REST and RPC calls only, counted in CPU credits and not in requestsmetaapi.cloudchecked
CPU credits a second, per application1,000Per application, multiplied by the number of accounts deployed to MetaApi. REST and RPC calls only, counted in CPU credits and not in requestsmetaapi.cloudchecked
Concurrent historical market data requests5Per MetaTrader account, historical market data API onlymetaapi.cloudchecked
CPU credits a second, per server2,000Per shared front end server. REST and RPC calls only, counted in CPU credits and not in requestsmetaapi.cloudchecked

OANDA API rate limits

LimitValueScopeSource
Headline limit120/s per IP address, HTTP 429 above itipdeveloper.oanda.comchecked

Saxo API rate limits

LimitValueScopeSource
Headline limit120/min per session, per service groupsessiondeveloper.saxochecked

Trading 212 API rate limits

LimitValueScopeSource
Headline limit1 req/5s, account summary (example)accountdocs.trading212.comchecked

1 of the 35 limit records that cannot be offered, and why

They are on the rate limit pages with their scope and source, and the custom mode will take any figure you read there yourself.

What it does, and what it cannot tell you

It multiplies the calls in one round by the number of rounds that fit in the limit's window, and compares the result with the limit. The shortest interval is the gap between rounds at which the plan would sit exactly at the limit.

Where a record carries two readings that disagree, the sum uses the lower one and shows both, each with its source. The conflict is labelled, not resolved.

It cannot tell you how the provider counts. Whether the window rolls or resets on the clock is not recorded here. Nor is what else is counted against the same scope: another program on the same key or account spends the same allowance. Treat the result as a ceiling to stay well under, and handle a refusal in code anyway.