Interactive Brokers' 2026 TWS API release notes run from 10.43 to 10.51, and two of those releases change how an existing bot behaves. 10.47 removes reqFundamentalData (plus its protobuf siblings, callbacks, and the FUNDAMENTAL_RATIOS = 47 tick type) and adds a setting that prepends a $LEDGER- prefix to per-currency account values, changing the keys returned by reqAccountUpdates and reqAccountUpdatesMulti. 10.49 released the TWS API as open source under the GNU General Public License. As of 2026-10-18 the download page lists 10.50 as stable (Sep 9 2026) and 10.51 as latest (Sep 29 2026), with the Python API still on the latest channel only12. If your bot reads fundamentals or parses per-currency balances, read this before you upgrade. Compare IBKR against other brokers in the Broker API Comparator.

TL;DR

  • Stable: TWS API 10.50 (v1050.02), released Sep 9 20261.
  • Latest: TWS API 10.51 (v1051.01), released Sep 29 2026; the latest channel adds the Python API to the stable languages1.
  • 10.47 removed fundamentals: reqFundamentalData, reqFundamentalsDataProtoBuf, cancelFundamentalData, cancelFundamentalsDataProtoBuf, their callbacks, and tick type FUNDAMENTAL_RATIOS = 472.
  • 10.47 $LEDGER- prefix: a new API setting prepends $LEDGER- to per-currency keys (e.g. $LEDGER-CashBalance); off by default for upgrading users, on for new users; affects reqAccountUpdates / reqAccountUpdatesMulti23.
  • 10.49 went open source under the GPL and added a Settlement Type field to contract details2.
  • 10.48 to 10.51: reqOpenOrders now includes de-activated orders (10.48), orders gain conditionsIncludeOvernight (10.50), and reqPositions reports the right exchange for commodities and CFDs (10.51)2.
  • Rate limits unchanged: market-data lines divided by 2 requests per second (50 on the default 100 lines) and the historical-data pacing rules still hold4.

Version state in October 2026

IBKR runs two parallel channels on the TWS API download page1:

Channel Version Release date API languages
Stable 10.50 (v1050.02) Sep 9 2026 Java, C++, C#/.NET, ActiveX, DDE on Windows; Java and POSIX C++ on Mac/Linux
Latest 10.51 (v1051.01) Sep 29 2026 Above plus Python

Verified 2026-10-181. Both channels are now past 10.47, so its breaking changes reach every client on its next upgrade, whichever channel it follows. IBKR recommends TWS or IB Gateway 1050.02 or higher for full feature support1.

2026 release by release

Version What changed Effect on an existing bot
10.43 Stage orders from the API and submit them from the IBKR mobile app; get-config request/response Additive
10.44 Update-config request/response; fractional last sizes in tickSize Additive, but size handlers must accept fractions
10.45 hedgeMaxSize order parameter; one-time clearing of "Enable ActiveX and Socket Clients" and "Allow connections from localhost only" API connections fail until the settings are re-enabled
10.46 Odd-lot tick types 105–110 and generic tick 787 Additive
10.47 Fundamentals methods removed; $LEDGER- prefix setting Breaking
10.48 reqOpenOrders includes de-activated orders Behaviour change
10.49 Open source under the GPL; Settlement Type in contract details Additive
10.50 conditionsIncludeOvernight on orders; protobuf field descriptions; Excel DDE and portfolio fixes Additive
10.51 reqPositions exchange field fixed for commodities and CFDs Fix

All entries are from IBKR's 2026 production release notes2.

The removed fundamentals API

The clearest break in 10.47 is the deletion of the legacy fundamentals path. Removed methods: reqFundamentalData, reqFundamentalsDataProtoBuf, cancelFundamentalData, and cancelFundamentalsDataProtoBuf, along with the matching callbacks and the FUNDAMENTAL_RATIOS = 47 tick type2. Code calling any of these against a 10.47-or-later client stops returning data. This was a financial-statement and ratio feed (Reuters-sourced), separate from corporate-event data. IBKR's current path for corporate events is the Wall Street Horizon methods reqWshMetaData and reqWshEventData, which cover earnings dates, dividends, splits, and conferences and need the Wall Street Horizon research subscription activated first5. A bot that depended on reqFundamentalData for ratios needs an external fundamentals source after upgrading.

