Broker API HubMenu

cTrader vs Interactive Brokers API

The same fields from the cTrader Open API record and the Interactive Brokers record, side by side. No winner is picked: which one suits you depends on what you are building.

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.

What the two records show

Differences you can see in the records themselves. These are counts of what this site holds, not a verdict on either API.

cTrader Open API and Interactive Brokers, field by field

FieldcTrader Open APIInteractive Brokers
KindPlatform API, offered by many brokersBroker with its own API
API familyProtobuf over TCP/WebSocket, JSON over TCP/WebSocket, Python package, C# packageTWS API (TCP socket), REST (Client Portal Web API), WebSocket
How you get accessRegister an app at openapi.ctrader.com; Spotware reviews new apps, so describe your use case in detail.Creating a new applicationchecked No key: run TWS or IB Gateway (TWS API) or the Client Portal Gateway and log in via browser (Web API).IBKR TWS API documentation, the IB Gatewaychecked
Who can use itSupported by all trading accounts of any cTrader affiliated brokers by default, which means both demo and live accounts.cTrader Open APIchecked Open, funded IBKR Pro account. The Web API supports only IBKR Pro accounts, and the TWS API lists a funded and opened IBKR Pro account among its requirements.IBKR Web API v1.0 documentation, requirements and limitationschecked
DemoYes: separate demo endpoint; demo and live environments are fully separated.Proxies and endpointschecked Partial: paper trading accounts are supported and the Web API is logged in to with a separate paper username; demo accounts cannot subscribe to data.IBKR Web API documentation, using a paper accountchecked
AuthenticationOAuth 2.0 authorisation code flow: the auth code lives 1 minute, the access token 30 days. Scopes are accounts, which is read only, and trading, which is full.Account authenticationchecked TWS API: local socket to a TWS or IB Gateway the user has logged in to by hand. Web API: Client Portal Gateway with a browser login on the same machine; the Web API also lists OAuth 1.0a, OAuth 2.0 and SSO, and IBKR's older use cases page gives OAuth as the route for institutional clients.IBKR TWS API documentation, the IB Gatewaychecked
StreamingYes: 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. Spotware recommends at most two connections, one demo and one live, each carrying an unlimited number of accounts of that type.Messageschecked TWS API is event driven over the socket. The Web API websocket is at /v1/api/ws (wss://localhost:5000/v1/api/ws through the gateway): the number of market data subscriptions depends on the account's market data lines, 100 by default, a market data stream ends after 15 minutes unless it is requested again, and at most 5 historical data requests run at once.IBKR Web API v1.0 documentation, websockets introductionchecked
History depthTrend bars and ticks by from/to timestamp with optional count; deals by range with maxRows. Cash flow history max 1 week per request.Spotware OpenApiMessages.protochecked Bars of 30 seconds or less are not available beyond six months, and expired futures not beyond two years from expiry. IBKR's current TWS API documentation, read on 12 Oct 2026, counts three pacing violations for bars of 30 seconds or less: an identical historical data request within 15 seconds, six or more requests for the same contract, exchange and tick type within two seconds, and more than 60 requests in any ten minute period, with a BID_ASK request counted twice. The Web API endpoint /iserver/marketdata/history has its own published pacing of 10 requests a second or 50 a minute. Executions: since midnight by default, up to 7 days in TWS if its Trade Log setting is changed, and the current day only in IB Gateway.IBKR TWS API documentation, unavailable historical datachecked
Limits
  • Requests a second, not historical data: 50. Per connection, requests that are not for historical datahelp.ctrader.comchecked
  • Requests a second, historical data: 5. Per connection, historical data requests onlyhelp.ctrader.comchecked
  • Global requests a second (Web API): 10. Per authenticated username, that is per Web API sessionibkrcampus.comchecked
  • Historical market data requests: Either 10 req/s or 50 req/minute, as the page words it. GET /iserver/marketdata/history onlyinteractivebrokers.comchecked
  • Market data snapshot requests a second: 10. GET /iserver/marketdata/snapshot onlyinteractivebrokers.comchecked
  • Order and trade list requests: 1 req/5 s. GET /iserver/orders and GET /iserver/trades, each counted on its owninteractivebrokers.comchecked
  • Session validation requests a minute: 1. GET /sso/validate onlyinteractivebrokers.comchecked
  • Session keep alive requests a second: 1. GET /tickle onlyinteractivebrokers.comchecked
Endpoints documented hereNone yet23
Error codes decoded here53511
Official documentationhelp.ctrader.cominteractivebrokers.com

Go deeper on each side

All comparisons. New to this? Getting started with API trading.