# Broker API rate limits compared

Independent and unofficial. Not affiliated with or endorsed by any broker or platform named here. Educational only: nothing here is advice, and nothing here recommends a broker or a trade.

This is the markdown version of https://openbrokerapi.com/guides/rate-limits-survival, written from the same records as that page.

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.

Every published broker and platform API rate limit we track, with its scope, the page it came from and the date we checked it. Where a broker publishes nothing, we say so.

- Last reviewed: 2026-09-24

Unverified in part: carried over from an earlier version of this site. The links below are the sources it was written from, but its statements have not been re-read at source since the date shown, so check anything you rely on.

## Rate limits by API

- API: [OANDA](https://openbrokerapi.com/brokers/oanda); Limit: 120 req/s, 7,200 req/min 120/s per IP address, HTTP 429 above it; Scope: IP address; Source: [developer.oanda.com](https://developer.oanda.com/rest-live-v20/development-guide/); Checked: 3 Oct 2026
- API: [cTrader Open API](https://openbrokerapi.com/platforms/ctrader); Limit: 50 req/s, 3,000 req/min 50/s per connection; Scope: connection; Source: [help.ctrader.com](https://help.ctrader.com/open-api/); Checked: 18 Sep 2026
- API: [Bitget](https://openbrokerapi.com/brokers/bitget); Limit: 20 req/s, 1,200 req/min 20/s per UID, Get Open Orders (UTA); Scope: UID, per endpoint; Source: [bitget.com](https://www.bitget.com/api-doc/uta/trade/Get-Order-Pending); Checked: 22 Sep 2026
- API: [Dukascopy](https://openbrokerapi.com/brokers/dukascopy); Limit: 16 req/s, 960 req/min 16 orders/s (FIX API); Scope: FIX session, orders; Source: [dukascopy.com](https://www.dukascopy.com/media-storage/3000474271/o/); Checked: 22 Sep 2026
- API: [Interactive Brokers](https://openbrokerapi.com/brokers/ibkr); Limit: 10 req/s, 600 req/min 10/s global (Web API); Scope: username; Source: [ibkrcampus.com](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/); Checked: 18 Sep 2026
- API: [Capital.com](https://openbrokerapi.com/brokers/capital-com); Limit: 10 req/s, 600 req/min 10/s per user; Scope: user; Source: [open-api.capital.com](https://open-api.capital.com/); Checked: 18 Sep 2026
- API: [Saxo OpenAPI](https://openbrokerapi.com/brokers/saxo); Limit: 2 req/s, 120 req/min 120/min per session, per service group; Scope: session; Source: [developer.saxo](https://www.developer.saxo/openapi/learn/rate-limiting); Checked: 18 Sep 2026
- API: [Deriv](https://openbrokerapi.com/brokers/deriv); Limit: Not published. Deriv does not publish fixed request limits for simultaneous or per minute API calls, so there is no figure to normalise.; Scope: not published; Source: [developers.deriv.com, API overview](https://developers.deriv.com/docs/intro/api-overview/), 23 Sep 2026; Checked: 23 Sep 2026
- API: [IG](https://openbrokerapi.com/brokers/ig); Limit: 1 req/s, 60 req/min 60/min per application (API key), non trading only. Per account: 100 trading a minute, 30 non trading a minute, 10,000 historical price points a week. Streaming: 40 concurrent subscriptions. IG's own how to use the IG API page states around 40 trade requests a minute, which this site labels as a conflict rather than resolving, and paces dealing against 40. Full record in IG allowances, one row each.; Scope: per application (API key), and per account split into trading only, non trading and historical data only; streaming per connection; Source: [labs.ig.com/faq](https://labs.ig.com/faq.html); Checked: 5 Oct 2026
- API: [eToro](https://openbrokerapi.com/brokers/etoro); Limit: 1 req/s, 60 req/min 60/min reads per key; Scope: user; Source: [api-portal.etoro.com](https://api-portal.etoro.com/core/getting-started/rate-limits.md); Checked: 20 Sep 2026
- API: [Trading 212](https://openbrokerapi.com/brokers/trading-212); Limit: 0.2 req/s, 12 req/min 1 req/5s, account summary (example); Scope: account; Source: [docs.trading212.com](https://docs.trading212.com/api/section/rate-limiting); Checked: 22 Sep 2026
- API: [TradeLocker API](https://openbrokerapi.com/platforms/tradelocker); Limit: No single figure Per route limits only, served at runtime by /trade/config/. No fixed figures are published. A tl-developer-api-key header gets looser limits.; Scope: Not stated; Source: [public-api.tradelocker.com](https://public-api.tradelocker.com/); Checked: 24 Sep 2026
- API: [Exness](https://openbrokerapi.com/brokers/exness); Limit: No single figure Not published. Exness tells clients to read them at runtime from getRateLimits rather than hardcoding any figure.; Scope: Not stated; Source: [get.exness.help](https://get.exness.help/hc/en-us/articles/27866287512476-Exness-API); Checked: 23 Sep 2026
- API: [MetaTrader 5 (Python package and MQL5)](https://openbrokerapi.com/platforms/metatrader-5); Limit: 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).; Scope: Not stated; Source: [mql5.com](https://www.mql5.com/en/docs/python_metatrader5); Checked: 23 Sep 2026
- API: [FXCM](https://openbrokerapi.com/brokers/fxcm); Limit: Not published No REST API is listed, so there is nothing to publish limits for.; Scope: Not stated; Source: [fxcm-rest.readthedocs.io](https://fxcm-rest.readthedocs.io/en/latest/socketrestapispecs.html); Checked: 21 Sep 2026
- API: [Match-Trader Platform API](https://openbrokerapi.com/platforms/match-trader); Limit: Not published; Scope: Not stated; Source: [docs.match-trade.com](https://docs.match-trade.com/wp-content/uploads/2024/05/MTR-Match-TraderPlatformAPI.pdf); Checked: 21 Sep 2026
- API: [MetaTrader 4 (MQL4)](https://openbrokerapi.com/platforms/metatrader-4); Limit: Not published; Scope: Not stated; Source: [docs.mql4.com](https://docs.mql4.com/); Checked: 20 Sep 2026
- API: [FOREX.com / StoneX Trading (City Index)](https://openbrokerapi.com/brokers/forex-com-city-index) Unverified; Limit: Not confirmed Unverified: no rate limit published. FOREX.com's API page states none, and the technical documentation at docs.labs.gaincapital.com is behind a registration form (re-checked 22 Sep 2026).; Scope: Not stated; Source: [forex.com](https://www.forex.com/en/trading-tools/api-trading/); Checked: 22 Sep 2026
- API: [Pepperstone](https://openbrokerapi.com/brokers/pepperstone) Unverified; Limit: Not confirmed Not published for either tier. Last looked for 25 Sep 2026.; Scope: Not stated; Source: [pepperstone.com](https://pepperstone.com/en/platforms/integrations/api-trading/); Checked: 21 Sep 2026
- API: [MetaApi](https://openbrokerapi.com/platforms/metaapi) Unverified; Limit: Not confirmed Unverified: no rate limits were sourced on 20 Sep 2026.; Scope: Not stated; Source: [metaapi.cloud](https://metaapi.cloud/); Checked: 21 Sep 2026
- API: [MetaCopier](https://openbrokerapi.com/platforms/metacopier) Unverified; Limit: Not confirmed Unverified: no rate limits were sourced on 20 Sep 2026.; Scope: Not stated; Source: [metacopier.io](https://metacopier.io/); Checked: 21 Sep 2026
- API: [DXtrade APIs](https://openbrokerapi.com/platforms/dxtrade) Unverified; Limit: Not checked Re-tried on 22 Sep 2026: Devexperts' blog on the DXtrade API and a Finance Magnates piece opened but give no rate limit figures, and describe the API as a broker integration suite; the developer portal at demo.dx.trade/developers is a JavaScript shell with no readable content.; Scope: Not stated; Source: Not reachable, page tried: [devexperts.com](https://devexperts.com/blog/dxtrade-api-for-seamless-integration-with-brokerage-infrastructure/); Checked: 22 Sep 2026
- API: [Swissquote](https://openbrokerapi.com/brokers/swissquote) Unverified; Limit: Not checked Re-tried on 22 Sep 2026: the OpenWealth professional trading API page opened but gives no rate limit figures, and the FIX API specification is closed to automated reading by robots.txt, so an absence could not be confirmed.; Scope: Not stated; Source: Not reachable, page tried: [bankingapi.swissquote.ch](https://bankingapi.swissquote.ch/resources/protrading-external-trading-service-api-documentation/ow-professional-trading-api/); Checked: 22 Sep 2026
- API: [CMC Markets](https://openbrokerapi.com/brokers/cmc-markets); Limit: No retail API No retail API; CMC Connect offers market data and execution through FIX API for institutional partners and states no rate limit (read 22 Sep 2026).; Scope: Not stated; Source: [cmcmarkets.com](https://www.cmcmarkets.com/en/connect/solutions/connectivity); Checked: 22 Sep 2026
- API: [Axi](https://openbrokerapi.com/brokers/axi); Limit: No retail API No native API; the help page lists only Autochartist and Trading Central for MT4 and MT5, with no API and no limit (read 22 Sep 2026).; Scope: Not stated; Source: [help.axi.com](https://help.axi.com/hc/en-us/articles/39610002385049-What-other-trading-tools-does-Axi-offer); Checked: 22 Sep 2026
- API: [ThinkMarkets](https://openbrokerapi.com/brokers/thinkmarkets); Limit: No retail API Institutional page offers API solutions through vendors with no protocol, documentation or limit stated (read 22 Sep 2026).; Scope: Not stated; Source: [thinkmarkets.com](https://www.thinkmarkets.com/en/institutional-sales/); Checked: 22 Sep 2026
- API: [FxPro](https://openbrokerapi.com/brokers/fxpro); Limit: 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).; Scope: Not stated; Source: [fxpro.com](https://www.fxpro.com/primebrokerage); Checked: 22 Sep 2026
- API: [Tickmill](https://openbrokerapi.com/brokers/tickmill); Limit: No retail API FIX API offered to large private and institutional clients (minimum balance 500,000, minimum monthly commission 5,000, no demo); no limit stated (read 22 Sep 2026).; Scope: Not stated; Source: [tickmill.com](https://www.tickmill.com/about/faq/do-you-offer-fix-api-connection); Checked: 22 Sep 2026

Deeper references: IBKR Web API websocket topics and pacing, endpoint by endpoint, cTrader Open API limits and every payloadType

## What to do with these numbers

- Read the scope before the number: a limit per IP address, per API key, per session or per connection changes how you split work across scripts.
- Back off on HTTP 429 and wait before retrying, doubling the wait each time.
- Keep one persistent connection where the broker recommends it (OANDA does) instead of opening new ones.
- On IG, allowance errors arrive as error codes such as error.public-api.exceeded-api-key-allowance; the exact HTTP status is not confirmed.

## The backoff loop itself

One helper for any API in the table above that signals a rate limit with HTTP 429. It waits for the seconds in Retry-After when the reply carries one, doubles its own wait when it does not, and gives up after six tries rather than hammering the broker. Nothing is sent from this page.

```
# Back off on 429 and double the wait, which is what the list above asks for.
# Use the seconds in Retry-After when the reply carries one, and our own 1, 2, 4 up to 60
# seconds when it does not. Not every API in the table sends Retry-After.
import time

import requests


def call(method, url, tries=6, **kw):
    delay = 1
    for attempt in range(tries):
        resp = requests.request(method, url, timeout=10, **kw)
        if resp.status_code != 429:
            resp.raise_for_status()
            return resp
        header = resp.headers.get("Retry-After", "")
        wait = min(int(header) if header.strip().isdigit() else delay, 60)
        print("429 on", url, "- waiting", wait, "seconds before try", attempt + 2)
        time.sleep(wait)
        delay = min(delay * 2, 60)
    raise SystemExit("Still rate limited after " + str(tries) + " tries. Lower your request rate.")
```

IG is the exception on this site: it signals an exhausted allowance with an errorCode on HTTP 403 rather than a 429, and publishes no Retry-After, so this loop will never fire against it. [The IG version of this helper](https://openbrokerapi.com/brokers/ig/endpoints) branches on the errorCode instead.

## IG allowances, one row each

IG splits its limits into allowances and returns an errorCode in the body rather than HTTP 429. This table is the full record of IG's limits on this site: one row per limit, with its scope, its source and the date that source was last checked. All five allowances were read on IG's developer FAQ at labs.ig.com/faq on 5 Oct 2026, and the same five values are what every other IG route here states. The record behind them is the ig-published-limits row of the fact register at /facts, which sources all five to the IG Labs FAQ. The three per account figures were withdrawn for the window of record 23 to 30 Sep 2026, while labs.ig.com/faq returned HTTP 500 on robots.txt, and were reinstated by the reading of 30 Sep 2026; that withdrawal is history, not the live reading. IG's own how to use the IG API page states a lower trading figure of around 40 a minute, also checked 5 Oct 2026. That conflict is labelled here and not resolved: pace dealing against 40 and treat 100 as the reference ceiling.

- Allowance: Per application, non trading; Figure: 60 non trading requests a minute per application; Scope: Per API key (per application), non trading calls only; State on 5 Oct 2026: On IG's developer FAQ 60 non trading requests a minute for each application, which means for each API key. Read again in a browser on 12 Oct 2026.; Source and checked: [labs.ig.com/faq](https://labs.ig.com/faq.html) &middot; 12 Oct 2026
- Allowance: Streaming subscriptions; Figure: 40 concurrent streaming subscriptions; Scope: Per streaming connection; State on 5 Oct 2026: On IG's developer FAQ 40 concurrent streaming subscriptions, which the FAQ says to manage by unsubscribing and subscribing as needed; IG's Streaming API Guide gives up to 40 per connection by default and asks you to contact IG to raise it. Both read in a browser on 12 Oct 2026.; Source and checked: [labs.ig.com/faq](https://labs.ig.com/faq.html) &middot; [streaming guide](https://labs.ig.com/streaming-api-guide.html) &middot; 12 Oct 2026
- Allowance: Per account, trading; Figure: 100 trading requests a minute per account, with IG's own how to use page stating a lower figure of around 40; Scope: Per account, trading calls only: creating or amending a position or a working order; State on 5 Oct 2026: Sources conflict Two IG pages give two numbers. The FAQ is the developer reference and states 100 a minute per account; IG's own how to use the IG API page on ig.com is a marketing page and states around 40 a minute. Both were checked on 5 Oct 2026 and neither is withdrawn, so the conflict is labelled rather than resolved and the lower figure is what a limiter should be sized to. This site paces dealing against 40 and treats 100 as the reference ceiling.; Source and checked: [labs.ig.com/faq](https://labs.ig.com/faq.html) &middot; 5 Oct 2026 [ig.com, how to use the IG API](https://www.ig.com/uk/trading-platforms/trading-apis/how-to-use-ig-api) &middot; 5 Oct 2026
- Allowance: Per account, non trading; Figure: 30 non trading requests a minute per account; Scope: Per account, non trading calls only; State on 5 Oct 2026: On IG's developer FAQ 30 non trading requests a minute for each account. Withdrawn for the window of record 23 to 30 Sep 2026 while labs.ig.com/faq would not open, reinstated by the reading of 30 Sep 2026 and still published when the page was checked again on 5 Oct 2026.; Source and checked: [labs.ig.com/faq](https://labs.ig.com/faq.html) &middot; 5 Oct 2026
- Allowance: Historical price data; Figure: 10,000 historical price data points a week; Scope: Per account, historical data only: the price history endpoints; State on 5 Oct 2026: On IG's developer FAQ 10,000 historical price data points a week, which IG applies to the price history endpoints. Withdrawn for the window of record 23 to 30 Sep 2026 while labs.ig.com/faq would not open, reinstated by the reading of 30 Sep 2026 and still published when the page was checked again on 5 Oct 2026. IG's how to use the IG API page names only "a finite weekly limit of datapoints" with no number, checked 5 Oct 2026, so it neither confirms nor contradicts the 10,000.; Source and checked: [labs.ig.com/faq](https://labs.ig.com/faq.html) &middot; 5 Oct 2026

This table is the one canonical record of IG's limits on this site, last checked 5 Oct 2026. Every other IG route here states these same five values, with these scopes and this checked date, and shows fewer rows only where a shorter form is wanted. The matching error strings are error.public-api.exceeded-api-key-allowance, exceeded-account-allowance, exceeded-account-trading-allowance and exceeded-account-historical-data-allowance. [Each one has its own page in the error dictionary](https://openbrokerapi.com/errors/ig). The block cleared. On 30 Sep 2026 labs.ig.com/faq opened and published all four allowances, so the per account figures have a page behind them again, and it opened again on 5 Oct 2026 with the same five figures. The labs.ig.com REST reference, the streaming reference and faq.html all failed on robots.txt with HTTP 500 on each attempt made on them, on 22, 23, 24 and 25 Sep 2026, and no workaround was attempted. That is why the figures were withdrawn. The withdrawal window of record, carried by the fact register, is 23 Sep 2026 to 30 Sep 2026, and the earlier description of it as five days is superseded.

## Rate limits, with the denominator named, read 4 Oct 2026

- API: IG; What the limit is counted against: Per app, and separately per account; Published limits, as the vendor words them: 60 non trading a minute per app, 100 trading a minute per account, 30 non trading a minute per account, 10,000 historical price points a week, 40 concurrent streaming subscriptions. IG's own how to use the IG API page on ig.com separately states around 40 trade requests a minute, which conflicts with the FAQ's 100; this site labels the conflict rather than resolving it and paces dealing against 40; Where the number actually lives: An undated FAQ at labs.ig.com/faq, not the reference. The full record of IG's limits is the table above on this page, last checked 5 Oct 2026
- API: Capital.com; What the limit is counted against: Per user, and per API key on one endpoint; Published limits, as the vendor words them: 10 requests a second per user, 1 per 0.1 seconds per user when opening positions or creating orders, 1 a second per API key on POST /session, 1000 an hour on demo for position and order creation; Where the number actually lives: Published in the reference, version 1.0.0, newest changelog entry 28 Nov 2023
- API: OANDA; What the limit is counted against: Per requesting IP address; Published limits, as the vendor words them: 120 requests a second on REST with HTTP 429 above it, 20 active streams, and no more than 2 new connections a second; Where the number actually lives: The development guide, not the introduction and not the reference. Undated
- API: Saxo Bank; What the limit is counted against: Per application per day, and per session per service group; Published limits, as the vendor words them: 10,000,000 a day per application across all users and sessions, 120 a minute per session per service group, 1 order a second per session, and identical operations rejected inside a rolling 15 second window with HTTP 409; Where the number actually lives: Published on its own rate limiting page, undated
- API: cTrader Open API; What the limit is counted against: Per connection; Published limits, as the vendor words them: 50 requests a second per connection for non historical data, 5 a second for historical data; Where the number actually lives: Published in the Open API help, no version or date, copyright 2025
- API: Interactive Brokers; What the limit is counted against: Per authenticated username; Published limits, as the vendor words them: 10 requests a second globally, /iserver/scanner/params 1 request per 15 minutes, /iserver/marketdata/history capped at 10 a second or 50 a minute since the changelog entry of 9 Sep 2026, and a 10 minute penalty box for offending IP addresses; Where the number actually lives: Published on the Campus Web API page and changelog
- API: eToro; What the limit is counted against: Per user key; Published limits, as the vendor words them: 60 reads a minute, 20 writes or executions a minute, measured over a rolling one minute window, 429 with Retry-After; Where the number actually lives: Published at api-portal.etoro.com/getting-started/rate-limits, undated
- API: Trading 212; What the limit is counted against: Per account, whatever the key or IP; Published limits, as the vendor words them: Per endpoint, for example 50 requests a minute, with all 50 allowed as a burst in the first 5 seconds, and a functional cap of 50 pending orders per ticker per account; Where the number actually lives: Published with headers x-ratelimit-limit, -period, -remaining, -reset, -used; API is in open ended beta
- API: TradeLocker; What the limit is counted against: Per route, value not published; Published limits, as the vendor words them: No numbers published anywhere. The documentation says rate limits vary by route and to call /trade/config/ for specifics; the Developer Program issues a tl-developer-api-key for less restrictive limits; Where the number actually lives: Discoverable only at runtime; docs v1.5, last updated 22 May 2025
- API: Match-Trader; What the limit is counted against: Not published; Published limits, as the vendor words them: No auth method, no rate limits, no version and no dates on the trader API page, which hands the substance to a third party documentation host; Where the number actually lives: No figures published
- API: Deriv; What the limit is counted against: Not published as fixed numbers; Published limits, as the vendor words them: Deriv publishes no fixed per minute limit. A client reads its own allowances at runtime from the website_status call, which returns api_call_limits. The rate limits page at developers.deriv.com/docs/rate-limits answered HTTP 404 on 4 Oct 2026; Where the number actually lives: Runtime only; the documented page is missing

Two readings follow from the right hand column rather than from the numbers. First, the limits that matter most are often not in the reference: IG’s five allowances exist only in an undated FAQ, OANDA’s three live on a development guide the introduction never points at, and TradeLocker’s and Deriv’s exist only at runtime behind a call to the API itself. Second, two of the eleven APIs here, Match-Trader and TradeLocker, publish no number at any address, which means a strategy built against them is pacing against something nobody has committed to in writing.

Sources: [labs.ig.com FAQ](https://labs.ig.com/faq.html) &middot; [open-api.capital.com](https://open-api.capital.com/) &middot; [OANDA development guide](https://developer.oanda.com/rest-live-v20/development-guide/) &middot; [Saxo rate limiting](https://www.developer.saxo/openapi/learn/rate-limiting) &middot; [cTrader Open API help](https://help.ctrader.com/open-api/) &middot; [IBKR Campus Web API](https://www.interactivebrokers.com/campus/ibkr-api-page/webapi-doc/) &middot; [IBKR Web API changelog](https://interactivebrokers.com/campus/ibkr-api-page/web-api-changelog) &middot; [eToro rate limits](https://api-portal.etoro.com/getting-started/rate-limits) &middot; [Trading 212 rate limiting](https://docs.trading212.com/api/section/rate-limiting/how-it-works) &middot; [TradeLocker getting started](https://public-api.tradelocker.com/docs/getting-started) &middot; checked 4 Oct 2026

Independent and unofficial. Not affiliated with, endorsed by or operated by any firm named here.

## OANDA rate limits: the numbers, and the page they are not on, 4 Oct 2026

OANDA does publish request rate limits, and they are not in the place a reader looks first. The v20 introduction and the REST reference carry none, which is the real gap; the numbers are on the development guide, and they were read again there on 4 Oct 2026.

- What is limited: REST API requests; The published limit: 120 requests per second. Excess requests will receive HTTP 429 error; Counted against: The requesting IP address
- What is limited: Streaming API connections; The published limit: 20 active streams. Requests above this threshold will be rejected; Counted against: The requesting IP address
- What is limited: New connections; The published limit: No more than 2 new connections per second. Excess connections will be rejected; Counted against: The client

One more OANDA figure exists and this site already labels it, so it is repeated here rather than left to be found: the best practices page states one hundred requests a second for established connections, against the development guide’s 120 a second per IP address. Both pages are OANDA’s and both are current. This site treats the development guide as the enforced reading because it names the denominator and the HTTP status, and it publishes the disagreement rather than choosing quietly.

What is worth criticising about OANDA’s documentation is therefore narrower and more useful than a missing number. The limits exist and are specific. They are simply not beside the endpoints they constrain, not mentioned in the introduction a reader starts from, and not dated. The introduction also still names a legacy API token with no deprecation date for the legacy API, under a copyright range ending in 2019.

Practical guidance, stated as guidance. Pace REST against 120 a second and remember the denominator is your IP address rather than your account, so a second process on the same host shares your allowance. Hold to 20 active streams and open new connections no faster than two a second. Back off on HTTP 429.

Sources: [OANDA development guide, the page that carries the limits](https://developer.oanda.com/rest-live-v20/development-guide/) &middot; [OANDA v20 introduction, which does not](https://developer.oanda.com/rest-live-v20/introduction/) &middot; checked 4 Oct 2026

Independent and unofficial. Not affiliated with, endorsed by or operated by any firm named here.

## Related pages

- [Getting started with API trading](https://openbrokerapi.com/guides/getting-started-with-api-trading): What an API is, what you need and how to make a first call safely.
- [All guides](https://openbrokerapi.com/guides): Step by step guides, each step with the page it was read on.
- [Brokers](https://openbrokerapi.com/brokers): The record for each broker: access, limits, endpoints and error codes.
- [Platform APIs](https://openbrokerapi.com/platforms): APIs that belong to trading software offered by many brokers.
- [Error codes](https://openbrokerapi.com/errors): What each error means, and the fix where the source gives one.
- [Compare two APIs](https://openbrokerapi.com/compare): The same fields from two records, side by side.
- [Learn to code](https://openbrokerapi.com/learn): A learning track from a first script to a demo account call.

## Licence and how to cite

The records behind this page are all rights reserved. This file is the page itself, at its own address, in another format. It is not part of the CC BY 4.0 downloads listed at https://openbrokerapi.com/data. Quote from it with a link to the page.

Cite as: Broker API rate limits compared. Broker API Hub, https://openbrokerapi.com/guides/rate-limits-survival, newest check 2026-09-24.

Where you rely on a single figure, cite the source and the checked date printed beside it as well. Where this page and a broker's own documentation differ, the documentation wins.