The $LEDGER- per-currency prefix

The second behavior change is opt-in but easy to trip over. 10.47 adds an API setting, "Prepend '$LEDGER-' prefix to per-currency account values"23. It fixes a long-standing ambiguity: a key like CashBalance appeared both at the overall-account level and inside each currency ledger, with no way to tell them apart. With the setting on, per-currency keys become $LEDGER-CashBalance and so on, while account-level keys stay bare23. The default is what bites you: off for upgrading users, on for new users23. Two installs of the same bot can therefore parse different account-value keys depending on install age. Affected calls are reqAccountUpdates and reqAccountUpdatesMulti2.

De-activated orders in reqOpenOrders (10.48)

From 10.48 the reqOpenOrders response includes de-activated orders2. A reconciliation loop that treats every returned order as live can now count orders that will not fill, or try to cancel orders that are already inactive. Filter the response on order status rather than assuming every entry is working.

Open source from 10.49

10.49 released the TWS API under the GNU General Public License, and the download page now carries a Contribute link alongside the installers12. For most bots nothing changes at runtime. The licence matters if you distribute software that embeds the API client, so read the GPL's terms before you ship a closed-source product built on it.

Rate limits in 2026: no change

A frequent question around any API bump is whether the pacing rules moved. For TWS API in 2026 they did not. The request ceiling is still your market-data lines divided by 2 per second: 50 requests per second on the default 100 lines, 100 on 200 lines4. Historical-data pacing is also unchanged: for bars of 30 seconds or less, at most 60 requests in any ten-minute window, no 6+ requests for the same contract, exchange and tick type within 2 seconds, and no identical request repeated within 15 seconds; BID_ASK counts double, and at most 50 historical requests can be open at once4. For the full pacing playbook see IBKR TWS API Rate Limits 2026; for the cost side see Interactive Brokers API Pricing 2026.

Upgrade checklist

  • Re-enable socket clients after any upgrade that passes through 10.45, which clears "Enable ActiveX and Socket Clients" and "Allow connections from localhost only" once2.
  • Audit for reqFundamentalData and its cancel/protobuf variants and the FUNDAMENTAL_RATIOS tick; route those to an external fundamentals feed before moving past 10.462.
  • Pin the $LEDGER- setting explicitly in your build runbook so every install parses the same keys, rather than relying on the upgrade-vs-new default23.
  • Filter reqOpenOrders by status once you are on 10.48 or later2.
  • Re-test account-value parsing against both prefixed and bare keys.
  • No throttle changes to re-tune — the lines-divided-by-2 request ceiling and historical pacing rules carry over from the prior line4.

Verified figures

The 10.50 stable (Sep 9 2026) and 10.51 latest (Sep 29 2026) versions, the Python-on-latest channel split, the 10.43 to 10.51 release-note entries (including the 10.47 fundamentals removal, the $LEDGER- prefix setting and its upgrade-vs-new default, and the 10.49 open-source release), and the unchanged request and historical pacing limits were all verified against IBKR's own pages on 2026-10-18. Prices and per-exchange data subscriptions are not restated here; see the pricing article.

Connects to

References

