Broker API HubMenu

Interactive Brokers vs IG API

The same fields from the Interactive Brokers record and the IG 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.

Interactive Brokers and IG, field by field

FieldInteractive BrokersIG
KindBroker with its own APIBroker with its own API
API familyTWS API (TCP socket), REST (Client Portal Web API), WebSocketREST, Streaming
How you get accessNo 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 API keys are only issued to existing live account holders: generate one in My IG > Settings > API keys.How to use IG APIchecked
Who can use itOpen, 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 Spread bet and CFD accounts only. Share dealing, ISA and SIPP are not supported (error stockbroking-not-supported).trading-ig FAQ (community source)checked
DemoPartial: 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 Partial: demo API works, but no key from a standalone demo account unless it is linked to a live account.How to use IG APIchecked
AuthenticationTWS 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 API key plus username and password returns CST and X-SECURITY-TOKEN, valid 12 hours on a rolling basis with each call resetting the clock on the IG Labs FAQ, while IG's REST trading API guide says 6 hours at first, extended up to a maximum of 72 hours: a disagreement between two IG pages that the blocked reference page could not settle on 23 Sep 2026. The v3 OAuth access token lasts as long as the login response says, with a refresh token that expires later. All tokens are invalidated during weekend maintenance.Sources conflict IG Labs FAQ: 12 hours between calls, reset by each call. IG Labs REST trading API guide: 6 hours at first, extended up to 72 hours while in use.IG Labs REST trading API guidechecked
StreamingTWS 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 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 guide asks you to contact IG to raise that quota and the FAQ says to manage it by unsubscribing and subscribing as needed; both warn that opening extra connections to get past it may cost you the API key or your API permissions. The streaming API does not take OAuth tokens, only the CST and X-SECURITY-TOKEN pair.IG Labs Streaming API Guidechecked
History depthBars 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 Up to 20 years of price history depending on resolution; 10,000 historical data points per week. Transactions and activity history are paged.IG: How to use IG APIchecked
Limits
  • 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
  • Historical price data points a week: 10,000. Per account, price history endpoints onlylabs.ig.comchecked
  • Non trading requests a minute: 30. Per account, non trading calls onlylabs.ig.comchecked
  • Non trading requests a minute: 60. Per application, that is per API key, non trading calls onlylabs.ig.comchecked
  • Concurrent streaming subscriptions: 40. Per streaming connectionlabs.ig.comchecked
  • Trading requests a minute: 100. Per account, trading calls only Sources conflictlabs.ig.comchecked
Endpoints documented here2349
Error codes decoded here511132
Official documentationinteractivebrokers.comlabs.ig.com

Go deeper on each side

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