Footnotes

  1. Interactive Brokers. "TWS API" download page (Stable: 10.50, v1050.02, Release Date Sep 9 2026; Latest: 10.51, v1051.01, Release Date Sep 29 2026; Python included on the latest channel; recommended TWS or IB Gateway 1050.02 or higher). interactivebrokers.github.io, verified 2026-10-18. https://download2.interactivebrokers.com/installers/tws-api/index.html ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7

  2. Interactive Brokers. "Trader Workstation (TWS) 2026 API Production Release Notes" (10.43 mobile order staging and get-config; 10.44 update-config and fractional last sizes; 10.45 hedgeMaxSize and one-time socket-setting reset; 10.46 odd-lot ticks 105–110 and generic tick 787; 10.47 removes reqFundamentalData/reqFundamentalsDataProtoBuf/cancelFundamentalData/cancelFundamentalsDataProtoBuf and the related callbacks and tick type, and adds the "$LEDGER-" per-currency prefix setting, disabled by default for upgrading users and enabled for new users; 10.48 reqOpenOrders includes de-activated orders; 10.49 open source under the GPL and Settlement Type; 10.50 conditionsIncludeOvernight; 10.51 reqPositions exchange-field fix). ibkrguides.com, verified 2026-10-18. https://www.ibkrguides.com/releasenotes/prod-2026.htm ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17

  3. FX News Group. "Interactive Brokers updates TWS API" (10.47: new "Prepend '$LEDGER-' prefix to per-currency account values" setting; keys become e.g. "$LEDGER-CashBalance"; disabled by default for existing users, enabled for new ones). fxnewsgroup.com, verified 2026-10-18. https://fxnewsgroup.com/forex-news/retail-forex/interactive-brokers-updates-tws-api-2/ ↩ ↩2 ↩3 ↩4 ↩5

  4. Interactive Brokers. "TWS API: Pacing Limitations, Introduction" (maximum requests per second = market-data lines / 2; 50 on the default 100 lines) and "TWS API - Historical Data Limitations" (60 requests in any ten-minute period, six or more same-contract requests within two seconds, identical request within 15 seconds, BID_ASK counted twice, 50 maximum simultaneous open requests). interactivebrokers.com and interactivebrokers.github.io, verified 2026-10-18. https://www.interactivebrokers.com/docs/tws-api/doc/pacing-limitations/introduction ↩ ↩2 ↩3 ↩4

  5. Interactive Brokers. "TWS API - Fundamental Data" (corporate events via reqWshMetaData and reqWshEventData; requires the Wall Street Horizon research subscription). interactivebrokers.github.io, verified 2026-10-18. https://interactivebrokers.github.io/tws-api/fundamentals.html ↩

Verified engine output

Show the recompute-verified inputs and outputs
Multi-asset brokers including futures coverage
Inputs
require_futures1
max_auth_complexity5
Result
filters › require optionsfalse
filters › require futurestrue
filters › require cryptofalse
filters › require mcpfalse
filters › require free tierfalse
filters › max auth complexity5
results › row 1 › broker › idibkr
results › row 1 › broker › nameInteractive Brokers
results › row 1 › broker › urlhttps://www.interactivebrokers.com/
results › row 1 › broker › docs urlhttps://www.interactivebrokers.com/en/trading/ib-api.php
results › row 1 › broker › authOAuth + TWS/IB Gateway
results › row 1 › broker › auth complexity5
results › row 1 › broker › order types (10 items)[...]
results › row 1 › broker › rate limitsMarket-data lines / 2 requests per second (50 on the default 100 lines); small-bar history 60 requests per 10 min
results › row 1 › broker › market data › row 1Global equities via subscription bundles
results › row 1 › broker › market data › row 2Level-2 depth on most exchanges
results › row 1 › broker › market data › row 3Historical depth across asset classes
results › row 1 › broker › mcpofficial
results › row 1 › broker › mcp noteOfficial IBKR Connector: remote MCP at api.ibkr.com, IBKR sign-in, one account; drafts trade instructions that you submit as orders yourself
results › row 1 › broker › assets › stockstrue
results › row 1 › broker › assets › optionstrue
results › row 1 › broker › assets › futurestrue
results › row 1 › broker › assets › cryptotrue
results › row 1 › broker › assets › forextrue
results › row 1 › broker › assets › bondstrue
results › row 1 › broker › account minimum0
results › row 1 › broker › commissionTiered per-share or fixed; ~$0.0035/sh tiered
results › row 1 › broker › good forMulti-asset-class, international, scale
results › row 1 › broker › has free tierfalse
results › row 1 › broker › notes › row 1Requires TWS or IB Gateway running locally
results › row 1 › broker › notes › row 2Idempotency via client-supplied orderId
results › row 1 › broker › notes › row 3Fully headless gateway is possible but under-documented
results › row 1 › score2
results › row 1 › max score2
results › row 1 › fitstrue
results › row 2 › broker › idalpaca
results › row 2 › broker › nameAlpaca
results › row 2 › broker › urlhttps://alpaca.markets/
results › row 2 › broker › docs urlhttps://alpaca.markets/docs/
results › row 2 › broker › authAPI Key + Secret
results › row 2 › broker › auth complexity1
results › row 2 › broker › order types (10 items)[...]
results › row 2 › broker › rate limitsTrading API 200 req/min; market data 200/min free, 10,000/min on Algo Trader Plus
results › row 2 › broker › market data › row 1IEX real-time (free)
results › row 2 › broker › market data › row 2Full SIP on Algo Trader Plus ($99/mo)
results › row 2 › broker › market data › row 3Historical bars + trades + quotes
results › row 2 › broker › mcpofficial
results › row 2 › broker › mcp noteOfficial open-source MCP server (V2 rewrite on FastMCP/OpenAPI); data, paper and live trading
results › row 2 › broker › assets › stockstrue
results › row 2 › broker › assets › optionstrue
results › row 2 › broker › assets › futuresfalse
results › row 2 › broker › assets › cryptotrue
results › row 2 › broker › assets › forexfalse
results › row 2 › broker › assets › bondsfalse
results › row 2 › broker › account minimum0
results › row 2 › broker › commission$0 (PFOF on equities)
results › row 2 › broker › good forSolo AI operator, paper-to-live parity
results › row 2 › broker › has free tiertrue
results › row 2 › broker › notes › row 1Free paper trading with same API surface as live
results › row 2 › broker › notes › row 2Real-time OPRA options data needs Algo Trader Plus; Basic gets the indicative feed
results › row 2 › broker › notes › row 3Python/Go SDKs mature; rate-limit backoff documented
results › row 2 › score1
results › row 2 › max score2
results › row 2 › fitsfalse
results › row 2 › fail reasons › row 1Futures
results › row 3 › broker › idtradier
results › row 3 › broker › nameTradier
results › row 3 › broker › urlhttps://tradier.com/
results › row 3 › broker › docs urlhttps://developer.tradier.com/
results › row 3 › broker › authOAuth 2.0
results › row 3 › broker › auth complexity3
results › row 3 › broker › order types (8 items)[...]
results › row 3 › broker › rate limits120 req/min standard and market data, 60 req/min trading (production)
results › row 3 › broker › market data › row 1Real-time equities + options (streaming)
results › row 3 › broker › market data › row 2Historical OHLC back ~5 years
results › row 3 › broker › market data › row 3No Level-2 depth
results › row 3 › broker › mcpofficial
results › row 3 › broker › mcp noteOfficial hosted MCP server (Streamable HTTP, personal API token); market data, accounts and order placement
results › row 3 › broker › assets › stockstrue
results › row 3 › broker › assets › optionstrue
results › row 3 › broker › assets › futuresfalse
results › row 3 › broker › assets › cryptofalse
results › row 3 › broker › assets › forexfalse
results › row 3 › broker › assets › bondsfalse
results › row 3 › broker › account minimum0
results › row 3 › broker › commission$0 equities (PFOF), $0.35/contract options Pro
results › row 3 › broker › good forOptions-first retail, multi-leg strategies
results › row 3 › broker › has free tiertrue
results › row 3 › broker › notes › row 1Free sandbox with delayed data
results › row 3 › broker › notes › row 2Strong options chain + multi-leg order API
results › row 3 › broker › notes › row 3US-only account eligibility
results › row 3 › score1
results › row 3 › max score2
results › row 3 › fitsfalse
results › row 3 › fail reasons › row 1Futures
results › row 4 › broker › idrobinhood
results › row 4 › broker › nameRobinhood
results › row 4 › broker › urlhttps://robinhood.com/
results › row 4 › broker › docs urlhttps://docs.robinhood.com/
results › row 4 › broker › authAPI key (Crypto Trading API); Robinhood sign-in (Trading MCP)
results › row 4 › broker › auth complexity3
results › row 4 › broker › order types › row 1market
results › row 4 › broker › order types › row 2limit
results › row 4 › broker › order types › row 3stop
results › row 4 › broker › order types › row 4stop-limit
results › row 4 › broker › rate limitsNot publicly documented
results › row 4 › broker › market data › row 1Delayed quotes in public tier
results › row 4 › broker › market data › row 2Limited historical depth
results › row 4 › broker › market data › row 3No public Level-2
results › row 4 › broker › mcpofficial
results › row 4 › broker › mcp noteOfficial Robinhood Trading MCP (Agentic Trading): long equities, options and crypto, only in a dedicated agentic account; no multi-leg options
results › row 4 › broker › assets › stockstrue
results › row 4 › broker › assets › optionstrue
results › row 4 › broker › assets › futuresfalse
results › row 4 › broker › assets › cryptotrue
results › row 4 › broker › assets › forexfalse
results › row 4 › broker › assets › bondsfalse
results › row 4 › broker › account minimum0
results › row 4 › broker › commission$0 (PFOF), $5/mo Gold for margin + extras
results › row 4 › broker › good forAgent-driven trading from an existing Robinhood account; no REST API for stocks or options
results › row 4 › broker › has free tiertrue
results › row 4 › broker › notes › row 1Official REST API covers crypto only; stocks and options are reachable only through the Trading MCP
results › row 4 › broker › notes › row 2Trade approvals are off by default for external MCP agents
results › row 4 › broker › notes › row 3Paper trading unavailable
results › row 4 › score1
results › row 4 › max score2
results › row 4 › fitsfalse
results › row 4 › fail reasons › row 1Futures
results › row 5 › broker › idschwab
results › row 5 › broker › nameSchwab
results › row 5 › broker › urlhttps://www.schwab.com/
results › row 5 › broker › docs urlhttps://developer.schwab.com/
results › row 5 › broker › authOAuth 2.0 (3-legged)
results › row 5 › broker › auth complexity4
results › row 5 › broker › order types (9 items)[...]
results › row 5 › broker › rate limits120 req/min for non-order calls per app; order writes 0-120/min per account, set at app registration
results › row 5 › broker › market data › row 1Real-time equities + options quotes
results › row 5 › broker › market data › row 2Historical bars (1m to daily)
results › row 5 › broker › market data › row 3No exchange depth via API
results › row 5 › broker › mcpcommunity
results › row 5 › broker › mcp noteNo official MCP; community servers wrap the Trader API (self-hosted, re-authorize when the 7-day refresh token expires)
results › row 5 › broker › assets › stockstrue
results › row 5 › broker › assets › optionstrue
results › row 5 › broker › assets › futuresfalse
results › row 5 › broker › assets › cryptofalse
results › row 5 › broker › assets › forexfalse
results › row 5 › broker › assets › bondsfalse
results › row 5 › broker › account minimum0
results › row 5 › broker › commission$0 equities, $0.65/contract options
results › row 5 › broker › good forEstablished retail, post-TDA API migration
results › row 5 › broker › has free tiertrue
results › row 5 › broker › notes › row 1API rebuilt after TD Ameritrade integration; still maturing
results › row 5 › broker › notes › row 2Orders cover stocks, ETFs and options; futures and forex trade on thinkorswim, not through the API
results › row 5 › broker › notes › row 3Requires individual developer registration and app review
results › row 5 › broker › notes › row 4Token refresh flow is finicky vs Alpaca/Tradier
results › row 5 › score1
results › row 5 › max score2
results › row 5 › fitsfalse
results › row 5 › fail reasons › row 1Futures
fitting brokers › row 1 › broker › idibkr
fitting brokers › row 1 › broker › nameInteractive Brokers
fitting brokers › row 1 › broker › urlhttps://www.interactivebrokers.com/
fitting brokers › row 1 › broker › docs urlhttps://www.interactivebrokers.com/en/trading/ib-api.php
fitting brokers › row 1 › broker › authOAuth + TWS/IB Gateway
fitting brokers › row 1 › broker › auth complexity5
fitting brokers › row 1 › broker › order types (10 items)[...]
fitting brokers › row 1 › broker › rate limitsMarket-data lines / 2 requests per second (50 on the default 100 lines); small-bar history 60 requests per 10 min
fitting brokers › row 1 › broker › market data › row 1Global equities via subscription bundles
fitting brokers › row 1 › broker › market data › row 2Level-2 depth on most exchanges
fitting brokers › row 1 › broker › market data › row 3Historical depth across asset classes
fitting brokers › row 1 › broker › mcpofficial
fitting brokers › row 1 › broker › mcp noteOfficial IBKR Connector: remote MCP at api.ibkr.com, IBKR sign-in, one account; drafts trade instructions that you submit as orders yourself
fitting brokers › row 1 › broker › assets › stockstrue
fitting brokers › row 1 › broker › assets › optionstrue
fitting brokers › row 1 › broker › assets › futurestrue
fitting brokers › row 1 › broker › assets › cryptotrue
fitting brokers › row 1 › broker › assets › forextrue
fitting brokers › row 1 › broker › assets › bondstrue
fitting brokers › row 1 › broker › account minimum0
fitting brokers › row 1 › broker › commissionTiered per-share or fixed; ~$0.0035/sh tiered
fitting brokers › row 1 › broker › good forMulti-asset-class, international, scale
fitting brokers › row 1 › broker › has free tierfalse
fitting brokers › row 1 › broker › notes › row 1Requires TWS or IB Gateway running locally
fitting brokers › row 1 › broker › notes › row 2Idempotency via client-supplied orderId
fitting brokers › row 1 › broker › notes › row 3Fully headless gateway is possible but under-documented
fitting brokers › row 1 › score2
fitting brokers › row 1 › max score2
fitting brokers › row 1 › fitstrue

Computed live at build time.

Frequently asked questions

What is the latest Interactive Brokers TWS API version in 2026?
TWS API 10.51 (v1051.01), released Sep 29 2026, is the latest channel and includes the Python API. The stable channel is 10.50 (v1050.02), released Sep 9 2026 (verified 2026-10-18).
What did TWS API 10.47 remove?
It removed the legacy fundamentals path: reqFundamentalData, reqFundamentalsDataProtoBuf, cancelFundamentalData, cancelFundamentalsDataProtoBuf, their callbacks, and the FUNDAMENTAL_RATIOS = 47 tick type. Code calling these stops returning data on a 10.47-or-later client, which now includes both the stable and latest channels.
What is the $LEDGER- prefix in TWS API 10.47?
A new API setting that prepends $LEDGER- to per-currency account-value keys (e.g. $LEDGER-CashBalance) so they are distinct from account-level keys. It is off by default for upgrading users and on for new users, and it affects reqAccountUpdates and reqAccountUpdatesMulti.
Is the TWS API open source?
Yes, from 10.49. Interactive Brokers released the TWS API as open source under the GNU General Public License, and the download page now links to a contribution path. Check the licence terms if you distribute software that embeds the API client.
Did the IBKR API rate limits change in the 2026 updates?
No. The request ceiling of market-data lines divided by 2 per second (50 on the default 100 lines) and the historical-data pacing rules (60 per 10 minutes, 6 per 2 seconds for the same contract, no identical request within 15 seconds, BID_ASK counted double, 50 simultaneous open requests) carry over unchanged (verified 2026-10-18).