# Interactive Brokers API

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/brokers/ibkr, 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.

TWS API (socket via TWS or IB Gateway), and a single IBKR Web API that IBKR is folding Client Portal Web API, Digital Account Management and the Flex Web Service into.

- Kind: Broker API
- Newest reading: 2026-10-12
- Official documentation: [interactivebrokers.com](https://www.interactivebrokers.com/docs/tws-api/doc/introduction)
- Everything recorded for Interactive Brokers, as one JSON file: https://openbrokerapi.com/data/brokers/ibkr.json
- Quickstart, key to first call: https://openbrokerapi.com/brokers/ibkr/quickstart

## Interactive Brokers API rate limits and allowances

One record per limit. The scope is part of the limit: a figure without its scope is not a figure you can pace against.

- Global requests a second (Web API): 10 requests per second
  - Scope: Per authenticated username, that is per Web API session
  - Status: verified. Source: [ibkrcampus.com](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/), checked 2026-10-12.
  - Corroborated by [interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations)
  - Note: Client Portal Web API. Some endpoints carry their own lower limit, held in separate records. A breach returns HTTP 429, and both IBKR pages read on 12 Oct 2026 give a penalty box of 10 minutes for a violating IP address.
- Historical market data requests: Either 10 req/s or 50 req/minute, as the page words it
  - Scope: GET /iserver/marketdata/history only
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Corroborated by [ibkrcampus.com/campus/ibkr-api-page/webapi-doc/](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/)
  - Note: The page gives two figures joined by or and does not say which applies when, so no single number is recorded. The IBKR Campus page also lists 5 concurrent requests for this endpoint.
- Market data snapshot requests a second: 10 requests per second
  - Scope: GET /iserver/marketdata/snapshot only
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Corroborated by [ibkrcampus.com/campus/ibkr-api-page/webapi-doc/](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/)
- Order and trade list requests: 1 req/5 s
  - Scope: GET /iserver/orders and GET /iserver/trades, each counted on its own
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Corroborated by [ibkrcampus.com/campus/ibkr-api-page/webapi-doc/](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/)
  - Note: The same figure applies to /iserver/account/pnl/partitioned, /portfolio/accounts and /portfolio/subaccounts. The window is 5 seconds, which a single unit cannot state, so the figure stays as wording.
- Session validation requests a minute: 1 requests per minute
  - Scope: GET /sso/validate only
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Corroborated by [ibkrcampus.com/campus/ibkr-api-page/webapi-doc/](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/)
- Session keep alive requests a second: 1 requests per second
  - Scope: GET /tickle only
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Corroborated by [ibkrcampus.com/campus/ibkr-api-page/webapi-doc/](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/)

[Interactive Brokers API rate limits in full](https://openbrokerapi.com/brokers/ibkr/rate-limits), with the related error codes.

## Access, authentication and streaming

- How you get a key: No key: run TWS or IB Gateway (TWS API) or the Client Portal Gateway and log in via browser (Web API).
  - Status: verified. Source: [IBKR TWS API documentation, the IB Gateway](https://www.interactivebrokers.com/docs/tws-api/doc/architecture/the-trader-workstation/the-ib-gateway), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API documentation, Client Portal Gateway installation and authentication](https://www.interactivebrokers.com/docs/web-api/authentication/cpgw/installation-authentication), checked 2026-10-12.
- Who can use it: 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.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, requirements and limitations](https://www.interactivebrokers.com/docs/web-api/v1/requirements-limitations/introduction), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, introduction](https://www.interactivebrokers.com/docs/web-api/v1/introduction), checked 2026-10-12.
  - Status: verified. Source: [IBKR TWS API documentation, requirements](https://www.interactivebrokers.com/docs/tws-api/doc/notes-limitations/requirements), checked 2026-10-12.
- Demo: 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.
  - Status: verified. Source: [IBKR Web API documentation, using a paper account](https://www.interactivebrokers.com/docs/web-api/authentication/paper), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, requirements and limitations](https://www.interactivebrokers.com/docs/web-api/v1/requirements-limitations/introduction), checked 2026-10-12.
- Authentication: 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.
  - Status: verified. Source: [IBKR TWS API documentation, the IB Gateway](https://www.interactivebrokers.com/docs/tws-api/doc/architecture/the-trader-workstation/the-ib-gateway), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API documentation, limitations of the Client Portal Gateway](https://www.interactivebrokers.com/docs/web-api/authentication/cpgw/limitations-of-the-client-portal-gateway), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, introduction](https://www.interactivebrokers.com/docs/web-api/v1/introduction), checked 2026-10-12.
  - Status: verified. Source: [Client Portal API documentation, use cases (IBKR GitHub pages)](https://interactivebrokers.github.io/cpwebapi/use-cases), checked 2026-10-12.
- Streaming: 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.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, websockets introduction](https://www.interactivebrokers.com/docs/web-api/v1/ws/introduction), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, websocket market data request](https://www.interactivebrokers.com/docs/web-api/v1/ws/market-data/market-data-request), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, websocket historical market data request](https://www.interactivebrokers.com/docs/web-api/v1/ws/market-data/historical-market-data-request), checked 2026-10-12.
  - Status: verified. Source: [IBKR Campus: Web API documentation](https://www.interactivebrokers.com/campus/ibkr-api-page/webapi-doc/), checked 2026-10-12.
- History depth: 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.
  - Status: verified. Source: [IBKR TWS API documentation, unavailable historical data](https://www.interactivebrokers.com/docs/tws-api/doc/market-data-historical/historical-data-limitations/unavailable-historical-data), checked 2026-10-12.
  - Status: verified. Source: [IBKR TWS API documentation, pacing violations for small bars](https://www.interactivebrokers.com/docs/tws-api/doc/market-data-historical/historical-data-limitations/pacing-violations-for-small-bars-30-secs-or-less), checked 2026-10-12.
  - Status: verified. Source: [IBKR TWS API documentation, execution details](https://www.interactivebrokers.com/docs/tws-api/doc/order-management/execution-details/introduction), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, pacing limitations](https://www.interactivebrokers.com/docs/web-api/v1/pacing-limitations), checked 2026-10-12.
- Rate limits, as worded: Web API: 10 requests a second for each authenticated username, which IBKR equates with each Web API session, and the same figure through the Client Portal Gateway. Some endpoints carry their own limit: /iserver/marketdata/snapshot 10 a second; /iserver/marketdata/history 10 a second or 50 a minute, with 5 concurrent requests; /iserver/orders and /iserver/trades 1 per 5 seconds; /iserver/scanner/params 1 per 15 minutes; /tickle 1 a second; /sso/validate 1 a minute. A breach returns HTTP 429. The two IBKR pages cited first, read on 12 Oct 2026, say a violating IP address may be put in a penalty box for 10 minutes and that repeat violators may be blocked permanently until the issue is resolved. IBKR's Web API v1.0 pacing page, read the same day, says 15 minutes. TWS API, read again on 12 Oct 2026: the maximum is market data lines divided by two, per second, so the default 100 lines gives 50 requests a second, and for more than that IBKR suggests its FIX API.
  - Status: verified. Source: [IBKR Web API, pacing limitations](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
  - Status: verified. Source: [IBKR Campus, Web API documentation](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/), checked 2026-10-12.
  - Status: verified. Source: [IBKR Web API v1.0 documentation, pacing limitations](https://www.interactivebrokers.com/docs/web-api/v1/pacing-limitations), checked 2026-10-12.
  - Status: verified. Source: [IBKR TWS API: pacing limitations](https://www.interactivebrokers.com/docs/tws-api/doc/pacing-limitations/introduction), checked 2026-10-12.

## Interactive Brokers API endpoints

23 documented endpoints. [Grouped by what they do](https://openbrokerapi.com/brokers/ibkr/endpoints).

- [DELETE /iserver/account/{accountId}/order/{orderId}](https://openbrokerapi.com/brokers/ibkr/endpoints/cancel-order): Cancels an existing order that has not filled.
- [POST /iserver/account/{accountId}/order/{orderId}](https://openbrokerapi.com/brokers/ibkr/endpoints/modify-order): Changes an existing order that has not filled. Send the whole ticket with the new values.
- [POST /iserver/account/{accountId}/orders](https://openbrokerapi.com/brokers/ibkr/endpoints/place-order): Submits an order ticket, a bracket or an OCA group. The reply is either the order ID or a question you must confirm with POST /iserver/reply/{replyId}.
- [POST /iserver/account/{accountId}/orders/whatif](https://openbrokerapi.com/brokers/ibkr/endpoints/order-whatif): Projects the effect of an order before you send it: cost, change to equity, initial and maintenance margin, and position.
- [GET /iserver/account/order/status/{orderId}](https://openbrokerapi.com/brokers/ibkr/endpoints/order-status): Status of one order from the current brokerage session: side, type, size, filled amount and account.
- [GET /iserver/account/orders](https://openbrokerapi.com/brokers/ibkr/endpoints/live-orders): Open orders, plus orders filled or cancelled during the current brokerage session.
- [GET /iserver/account/pnl/partitioned](https://openbrokerapi.com/brokers/ibkr/endpoints/pnl-partitioned): Updated profit and loss for the selected account, keyed by account and segment. The first request returns an empty upnl object.
- [GET /iserver/account/trades](https://openbrokerapi.com/brokers/ibkr/endpoints/trades): Executions from the last 7 days at most, with symbol, side, size, price, commission and time.
- [GET /iserver/accounts](https://openbrokerapi.com/brokers/ibkr/endpoints/iserver-accounts): The accounts you can trade, their aliases and the currently selected account. IBKR says to call it before the market data snapshot.
- [POST /iserver/auth/ssodh/init](https://openbrokerapi.com/brokers/ibkr/endpoints/ssodh-init): Starts the brokerage session. IBKR documents it for OAuth users after the access token and live session token steps.
- [POST /iserver/auth/status](https://openbrokerapi.com/brokers/ibkr/endpoints/auth-status): Whether your brokerage session is authenticated, fully established and free of a competing session. Call it after you log in through the gateway.
- [GET /iserver/contract/{conid}/info](https://openbrokerapi.com/brokers/ibkr/endpoints/contract-info): Full contract details for a conid: symbol, instrument type, currency, exchange, trading class and whether it can be smart routed.
- [GET /iserver/marketdata/history](https://openbrokerapi.com/brokers/ibkr/endpoints/marketdata-history): OHLC bars for a contract over a period, with bar size, start time, data source and outside hours option.
- [GET /iserver/marketdata/snapshot](https://openbrokerapi.com/brokers/ibkr/endpoints/marketdata-snapshot): Top of book values for one or more contracts, such as last (31), bid (84) and ask (86). The first request only starts the data.
- [POST /iserver/reply/{replyId}](https://openbrokerapi.com/brokers/ibkr/endpoints/order-reply): Answers a warning that came back from an order submission and continues with the order. The answer can bring another question.
- [GET /iserver/secdef/info](https://openbrokerapi.com/brokers/ibkr/endpoints/secdef-info): Attributes of an instrument, mainly for derivatives: ticker, exchanges, currency, maturity, right and strike.
- [GET /iserver/secdef/search](https://openbrokerapi.com/brokers/ibkr/endpoints/secdef-search): Finds contracts for a symbol and returns their contract IDs (conid), which every market data and order call needs.
- [POST /logout](https://openbrokerapi.com/brokers/ibkr/endpoints/logout): Logs you out of the gateway session. Any further call needs a new login, and IBKR says to discard client side cookies.
- [GET /portfolio/{accountId}/ledger](https://openbrokerapi.com/brokers/ibkr/endpoints/portfolio-ledger): Cash balance, net liquidation and profit and loss for each currency the account holds, plus a BASE total.
- [GET /portfolio/{accountId}/positions/{pageId}](https://openbrokerapi.com/brokers/ibkr/endpoints/portfolio-positions): All positions in an account, one page at a time, with size, market price, market value and unrealised profit and loss.
- [GET /portfolio/{accountId}/summary](https://openbrokerapi.com/brokers/ibkr/endpoints/portfolio-summary): Account values such as net liquidation, available funds, buying power and margin, by segment where it applies.
- [GET /portfolio/accounts](https://openbrokerapi.com/brokers/ibkr/endpoints/portfolio-accounts): Your accounts with ID, title, base currency and type, for the portfolio endpoints.
- [POST /tickle](https://openbrokerapi.com/brokers/ibkr/endpoints/tickle): Pings the server so the session does not time out. IBKR expects a call about every 60 seconds.

## Interactive Brokers API error codes

511 decoded error codes. [All Interactive Brokers errors](https://openbrokerapi.com/errors/ibkr).

- [0](https://openbrokerapi.com/errors/ibkr/0-internal-server-error): Listed by the vendor as "Internal server error".
- [100](https://openbrokerapi.com/errors/ibkr/100-max-message-rate-exceeded): Max rate of messages per second has been exceeded.
- [10000](https://openbrokerapi.com/errors/ibkr/10000-cross-currency-combo): Listed by the vendor as "Cross currency combo error".
- [10001](https://openbrokerapi.com/errors/ibkr/10001-cross-currency-vol): Listed by the vendor as "Cross currency vol error".
- [10002](https://openbrokerapi.com/errors/ibkr/10002-non-guaranteed-legs): Listed by the vendor as "Invalid non-guaranteed legs".
- [10003](https://openbrokerapi.com/errors/ibkr/10003-ibsx-not-allowed): Listed by the vendor as "IBSX not allowed".
- [10005](https://openbrokerapi.com/errors/ibkr/10005-read-only-models): Listed by the vendor as "Read-only models".
- [10006](https://openbrokerapi.com/errors/ibkr/10006-missing-parent-order): Listed by the vendor as "Missing parent order".
- [10007](https://openbrokerapi.com/errors/ibkr/10007-invalid-hedge-type): Listed by the vendor as "Invalid hedge type".
- [10008](https://openbrokerapi.com/errors/ibkr/10008-invalid-beta-value): Listed by the vendor as "Invalid beta value".
- [10009](https://openbrokerapi.com/errors/ibkr/10009-invalid-hedge-ratio): Listed by the vendor as "Invalid hedge ratio".
- [10010](https://openbrokerapi.com/errors/ibkr/10010-invalid-delta-hedge-order): Listed by the vendor as "Invalid delta hedge order".
- [10011](https://openbrokerapi.com/errors/ibkr/10011-currency-smart-combo): Listed by the vendor as "Currency is not supported for Smart combo".
- [10012](https://openbrokerapi.com/errors/ibkr/10012-invalid-allocation-percent): Listed by the vendor as "Invalid allocation percentage".
- [10013](https://openbrokerapi.com/errors/ibkr/10013-smart-routing-api-error): Listed by the vendor as "Smart routing API error (Smart routing opt-out required)".
- [10014](https://openbrokerapi.com/errors/ibkr/10014-pctchange-limits): Listed by the vendor as "PctChange limits".
- [10015](https://openbrokerapi.com/errors/ibkr/10015-trading-not-allowed-in-api): Listed by the vendor as "Trading is not allowed in the API".
- [10016](https://openbrokerapi.com/errors/ibkr/10016-contract-not-visible): Listed by the vendor as "Contract is not visible".
- [10017](https://openbrokerapi.com/errors/ibkr/10017-contracts-not-visible): Listed by the vendor as "Contracts are not visible".
- [10018](https://openbrokerapi.com/errors/ibkr/10018-orders-use-ev-warning): Listed by the vendor as "Orders use EV warning".
- [10019](https://openbrokerapi.com/errors/ibkr/10019-trades-use-ev-warning): Listed by the vendor as "Trades use EV warning".
- [10020](https://openbrokerapi.com/errors/ibkr/10020-display-size-order-size): Interactive Brokers lists TWS API message code 10020 with the text "Display size should be smaller than order size." (the vendor's wording).
- [10021](https://openbrokerapi.com/errors/ibkr/10021-invalid-leg2-mkt-offset): Listed by the vendor as "Invalid leg2 to Mkt Offset API".
- [10022](https://openbrokerapi.com/errors/ibkr/10022-invalid-leg-prio): Listed by the vendor as "Invalid Leg Prio API".
- [10023](https://openbrokerapi.com/errors/ibkr/10023-invalid-combo-display-size): Listed by the vendor as "Invalid combo display size API".
- [10024](https://openbrokerapi.com/errors/ibkr/10024-invalid-dont-start-next): Listed by the vendor as "Invalid don't start next legin API".
- [10025](https://openbrokerapi.com/errors/ibkr/10025-invalid-leg2-mkt-time1): Listed by the vendor as "Invalid leg2 to Mkt time1 API".
- [10026](https://openbrokerapi.com/errors/ibkr/10026-invalid-leg2-mkt-time2): Listed by the vendor as "Invalid leg2 to Mkt time2 API".
- [10027](https://openbrokerapi.com/errors/ibkr/10027-invalid-combo-routing-tag): Listed by the vendor as "Invalid combo routing tag API".
- [10089](https://openbrokerapi.com/errors/ibkr/10089-api-data-requires): Listed by the vendor as "API data requires subscription".
- [10090](https://openbrokerapi.com/errors/ibkr/10090-part-data-not-subscribed): Listed by the vendor as "Part of requested market data is not subscribed".
- [10091](https://openbrokerapi.com/errors/ibkr/10091-part-of-requested): Listed by the vendor as "Part of requested market data requires additional subscription for API".
- [101](https://openbrokerapi.com/errors/ibkr/101-max-tickers-reached): Listed by the vendor as "Max number of tickers has been reached".
- [10147](https://openbrokerapi.com/errors/ibkr/10147-order-to-be): Listed by the vendor as "Order to be canceled was not found".
- [10148](https://openbrokerapi.com/errors/ibkr/10148-order-cannot-be-cancelled): Listed by the vendor as "OrderId \<OrderId> that needs to be cancelled can not be cancelled, state:".
- [10186](https://openbrokerapi.com/errors/ibkr/10186-data-not-subscribed-delayed): Listed by the vendor as "Requested market data is not subscribed.
- [10187](https://openbrokerapi.com/errors/ibkr/10187-failed-to-request): Listed by the vendor as "Failed to request historical ticks:No market data permissions".
- [10189](https://openbrokerapi.com/errors/ibkr/10189-failed-to-request): Listed by the vendor as "Failed to request tick-by-tick data.
- [10197](https://openbrokerapi.com/errors/ibkr/10197-no-data-competing-session): Listed by the vendor as "No market data during competing session".
- [102](https://openbrokerapi.com/errors/ibkr/102-duplicate-ticker-id): Listed by the vendor as "Duplicate ticker ID".
- [10213](https://openbrokerapi.com/errors/ibkr/10213-regulatory-snapshot-restricted): TWS API error 10213 begins "API access is restricted on regulatory snapshot for".
- [10225](https://openbrokerapi.com/errors/ibkr/10225-bust-event-occurred): Listed by the vendor as "Bust event occurred, current subscription is deactivated.
- [10230](https://openbrokerapi.com/errors/ibkr/10230-unsaved-fa-changes): Listed by the vendor as "You have unsaved FA changes.
- [10231](https://openbrokerapi.com/errors/ibkr/10231-groups-invalid-accounts): Listed by the vendor as "The following Groups and/or Profiles contain invalid accounts: \<list of groups/profiles>".
- [10233](https://openbrokerapi.com/errors/ibkr/10233-defaults-from-cash-preset): Listed by the vendor as "Defaults were inherited from CASH preset during the creation of this order".
- [10234](https://openbrokerapi.com/errors/ibkr/10234-decision-maker-non-desktop): Listed by the vendor as "The Decision Maker field is required and not set for this order (non-desktop)".
- [10235](https://openbrokerapi.com/errors/ibkr/10235-decision-maker-ibbot): Listed by the vendor as "The Decision Maker field is required and not set for this order (ibbot)".
- [10236](https://openbrokerapi.com/errors/ibkr/10236-child-aon-if-parent-aon): Listed by the vendor as "Child has to be AON if parent order is AON".
- [10237](https://openbrokerapi.com/errors/ibkr/10237-aon-entire-unfilled-size): Listed by the vendor as "All or None ticket can route entire unfilled size only".
- [10238](https://openbrokerapi.com/errors/ibkr/10238-advisor-setup-web-app): Listed by the vendor as "Some error occured during communication with Advisor Setup web-app".
- [10239](https://openbrokerapi.com/errors/ibkr/10239-risk-score-criteria): Listed by the vendor as "This order will affect one or more accounts that are flagged because they do not fit the required risk score criteria prescribed by the group/profile/model allocation".
- [10240](https://openbrokerapi.com/errors/ibkr/10240-valid-price-cap): Listed by the vendor as "You must enter a valid Price Cap".
- [10241](https://openbrokerapi.com/errors/ibkr/10241-monetary-quantity-modify): Listed by the vendor as "Order Quantity is expressed in monetary terms.
- [10242](https://openbrokerapi.com/errors/ibkr/10242-fractional-order-modify): Listed by the vendor as "Fractional-sized order cannot be modified via API.
- [10243](https://openbrokerapi.com/errors/ibkr/10243-fractional-order-place): Listed by the vendor as "Fractional-sized order cannot be placed via API.
- [10244](https://openbrokerapi.com/errors/ibkr/10244-cash-quantity-not-allowed): Listed by the vendor as "Cash Quantity cannot be used for this order".
- [10245](https://openbrokerapi.com/errors/ibkr/10245-no-fractional-instrument): Listed by the vendor as "This financial instrument does not support fractional shares trading".
- [10246](https://openbrokerapi.com/errors/ibkr/10246-order-no-fractional): Listed by the vendor as "This order doesn't support fractional shares trading".
- [10247](https://openbrokerapi.com/errors/ibkr/10247-fractional-smartrouting): Listed by the vendor as "Only IB SmartRouting supports fractional shares".
- [10248](https://openbrokerapi.com/errors/ibkr/10248-no-fractional-permission): Listed by the vendor as "\<Account> doesn't have permission to trade fractional shares".
- [10249](https://openbrokerapi.com/errors/ibkr/10249-order-type-no-fractional): Interactive Brokers lists TWS API message code 10249 with a text that names the order type and then says it "doesn't support fractional shares" (the vendor's wording).
- [10250](https://openbrokerapi.com/errors/ibkr/10250-size-minimum-variation): Listed by the vendor as "The size does not conform to the minimum variation of for this contract".
- [10251](https://openbrokerapi.com/errors/ibkr/10251-fractional-allocation): Listed by the vendor as "Fractional shares are not supported for allocation orders".
- [10252](https://openbrokerapi.com/errors/ibkr/10252-non-close-no-fractional): Listed by the vendor as "This non-close-position order doesn't support fractional shares trading".
- [10253](https://openbrokerapi.com/errors/ibkr/10253-clear-away-combo-hedge): Listed by the vendor as "Clear Away orders are not supported for multi-leg combo with attached hedge".
- [10254](https://openbrokerapi.com/errors/ibkr/10254-bond-expired): Listed by the vendor as "Invalid Order: bond expired".
- [10268](https://openbrokerapi.com/errors/ibkr/10268-etradeonly-attribute): Listed by the vendor as "The 'EtradeOnly' order attribute is not supported".
- [10269](https://openbrokerapi.com/errors/ibkr/10269-firmquoteonly-attribute): Listed by the vendor as "The 'firmQuoteOnly' order attribute is not supported".
- [10270](https://openbrokerapi.com/errors/ibkr/10270-nbbopricecap-attribute): Listed by the vendor as "The 'nbboPriceCap' order attribute is not supported".
- [10276](https://openbrokerapi.com/errors/ibkr/10276-news-feed-not-allowed): Listed by the vendor as "News feed is not allowed".
- [10277](https://openbrokerapi.com/errors/ibkr/10277-news-feed-permissions): Listed by the vendor as "News feed permissions required".
- [10278](https://openbrokerapi.com/errors/ibkr/10278-duplicate-wsh-metadata): Listed by the vendor as "Duplicate WSH metadata request".
- [10279](https://openbrokerapi.com/errors/ibkr/10279-failed-wsh-metadata): Listed by the vendor as "Failed request WSH metadata".
- [10280](https://openbrokerapi.com/errors/ibkr/10280-failed-cancel-wsh-metadata): Listed by the vendor as "Failed cancel WSH metadata".
- [10281](https://openbrokerapi.com/errors/ibkr/10281-duplicate-wsh-event-data): Listed by the vendor as "Duplicate WSH event data request".
- [10282](https://openbrokerapi.com/errors/ibkr/10282-wsh-metadata-not-requested): Listed by the vendor as "WSH metadata not requested".
- [10283](https://openbrokerapi.com/errors/ibkr/10283-fail-wsh-event-data): Listed by the vendor as "Fail request WSH event data".
- [10284](https://openbrokerapi.com/errors/ibkr/10284-fail-cancel-wsh-event-data): Listed by the vendor as "Fail cancel WSH event data".
- [10285](https://openbrokerapi.com/errors/ibkr/10285-fractional-sizing-rules-version): TWS API error 10285 begins "Your API version does not support fractional sizing rules." The words in quotes are Interactive Brokers' own.
- [10286](https://openbrokerapi.com/errors/ibkr/10286-field-too-many-decimals): Listed by the vendor as "%s field cannot contain more than %s decimals".
- [10287](https://openbrokerapi.com/errors/ibkr/10287-cryptocurrency-order-is): Listed by the vendor as "Cryptocurrency order is not confirmed".
- [10288](https://openbrokerapi.com/errors/ibkr/10288-market-order-confirmation): Listed by the vendor as "Market order confirmation dialog title for cryptocurrencies".
- [10289](https://openbrokerapi.com/errors/ibkr/10289-you-must-set): Listed by the vendor as "You must set Cash Quantity for this order".
- [10290](https://openbrokerapi.com/errors/ibkr/10290-this-order-only): Listed by the vendor as "This order only supports CashQty trading".
- [10291](https://openbrokerapi.com/errors/ibkr/10291-orders-to-harvest): Listed by the vendor as "Orders to harvest Capital Loss must use the DAY time-in-force".
- [10292](https://openbrokerapi.com/errors/ibkr/10292-order-type-action): Listed by the vendor as "Order type/action restriction".
- [10293](https://openbrokerapi.com/errors/ibkr/10293-cryptocurrency-cash-quantity): Listed by the vendor as "Cryptocurrency Cash Quantity order cannot specify size".
- [10294](https://openbrokerapi.com/errors/ibkr/10294-cash-quantity-set): Listed by the vendor as "Cash quantity set on the order does not match total monetary amount of the Group".
- [10295](https://openbrokerapi.com/errors/ibkr/10295-schedule-daily-resolution-only): Listed by the vendor as "Only daily resolution supported for Schedule requests".
- [10296](https://openbrokerapi.com/errors/ibkr/10296-dark-pool-routing-exclusive): TWS API error 10296 begins "The Smart Routing features".
- [10297](https://openbrokerapi.com/errors/ibkr/10297-not-held-attribute): Listed by the vendor as "Not Held attribute is invalid for this order".
- [10298](https://openbrokerapi.com/errors/ibkr/10298-cannot-trade-an): Listed by the vendor as "Cannot trade an instrument with currency different from model currency".
- [10299](https://openbrokerapi.com/errors/ibkr/10299-expected-what-to-show): Listed by the vendor as "Expected what to show is %s".
- [103](https://openbrokerapi.com/errors/ibkr/103-duplicate-order-id): Listed by the vendor as "Duplicate order ID".
- [10300](https://openbrokerapi.com/errors/ibkr/10300-date-time-row-cut-short): TWS API error 10300 has a row that is cut short on the vendor's page.
- [10301](https://openbrokerapi.com/errors/ibkr/10301-date-time-row-cut-short): TWS API error 10301 has a row that is cut short on the vendor's page.
- [10302](https://openbrokerapi.com/errors/ibkr/10302-min-trade-quantity-not-allowed): Listed by the vendor as "Min trade trade quantity is not allowed for this order".
- [10303](https://openbrokerapi.com/errors/ibkr/10303-invalid-min-trade-quantity): Listed by the vendor as "Invalid min trade quantity value (%s).
- [10304](https://openbrokerapi.com/errors/ibkr/10304-minimum-competing-size): Listed by the vendor as "Minimum Competing Size value must be non-negative".
- [10305](https://openbrokerapi.com/errors/ibkr/10305-compete-offset-value): Listed by the vendor as "Compete against best bid or offer Offset dollar value must be positive".
- [10306](https://openbrokerapi.com/errors/ibkr/10306-mid-offsets-are): Listed by the vendor as "Mid offsets are not allowed".
- [10307](https://openbrokerapi.com/errors/ibkr/10307-invalid-midoffsetatwhole-and): Listed by the vendor as "Invalid MidOffsetAtWhole and/or MidOffsetAtHalf attribute values".
- [10308](https://openbrokerapi.com/errors/ibkr/10308-revision-to-post): Listed by the vendor as "Revision to Post to ATS value presence is not allowed".
- [10309](https://openbrokerapi.com/errors/ibkr/10309-invalid-wsh-event): Listed by the vendor as "Invalid WSH event data request".
- [10310](https://openbrokerapi.com/errors/ibkr/10310-solicited-field): TWS API error 10310 begins "The Solicited field should be used for orders initiated or recommended by the broker or advisor".
- [10311](https://openbrokerapi.com/errors/ibkr/10311-direct-routed-higher-fees): TWS API error 10311 begins "This order will be directly routed to %s." The words in quotes are Interactive Brokers' own.
- [10312](https://openbrokerapi.com/errors/ibkr/10312-volatility-order-not-supported): TWS API error 10312 begins "The order type Volatility is currently not supported".
- [10314](https://openbrokerapi.com/errors/ibkr/10314-date-time-row-cut-short): TWS API error 10314 has a row that is cut short on the vendor's page.
- [10315](https://openbrokerapi.com/errors/ibkr/10315-invalid-time-format): Listed by the vendor as "%s: The time entered is invalid.
- [10316](https://openbrokerapi.com/errors/ibkr/10316-trigger-outside-rth-deprecated): TWS API error 10316 begins "Trigger Outside RTH was deprecated." The words in quotes are Interactive Brokers' own.
- [10317](https://openbrokerapi.com/errors/ibkr/10317-cash-quantity-minimum-variation): Listed by the vendor as "The Cash Quantity size for the below contracts does not conform to minimum variation of %s".
- [10318](https://openbrokerapi.com/errors/ibkr/10318-this-order-doesn): Listed by the vendor as "This order doesn't support fractional quantity trading".
- [10319](https://openbrokerapi.com/errors/ibkr/10319-placing-orders-for): Listed by the vendor as "Placing orders for Municipal Bonds via API is currently disabled".
- [10321](https://openbrokerapi.com/errors/ibkr/10321-placing-orders-for): Listed by the vendor as "Placing orders for Municipal Bonds is currently disabled for attached and OCA orders".
- [10322](https://openbrokerapi.com/errors/ibkr/10322-this-api-request): Listed by the vendor as "This API request for All is not supported for Dynamic Account Addition".
- [10324](https://openbrokerapi.com/errors/ibkr/10324-invalid-oca-group-parameters): Listed by the vendor as "Invalid parameters for OCA group for exchange %s.
- [10325](https://openbrokerapi.com/errors/ibkr/10325-oca-group-is): Listed by the vendor as "OCA group is not supported".
- [10326](https://openbrokerapi.com/errors/ibkr/10326-oca-group-revision): Listed by the vendor as "OCA group revision is not allowed".
- [10327](https://openbrokerapi.com/errors/ibkr/10327-oca-group-type): Listed by the vendor as "OCA group type revision is not allowed".
- [10328](https://openbrokerapi.com/errors/ibkr/10328-connection-lost-order-data): Listed by the vendor as "Connection lost".
- [10329](https://openbrokerapi.com/errors/ibkr/10329-order-directly-routed): Listed by the vendor as "This order will be directly routed to %s".
- [10330](https://openbrokerapi.com/errors/ibkr/10330-expiry-date-time-format): TWS API error 10330 begins "The expiry date/time format is invalid." The words in quotes are Interactive Brokers' own.
- [10331](https://openbrokerapi.com/errors/ibkr/10331-any-stop-warning): Listed by the vendor as "Any stop warning".
- [10332](https://openbrokerapi.com/errors/ibkr/10332-cryptocurrency-volatility-warning): Listed by the vendor as "Cryptocurrency volatility warning".
- [10333](https://openbrokerapi.com/errors/ibkr/10333-option-exercise-at): Listed by the vendor as "Option Exercise at-the-money warning".
- [10334](https://openbrokerapi.com/errors/ibkr/10334-confirm-omnibus-order): Listed by the vendor as "Confirm Omnibus Order Account".
- [10335](https://openbrokerapi.com/errors/ibkr/10335-order-presets-not-applied): TWS API error 10335 begins "Order presets cannot be applied as configured." The words in quotes are Interactive Brokers' own.
- [10336](https://openbrokerapi.com/errors/ibkr/10336-per-leg-executing): Listed by the vendor as "Per-leg executing broker configuration is not supported".
- [10337](https://openbrokerapi.com/errors/ibkr/10337-misc-options-key-invalid): Listed by the vendor as "Misc options key=%s is invalid in %s request.
- [10338](https://openbrokerapi.com/errors/ibkr/10338-misc-options-value-invalid): Listed by the vendor as "Misc options value=%s is invalid for key=%s in %s request.
- [10339](https://openbrokerapi.com/errors/ibkr/10339-setting-end-date): Listed by the vendor as "Setting end date/time for continuous future security type is not allowed".
- [10340](https://openbrokerapi.com/errors/ibkr/10340-order-attribute-not-supported): Listed by the vendor as "The following order attribute is not supported: %s".
- [10341](https://openbrokerapi.com/errors/ibkr/10341-parent-order-id): Listed by the vendor as "Parent order id cannot be modified".
- [10342](https://openbrokerapi.com/errors/ibkr/10342-the-imbalanceonly-order): Listed by the vendor as "The 'ImbalanceOnly' order attribute may not be specified for this order".
- [10343](https://openbrokerapi.com/errors/ibkr/10343-selling-event-contracts): Listed by the vendor as "Selling Event Contracts is neither allowed directly nor as an attached profit taker".
- [10344](https://openbrokerapi.com/errors/ibkr/10344-price-value-must): Listed by the vendor as "Price value must be between 0.02 and 0.99 with a maximum of two decimal places".
- [10345](https://openbrokerapi.com/errors/ibkr/10345-you-cannot-trade): Listed by the vendor as "You cannot trade a %s".
- [10346](https://openbrokerapi.com/errors/ibkr/10346-market-data-ticker-displayed-elsewhere): Listed by the vendor as "Market data for %s cannot be delivered because ticker for the same financial instrument is displayed on %s".
- [10347](https://openbrokerapi.com/errors/ibkr/10347-limited-liquidity-warning): TWS API error 10347 begins "This security has limited liquidity." The words in quotes are Interactive Brokers' own.
- [104](https://openbrokerapi.com/errors/ibkr/104-cant-modify-filled-order): Listed by the vendor as "Can't modify a filled order".
- [105](https://openbrokerapi.com/errors/ibkr/105-order-does-not-match): Listed by the vendor as "Order being modified does not match original order".
- [106](https://openbrokerapi.com/errors/ibkr/106-cant-transmit-order-id): Listed by the vendor as "Can't transmit order ID:".
- [107](https://openbrokerapi.com/errors/ibkr/107-incomplete-order): Listed by the vendor as "Cannot transmit incomplete order".
- [109](https://openbrokerapi.com/errors/ibkr/109-price-out-of-percent-range): Listed by the vendor as "Price is out of the range defined by the Percentage setting at order defaults frame.
- [110](https://openbrokerapi.com/errors/ibkr/110-price-min-variation): Listed by the vendor as "The price does not conform to the minimum price variation for this contract".
- [1100](https://openbrokerapi.com/errors/ibkr/1100-connectivity-lost): Connectivity between IB and the TWS has been lost.
- [1101](https://openbrokerapi.com/errors/ibkr/1101-connectivity-restored-data-lost): Connectivity between IB and TWS has been restored- data lost.
- [1102](https://openbrokerapi.com/errors/ibkr/1102-connectivity-restored-data-maintained): Connectivity between IB and TWS has been restored- data maintained.
- [111](https://openbrokerapi.com/errors/ibkr/111-tif-order-type-incompatible): Listed by the vendor as "The TIF (Tif type) and the order type are incompatible".
- [113](https://openbrokerapi.com/errors/ibkr/113-tif-day-for-moc-loc): Listed by the vendor as "The Tif option should be set to DAY for MOC and LOC orders".
- [114](https://openbrokerapi.com/errors/ibkr/114-relative-orders-stocks-only): Listed by the vendor as "Relative orders are valid for stocks only".
- [115](https://openbrokerapi.com/errors/ibkr/115-relative-orders-us-routing): Listed by the vendor as "Relative orders for US stocks can only be submitted to SMART, SMART_ECN, INSTINET, or PRIMEX".
- [116](https://openbrokerapi.com/errors/ibkr/116-dead-exchange): Listed by the vendor as "The order cannot be transmitted to a dead exchange".
- [117](https://openbrokerapi.com/errors/ibkr/117-block-order-size-min-50): Listed by the vendor as "The block order size must be at least 50".
- [118](https://openbrokerapi.com/errors/ibkr/118-vwap-orders-vwap-exchange): Listed by the vendor as "VWAP orders must be routed through the VWAP exchange".
- [119](https://openbrokerapi.com/errors/ibkr/119-only-vwap-on-vwap-exchange): Listed by the vendor as "Only VWAP orders may be placed on the VWAP exchange".
- [120](https://openbrokerapi.com/errors/ibkr/120-too-late-for-vwap-today): Listed by the vendor as "It is too late to place a VWAP order for today".
- [121](https://openbrokerapi.com/errors/ibkr/121-invalid-bd-flag): Interactive Brokers lists TWS API error code 121 with the text "Invalid BD flag for the order.
- [122](https://openbrokerapi.com/errors/ibkr/122-no-request-tag-for-order): Listed by the vendor as "No request tag has been found for order:".
- [123](https://openbrokerapi.com/errors/ibkr/123-no-record-for-conid): Listed by the vendor as "No record is available for conid:".
- [124](https://openbrokerapi.com/errors/ibkr/124-no-market-rule-for-conid): Listed by the vendor as "No market rule is available for conid:".
- [125](https://openbrokerapi.com/errors/ibkr/125-buy-price-must-match-ask): Listed by the vendor as "Buy price must be the same as the best asking price".
- [126](https://openbrokerapi.com/errors/ibkr/126-sell-price-must-match-bid): Listed by the vendor as "Sell price must be the same as the best bidding price".
- [129](https://openbrokerapi.com/errors/ibkr/129-vwap-three-minutes-before): Listed by the vendor as "VWAP orders must be submitted at least three minutes before the start time".
- [1300](https://openbrokerapi.com/errors/ibkr/1300-socket-port-reset): Interactive Brokers lists TWS API system message code 1300 with the text "TWS socket port has been reset and this connection is being dropped.
- [131](https://openbrokerapi.com/errors/ibkr/131-sweep-to-fill-ignored): Listed by the vendor as "The sweep-to-fill flag and display size are only valid for US stocks routed through SMART, and will be ignored".
- [132](https://openbrokerapi.com/errors/ibkr/132-no-clearing-account): Listed by the vendor as "This order cannot be transmitted without a clearing account".
- [133](https://openbrokerapi.com/errors/ibkr/133-submit-new-order-failed): Listed by the vendor as "Submit new order failed".
- [134](https://openbrokerapi.com/errors/ibkr/134-modify-order-failed): Listed by the vendor as "Modify order failed".
- [135](https://openbrokerapi.com/errors/ibkr/135-cant-find-order): Listed by the vendor as "Can't find order with ID =".
- [136](https://openbrokerapi.com/errors/ibkr/136-order-cannot-be-cancelled): Listed by the vendor as "This order cannot be cancelled".
- [137](https://openbrokerapi.com/errors/ibkr/137-vwap-cancel-three-minutes): Listed by the vendor as "VWAP orders can only be cancelled up to three minutes before the start time".
- [138](https://openbrokerapi.com/errors/ibkr/138-cant-parse-ticker-request): Listed by the vendor as "Could not parse ticker request:".
- [139](https://openbrokerapi.com/errors/ibkr/139-parsing-error): Listed by the vendor as "Parsing error:".
- [140](https://openbrokerapi.com/errors/ibkr/140-size-should-be-integer): Listed by the vendor as "The size value should be an integer:".
- [141](https://openbrokerapi.com/errors/ibkr/141-price-should-be-double): Listed by the vendor as "The price value should be a double:".
- [142](https://openbrokerapi.com/errors/ibkr/142-no-account-info): Listed by the vendor as "Institutional customer account does not have account info".
- [143](https://openbrokerapi.com/errors/ibkr/143-requested-id-not-integer): Listed by the vendor as "Requested ID is not an integer number".
- [144](https://openbrokerapi.com/errors/ibkr/144-size-not-share-allocation): Interactive Brokers lists TWS API message code 144 with a text that begins "Order size does not match total share allocation." (the vendor's wording) and goes on to say how to adjust the share allocation from the order in TWS.
- [145](https://openbrokerapi.com/errors/ibkr/145-error-validating-fields): Listed by the vendor as "Error in validating entry fields -".
- [146](https://openbrokerapi.com/errors/ibkr/146-invalid-trigger-method): Listed by the vendor as "Invalid trigger method".
- [147](https://openbrokerapi.com/errors/ibkr/147-conditional-info-incomplete): Listed by the vendor as "The conditional contract info is incomplete".
- [148](https://openbrokerapi.com/errors/ibkr/148-conditional-limit-or-market): Interactive Brokers lists TWS API error code 148 with a text that begins "Conditional submission of orders is supported for" (the vendor's wording) and names Limit, Market, MidPrice, Relative and Snap order types.
- [151](https://openbrokerapi.com/errors/ibkr/151-no-user-name): Listed by the vendor as "This order cannot be transmitted without a user name".
- [152](https://openbrokerapi.com/errors/ibkr/152-hidden-attribute-not-allowed): Interactive Brokers lists TWS API error code 152 with the text "The "hidden" order attribute may not be specified for this order." (the vendor's wording).
- [153](https://openbrokerapi.com/errors/ibkr/153-efps-limit-orders-only): Listed by the vendor as "EFPs can only be limit orders".
- [154](https://openbrokerapi.com/errors/ibkr/154-halted-security): Listed by the vendor as "Orders cannot be transmitted for a halted security".
- [155](https://openbrokerapi.com/errors/ibkr/155-sizeop-user-name-account): Listed by the vendor as "A sizeOp order must have a user name and account".
- [156](https://openbrokerapi.com/errors/ibkr/156-sizeop-must-go-to-ibsx): Listed by the vendor as "A SizeOp order must go to IBSX".
- [157](https://openbrokerapi.com/errors/ibkr/157-iceberg-or-discretionary): Listed by the vendor as "An order can be EITHER Iceberg or Discretionary.
- [158](https://openbrokerapi.com/errors/ibkr/158-offset-amount-or-percent): Listed by the vendor as "You must specify an offset amount or a percent offset value".
- [159](https://openbrokerapi.com/errors/ibkr/159-percent-offset-0-to-100): Listed by the vendor as "The percent offset value must be between 0% and 100%".
- [160](https://openbrokerapi.com/errors/ibkr/160-size-cannot-be-zero): Listed by the vendor as "The size value cannot be zero".
- [161](https://openbrokerapi.com/errors/ibkr/161-not-in-cancellable-state): Listed by the vendor as "Cancel attempted when order is not in a cancellable state.
- [162](https://openbrokerapi.com/errors/ibkr/162-historical-data-service-error): Historical market data Service error message.
- [163](https://openbrokerapi.com/errors/ibkr/163-price-percent-constraint): Listed by the vendor as "The price specified would violate the percentage constraint specified in the default order settings".
- [164](https://openbrokerapi.com/errors/ibkr/164-no-data-for-percent-check): Listed by the vendor as "There is no market data to check price percent violations".
- [165](https://openbrokerapi.com/errors/ibkr/165-historical-data-query-msg): Listed by the vendor as "Historical market Data Service query message".
- [166](https://openbrokerapi.com/errors/ibkr/166-hmds-expired-contract): Listed by the vendor as "HMDS Expired Contract Violation".
- [167](https://openbrokerapi.com/errors/ibkr/167-vwap-time-must-be-future): Listed by the vendor as "VWAP order time must be in the future".
- [168](https://openbrokerapi.com/errors/ibkr/168-discretionary-min-variation): Listed by the vendor as "Discretionary amount does not conform to the minimum price variation for this contract".
- [200](https://openbrokerapi.com/errors/ibkr/200-no-security-definition): No security definition has been found for the request.
- [201](https://openbrokerapi.com/errors/ibkr/201-order-rejected): Order rejected - Reason:.
- [202](https://openbrokerapi.com/errors/ibkr/202-order-cancelled): Listed by the vendor as "Order cancelled - Reason:".
- [203](https://openbrokerapi.com/errors/ibkr/203-security-not-allowed): Listed by the vendor as "The security \<security> is not available or allowed for this account".
- [2100](https://openbrokerapi.com/errors/ibkr/2100-account-data-unsubscribed): Interactive Brokers lists TWS API warning message code 2100 with the text "New account data requested from TWS.
- [2101](https://openbrokerapi.com/errors/ibkr/2101-cannot-subscribe-to-account): Interactive Brokers lists TWS API warning message code 2101 with the text "Unable to subscribe to account as the following clients are subscribed to a different account." (the vendor's wording).
- [2102](https://openbrokerapi.com/errors/ibkr/2102-order-still-being-processed): Interactive Brokers lists TWS API warning message code 2102 with the text "Unable to modify this order as it is still being processed." (the vendor's wording).
- [2103](https://openbrokerapi.com/errors/ibkr/2103-market-data-farm-disconnect): Interactive Brokers lists TWS API warning message code 2103 with the text "A market data farm is disconnected." (the vendor's wording).
- [2104](https://openbrokerapi.com/errors/ibkr/2104-market-data-farm-ok): Market data farm connection is OK.
- [2105](https://openbrokerapi.com/errors/ibkr/2105-hist-data-farm-disconnected): Interactive Brokers lists TWS API warning message code 2105 with the text "A historical data farm is disconnected." (the vendor's wording).
- [2106](https://openbrokerapi.com/errors/ibkr/2106-historical-data-farm-connected): A historical data farm is connected.
- [2107](https://openbrokerapi.com/errors/ibkr/2107-hist-data-farm-inactive): Interactive Brokers lists TWS API warning message code 2107 with the text "A historical data farm connection has become inactive but should be available upon demand." (the vendor's wording).
- [2108](https://openbrokerapi.com/errors/ibkr/2108-market-data-farm-inactive): Interactive Brokers lists TWS API warning message code 2108 with the text "A market data farm connection has become inactive but should be available upon demand." (the vendor's wording).
- [2109](https://openbrokerapi.com/errors/ibkr/2109-outside-rth-ignored): Interactive Brokers lists TWS API warning message code 2109 with the text "Order Event Warning: Attribute "Outside Regular Trading Hours" is ignored based on the order type and destination.
- [2110](https://openbrokerapi.com/errors/ibkr/2110-tws-server-link-broken): Interactive Brokers lists TWS API warning message code 2110 with the text "Connectivity between TWS and server is broken.
- [2111](https://openbrokerapi.com/errors/ibkr/2111-algo-order-time-adjusted): TWS API error 2111 begins "The Start and/or End Time for algo order".
- [2119](https://openbrokerapi.com/errors/ibkr/2119-market-data-farm): Listed by the vendor as "Market data farm is connecting".
- [2130](https://openbrokerapi.com/errors/ibkr/2130-warning-products-are): Listed by the vendor as "Warning: products are trading on the basis of currency price with factor".
- [2137](https://openbrokerapi.com/errors/ibkr/2137-cross-side-warning): Interactive Brokers lists TWS API warning message code 2137 with the text "Cross Side Warning" (the vendor's wording).
- [2152](https://openbrokerapi.com/errors/ibkr/2152-market-depth-smart): Listed by the vendor as "Market depth smart depth exchanges".
- [2158](https://openbrokerapi.com/errors/ibkr/2158-sec-def-data-farm-ok): Sec-def data farm connection is OK.
- [2168](https://openbrokerapi.com/errors/ibkr/2168-etradeonly-not-supported): Interactive Brokers lists TWS API warning message code 2168 with the text "Etrade Only Not Supported Warning" (the vendor's wording).
- [2169](https://openbrokerapi.com/errors/ibkr/2169-firmquoteonly-not-supported): Interactive Brokers lists TWS API warning message code 2169 with the text "Firm Quote Only Not Supported Warning" (the vendor's wording).
- [2188](https://openbrokerapi.com/errors/ibkr/2188-up-to-the): Listed by the vendor as "Up-to-the-second historical data requires additional subscription for the API".
- [300](https://openbrokerapi.com/errors/ibkr/300-cant-find-eid-ticker-id): Listed by the vendor as "Can't find EId with ticker Id:".
- [301](https://openbrokerapi.com/errors/ibkr/301-invalid-ticker-action): Listed by the vendor as "Invalid ticker action:".
- [302](https://openbrokerapi.com/errors/ibkr/302-error-parsing-stop-ticker): Listed by the vendor as "Error parsing stop ticker string:".
- [303](https://openbrokerapi.com/errors/ibkr/303-invalid-action): Listed by the vendor as "Invalid action:".
- [304](https://openbrokerapi.com/errors/ibkr/304-invalid-account-value-action): Listed by the vendor as "Invalid account value action:".
- [305](https://openbrokerapi.com/errors/ibkr/305-request-parsing-error): Listed by the vendor as "Request parsing error, the request has been ignored".
- [306](https://openbrokerapi.com/errors/ibkr/306-error-processing-dde): Listed by the vendor as "Error processing DDE request:".
- [307](https://openbrokerapi.com/errors/ibkr/307-invalid-request-topic): Listed by the vendor as "Invalid request topic:".
- [308](https://openbrokerapi.com/errors/ibkr/308-max-api-pages): Listed by the vendor as "Unable to create the 'API' page in TWS as the maximum number of pages already exists".
- [309](https://openbrokerapi.com/errors/ibkr/309-max-market-depth-requests): Interactive Brokers lists TWS API error code 309 with a text that begins "Max number (3) of market depth requests has been reached." (the vendor's wording).
- [310](https://openbrokerapi.com/errors/ibkr/310-cant-find-market-depth): Listed by the vendor as "Can't find the subscribed market depth with tickerId:".
- [311](https://openbrokerapi.com/errors/ibkr/311-origin-invalid): Listed by the vendor as "The origin is invalid".
- [312](https://openbrokerapi.com/errors/ibkr/312-combo-details-invalid): Listed by the vendor as "The combo details are invalid".
- [313](https://openbrokerapi.com/errors/ibkr/313-combo-leg-details-invalid): Listed by the vendor as "The combo details for leg '\<leg number>' are invalid".
- [314](https://openbrokerapi.com/errors/ibkr/314-bag-requires-combo-legs): Listed by the vendor as "Security type 'BAG' requires combo leg details".
- [315](https://openbrokerapi.com/errors/ibkr/315-stock-combo-legs-smart): Listed by the vendor as "Stock combo legs are restricted to SMART order routing".
- [316](https://openbrokerapi.com/errors/ibkr/316-market-depth-halted): Listed by the vendor as "Market depth data has been HALTED.
- [317](https://openbrokerapi.com/errors/ibkr/317-market-depth-reset): Listed by the vendor as "Market depth data has been RESET.
- [319](https://openbrokerapi.com/errors/ibkr/319-invalid-log-level): Listed by the vendor as "Invalid log level \<log level>".
- [320](https://openbrokerapi.com/errors/ibkr/320-server-error-reading): Listed by the vendor as "Server error when reading an API client request".
- [321](https://openbrokerapi.com/errors/ibkr/321-server-error-validating): Listed by the vendor as "Server error when validating an API client request".
- [322](https://openbrokerapi.com/errors/ibkr/322-server-error-processing): Listed by the vendor as "Server error when processing an API client request".
- [323](https://openbrokerapi.com/errors/ibkr/323-server-error-cause): Listed by the vendor as "Server error: cause - s".
- [324](https://openbrokerapi.com/errors/ibkr/324-server-error-reading-dde): Listed by the vendor as "Server error when reading a DDE client request (missing information)".
- [325](https://openbrokerapi.com/errors/ibkr/325-discretionary-unsupported): Listed by the vendor as "Discretionary orders are not supported for this combination of exchange and order type".
- [326](https://openbrokerapi.com/errors/ibkr/326-client-id-in-use): Listed by the vendor as "Unable to connect as the client id is already in use.
- [327](https://openbrokerapi.com/errors/ibkr/327-auto-bind-client-id-0): Listed by the vendor as "Only API connections with clientId set to 0 can set the auto bind TWS orders property".
- [328](https://openbrokerapi.com/errors/ibkr/328-trailing-stop-attach): Listed by the vendor as "Trailing stop orders can be attached to limit or stop-limit orders only".
- [329](https://openbrokerapi.com/errors/ibkr/329-cannot-change-order-type): Listed by the vendor as "Order modify failed.
- [330](https://openbrokerapi.com/errors/ibkr/330-fa-or-stl-only): Listed by the vendor as "Only FA or STL customers can request managed accounts list".
- [331](https://openbrokerapi.com/errors/ibkr/331-no-managed-accounts): Listed by the vendor as "Internal error.
- [332](https://openbrokerapi.com/errors/ibkr/332-invalid-account-codes): Listed by the vendor as "The account codes for the order profile are invalid".
- [333](https://openbrokerapi.com/errors/ibkr/333-invalid-share-allocation): Listed by the vendor as "Invalid share allocation syntax".
- [334](https://openbrokerapi.com/errors/ibkr/334-invalid-good-till-date): Listed by the vendor as "Invalid Good Till Date order".
- [335](https://openbrokerapi.com/errors/ibkr/335-invalid-delta-0-to-100): Listed by the vendor as "Invalid delta: The delta must be between 0 and 100".
- [336](https://openbrokerapi.com/errors/ibkr/336-invalid-time-or-time-zone): Interactive Brokers lists TWS API error code 336 with a text that begins "The time or time zone is invalid." (the vendor's wording).
- [337](https://openbrokerapi.com/errors/ibkr/337-invalid-date-time-zone): Interactive Brokers lists TWS API error code 337 with a text that begins "The date, time, or time-zone entered is invalid." (the vendor's wording).
- [338](https://openbrokerapi.com/errors/ibkr/338-good-after-time-disabled): Listed by the vendor as "Good After Time orders are currently disabled on this exchange".
- [339](https://openbrokerapi.com/errors/ibkr/339-futures-spread-unsupported): Listed by the vendor as "Futures spread are no longer supported.
- [340](https://openbrokerapi.com/errors/ibkr/340-invalid-improvement-amount): Listed by the vendor as "Invalid improvement amount for box auction strategy".
- [341](https://openbrokerapi.com/errors/ibkr/341-invalid-delta-1-to-100): Interactive Brokers lists TWS API error code 341 with a text that begins "Invalid delta." (the vendor's wording).
- [342](https://openbrokerapi.com/errors/ibkr/342-pegged-order-unsupported): Listed by the vendor as "Pegged order is not supported on this exchange".
- [343](https://openbrokerapi.com/errors/ibkr/343-invalid-date-time-format): Listed by the vendor as "The date, time, or time-zone entered is invalid.
- [344](https://openbrokerapi.com/errors/ibkr/344-not-an-fa-account): Listed by the vendor as "The account logged into is not a financial advisor account".
- [345](https://openbrokerapi.com/errors/ibkr/345-generic-combo-not-for-fa): Listed by the vendor as "Generic combo is not supported for FA advisor account".
- [346](https://openbrokerapi.com/errors/ibkr/346-not-institutional-account): Listed by the vendor as "Not an institutional account or an away clearing account".
- [347](https://openbrokerapi.com/errors/ibkr/347-short-sale-slot-1-or-2): Listed by the vendor as "Short sale slot value must be 1 (broker holds shares) or 2 (delivered from elsewhere)".
- [348](https://openbrokerapi.com/errors/ibkr/348-not-a-short-sale): Interactive Brokers lists TWS API message code 348 with a text that begins "Order not a short sale" (the vendor's wording) and goes on to say that the type must be SSHORT to specify a short sale slot.
- [349](https://openbrokerapi.com/errors/ibkr/349-combo-no-good-after): Interactive Brokers lists TWS API error code 349 with the text "Generic combo does not support "Good After" attribute." (the vendor's wording).
- [350](https://openbrokerapi.com/errors/ibkr/350-min-qty-best-combo): Listed by the vendor as "Minimum quantity is not supported for best combo order".
- [351](https://openbrokerapi.com/errors/ibkr/351-rth-only-flag-not-valid): Interactive Brokers lists TWS API error code 351 with the text "The "Regular Trading Hours only" flag is not valid for this order." (the vendor's wording).
- [352](https://openbrokerapi.com/errors/ibkr/352-slot-2-requires-location): Listed by the vendor as "Short sale slot value of 2 (delivered from elsewhere) requires location".
- [353](https://openbrokerapi.com/errors/ibkr/353-slot-1-no-location): Listed by the vendor as "Short sale slot value of 1 requires no location be specified".
- [354](https://openbrokerapi.com/errors/ibkr/354-market-data-not-subscribed): Interactive Brokers lists TWS API error code 354 with a text that begins "Requested market data is not subscribed." (the vendor's wording) and goes on to say where in the Account menu to check the API status and the availability of delayed data.
- [355](https://openbrokerapi.com/errors/ibkr/355-order-size-market-rule): Listed by the vendor as "Order size does not conform to market rule".
- [356](https://openbrokerapi.com/errors/ibkr/356-smart-combo-no-oca): Listed by the vendor as "Smart-combo order does not support OCA group".
- [357](https://openbrokerapi.com/errors/ibkr/357-client-version-out-of-date): Listed by the vendor as "Your client version is out of date".
- [358](https://openbrokerapi.com/errors/ibkr/358-smart-combo-child-order): Listed by the vendor as "Smart combo child order not supported".
- [359](https://openbrokerapi.com/errors/ibkr/359-combo-reduce-on-fill): Listed by the vendor as "Combo order only supports reduce on fill without block(OCA)".
- [360](https://openbrokerapi.com/errors/ibkr/360-no-whatif-for-smart-combo): Listed by the vendor as "No whatif check support for smart combo order".
- [361](https://openbrokerapi.com/errors/ibkr/361-invalid-trigger-price): Listed by the vendor as "Invalid trigger price".
- [362](https://openbrokerapi.com/errors/ibkr/362-invalid-adjusted-stop): Listed by the vendor as "Invalid adjusted stop price".
- [363](https://openbrokerapi.com/errors/ibkr/363-invalid-adjusted-stop-limit): Listed by the vendor as "Invalid adjusted stop limit price".
- [364](https://openbrokerapi.com/errors/ibkr/364-invalid-adjusted-trailing): Listed by the vendor as "Invalid adjusted trailing amount".
- [365](https://openbrokerapi.com/errors/ibkr/365-no-scanner-subscription): Listed by the vendor as "No scanner subscription found for ticker id:".
- [366](https://openbrokerapi.com/errors/ibkr/366-no-historical-data-query): Listed by the vendor as "No historical data query found for ticker id:".
- [367](https://openbrokerapi.com/errors/ibkr/367-volatility-type-1-or-2): Listed by the vendor as "Volatility type if set must be 1 or 2 for VOL orders.
- [368](https://openbrokerapi.com/errors/ibkr/368-reference-price-type-1-or-2): Listed by the vendor as "Reference Price Type must be 1 or 2 for dynamic volatility management.
- [369](https://openbrokerapi.com/errors/ibkr/369-vol-orders-us-options-only): Listed by the vendor as "Volatility orders are only valid for US options".
- [370](https://openbrokerapi.com/errors/ibkr/370-dynamic-vol-smart-routed): Listed by the vendor as "Dynamic Volatility orders must be SMART routed, or trade on a Price Improvement Exchange".
- [371](https://openbrokerapi.com/errors/ibkr/371-vol-order-needs-volatility): Listed by the vendor as "VOL order requires positive floating point value for volatility.
- [372](https://openbrokerapi.com/errors/ibkr/372-dynamic-vol-on-non-vol): Listed by the vendor as "Cannot set dynamic VOL attribute on non-VOL order".
- [373](https://openbrokerapi.com/errors/ibkr/373-stock-range-attribute): Listed by the vendor as "Can only set stock range attribute on VOL or RELATIVE TO STOCK order".
- [374](https://openbrokerapi.com/errors/ibkr/374-stock-range-lower-upper): Listed by the vendor as "If both are set, the lower stock range attribute must be less than the upper stock range attribute".
- [375](https://openbrokerapi.com/errors/ibkr/375-stock-range-negative): Listed by the vendor as "Stock range attributes cannot be negative".
- [376](https://openbrokerapi.com/errors/ibkr/376-not-eligible-continuous): Listed by the vendor as "The order is not eligible for continuous update.
- [377](https://openbrokerapi.com/errors/ibkr/377-delta-hedge-aux-price): Listed by the vendor as "Must specify valid delta hedge order aux.
- [378](https://openbrokerapi.com/errors/ibkr/378-delta-hedge-needs-aux-price): Listed by the vendor as "Delta hedge order type requires delta hedge aux.
- [379](https://openbrokerapi.com/errors/ibkr/379-delta-hedge-no-aux-price): Listed by the vendor as "Delta hedge order type requires that no delta hedge aux.
- [380](https://openbrokerapi.com/errors/ibkr/380-delta-hedge-order-type): Listed by the vendor as "This order type is not allowed for delta hedge orders".
- [381](https://openbrokerapi.com/errors/ibkr/381-dde-dll-needs-upgrade): Listed by the vendor as "Your DDE.dll needs to be upgraded".
- [382](https://openbrokerapi.com/errors/ibkr/382-price-ticks-constraint): Listed by the vendor as "The price specified violates the number of ticks constraint specified in the default order settings".
- [383](https://openbrokerapi.com/errors/ibkr/383-size-constraint): Listed by the vendor as "The size specified violates the size constraint specified in the default order settings".
- [384](https://openbrokerapi.com/errors/ibkr/384-invalid-dde-array-request): Listed by the vendor as "Invalid DDE array request".
- [385](https://openbrokerapi.com/errors/ibkr/385-duplicate-scanner-ticker-id): Listed by the vendor as "Duplicate ticker ID for API scanner subscription".
- [386](https://openbrokerapi.com/errors/ibkr/386-duplicate-hist-ticker-id): Listed by the vendor as "Duplicate ticker ID for API historical data query".
- [387](https://openbrokerapi.com/errors/ibkr/387-unsupported-order-type): Listed by the vendor as "Unsupported order type for this exchange and security type".
- [388](https://openbrokerapi.com/errors/ibkr/388-order-size-below-minimum): Listed by the vendor as "Order size is smaller than the minimum requirement".
- [389](https://openbrokerapi.com/errors/ibkr/389-routed-order-id-not-unique): Listed by the vendor as "Supplied routed order ID is not unique".
- [390](https://openbrokerapi.com/errors/ibkr/390-routed-order-id-invalid): Listed by the vendor as "Supplied routed order ID is invalid".
- [391](https://openbrokerapi.com/errors/ibkr/391-invalid-time-format): Listed by the vendor as "The time or time-zone entered is invalid.
- [392](https://openbrokerapi.com/errors/ibkr/392-contract-expired): Listed by the vendor as "Invalid order: contract expired".
- [393](https://openbrokerapi.com/errors/ibkr/393-short-sale-slot-delta-hedge): Listed by the vendor as "Short sale slot may be specified for delta hedge orders only".
- [394](https://openbrokerapi.com/errors/ibkr/394-invalid-process-time): Listed by the vendor as "Invalid Process Time: must be integer number of milliseconds between 100 and 2000.
- [395](https://openbrokerapi.com/errors/ibkr/395-oca-orders-not-accepted): Listed by the vendor as "Due to system problems, orders with OCA groups are currently not being accepted".
- [396](https://openbrokerapi.com/errors/ibkr/396-market-and-limit-only): Listed by the vendor as "Due to system problems, application is currently accepting only Market and Limit orders for this contract".
- [397](https://openbrokerapi.com/errors/ibkr/397-market-limit-only-contract): Listed by the vendor as "Due to system problems, application is currently accepting only Market and Limit orders for this contract".
- [398](https://openbrokerapi.com/errors/ibkr/398-invalid-condition-trigger): Listed by the vendor as "\< > cannot be used as a condition trigger".
- [399](https://openbrokerapi.com/errors/ibkr/399-order-message-error): Listed by the vendor as "Order message error".
- [400](https://openbrokerapi.com/errors/ibkr/400-algo-order-error): Listed by the vendor as "Algo order error".
- [401](https://openbrokerapi.com/errors/ibkr/401-length-restriction): Listed by the vendor as "Length restriction".
- [401 Unauthorized](https://openbrokerapi.com/errors/ibkr/web-api-401-unauthorized): On the Web API, the reference for submitting an order lists 401 Unauthorized and describes it as a missing, invalid or unparseable Authorization token.
- [402](https://openbrokerapi.com/errors/ibkr/402-conditions-not-allowed): Listed by the vendor as "Conditions are not allowed for this contract".
- [403](https://openbrokerapi.com/errors/ibkr/403-invalid-stop-price): Listed by the vendor as "Invalid stop price".
- [404](https://openbrokerapi.com/errors/ibkr/404-shares-not-available-short): Listed by the vendor as "Shares for this order are not immediately available for short sale.
- [405](https://openbrokerapi.com/errors/ibkr/405-child-qty-parent-size): Listed by the vendor as "The child order quantity should be equivalent to the parent order size".
- [406](https://openbrokerapi.com/errors/ibkr/406-currency-not-allowed): Listed by the vendor as "The currency \< > is not allowed".
- [407](https://openbrokerapi.com/errors/ibkr/407-symbol-non-unicode): Listed by the vendor as "The symbol should contain valid non-unicode characters only".
- [408](https://openbrokerapi.com/errors/ibkr/408-invalid-scale-increment): Listed by the vendor as "Invalid scale order increment".
- [409](https://openbrokerapi.com/errors/ibkr/409-scale-component-size): Listed by the vendor as "Invalid scale order.
- [410](https://openbrokerapi.com/errors/ibkr/410-scale-subsequent-size): Listed by the vendor as "Invalid subsequent component size for scale order".
- [411](https://openbrokerapi.com/errors/ibkr/411-outside-rth-not-valid): Interactive Brokers lists TWS API error code 411 with the text "The "Outside Regular Trading Hours" flag is not valid for this order." (the vendor's wording).
- [412](https://openbrokerapi.com/errors/ibkr/412-contract-not-available): Listed by the vendor as "The contract is not available for trading".
- [413](https://openbrokerapi.com/errors/ibkr/413-what-if-transmit-flag): Listed by the vendor as "What-if order should have the transmit flag set to true".
- [414](https://openbrokerapi.com/errors/ibkr/414-snapshot-generic-ticks): Listed by the vendor as "Snapshot market data subscription is not applicable to generic ticks".
- [415](https://openbrokerapi.com/errors/ibkr/415-wait-for-previous-rfq): Listed by the vendor as "Wait until previous RFQ finishes and try again".
- [416](https://openbrokerapi.com/errors/ibkr/416-rfq-not-applicable): Listed by the vendor as "RFQ is not applicable for the contract.
- [417](https://openbrokerapi.com/errors/ibkr/417-scale-initial-size-invalid): Listed by the vendor as "Invalid initial component size for scale order".
- [418](https://openbrokerapi.com/errors/ibkr/418-scale-profit-offset-invalid): Listed by the vendor as "Invalid scale order profit offset".
- [419](https://openbrokerapi.com/errors/ibkr/419-scale-initial-size-missing): Listed by the vendor as "Missing initial component size for scale order".
- [420](https://openbrokerapi.com/errors/ibkr/420-invalid-real-time-query): Listed by the vendor as "Invalid real-time query".
- [421](https://openbrokerapi.com/errors/ibkr/421-invalid-route): Listed by the vendor as "Invalid route".
- [422](https://openbrokerapi.com/errors/ibkr/422-account-clearing-attributes): Listed by the vendor as "The account and clearing attributes on this order may not be changed".
- [423](https://openbrokerapi.com/errors/ibkr/423-cross-order-rfq-expired): Listed by the vendor as "Cross order RFQ has been expired.
- [424](https://openbrokerapi.com/errors/ibkr/424-fa-order-needs-allocation): Listed by the vendor as "FA Order requires allocation to be specified".
- [425](https://openbrokerapi.com/errors/ibkr/425-fa-manual-allocations): Listed by the vendor as "FA Order requires per-account manual allocations because there is no common clearing instruction.
- [426](https://openbrokerapi.com/errors/ibkr/426-not-enough-shares): Listed by the vendor as "None of the accounts have enough shares".
- [427](https://openbrokerapi.com/errors/ibkr/427-mutual-fund-needs-value): Listed by the vendor as "Mutual Fund order requires monetary value to be specified".
- [428](https://openbrokerapi.com/errors/ibkr/428-mutual-fund-sell-shares): Listed by the vendor as "Mutual Fund Sell order requires shares to be specified".
- [429](https://openbrokerapi.com/errors/ibkr/429-delta-neutral-combos-only): Listed by the vendor as "Delta neutral orders are only supported for combos (BAG security type)".
- [429 Too Many Requests](https://openbrokerapi.com/errors/ibkr/web-api-429): On the Client Portal Web API, Interactive Brokers says that where a pacing limit is exceeded, the API returns a "429 Too Many Requests" exception (the vendor's wording).
- [430](https://openbrokerapi.com/errors/ibkr/430-fundamentals-not-available): Listed by the vendor as "We are sorry, but fundamentals data for the security specified is not available".
- [431](https://openbrokerapi.com/errors/ibkr/431-what-to-show-missing): Listed by the vendor as "What to show field is missing or incorrect".
- [432](https://openbrokerapi.com/errors/ibkr/432-commission-not-negative): Listed by the vendor as "Commission must not be negative".
- [433](https://openbrokerapi.com/errors/ibkr/433-invalid-restore-size): Interactive Brokers lists TWS API error code 433 with the text "Invalid "Restore size after taking profit" for multiple account allocation scale order." (the vendor's wording).
- [434](https://openbrokerapi.com/errors/ibkr/434-order-size-cannot-be-zero): Listed by the vendor as "The order size cannot be zero".
- [435](https://openbrokerapi.com/errors/ibkr/435-must-specify-account): Listed by the vendor as "You must specify an account".
- [436](https://openbrokerapi.com/errors/ibkr/436-must-specify-allocation): Listed by the vendor as "You must specify an allocation (either a single account, group, or profile)".
- [437](https://openbrokerapi.com/errors/ibkr/437-outside-rth-or-preopen): Listed by the vendor as "Order can have only one flag Outside RTH or Allow PreOpen".
- [438](https://openbrokerapi.com/errors/ibkr/438-application-locked): Listed by the vendor as "The application is now locked".
- [439](https://openbrokerapi.com/errors/ibkr/439-algo-definition-not-found): Listed by the vendor as "Order processing failed.
- [440](https://openbrokerapi.com/errors/ibkr/440-algo-cannot-be-modified): Listed by the vendor as "Order modify failed.
- [441](https://openbrokerapi.com/errors/ibkr/441-algo-validation-failed): Listed by the vendor as "Algo attributes validation failed:".
- [442](https://openbrokerapi.com/errors/ibkr/442-algorithm-not-allowed): Listed by the vendor as "Specified algorithm is not allowed for this order".
- [443](https://openbrokerapi.com/errors/ibkr/443-unknown-algo-attribute): Listed by the vendor as "Order processing failed.
- [444](https://openbrokerapi.com/errors/ibkr/444-vol-combo-not-acknowledged): Listed by the vendor as "Volatility Combo order is not yet acknowledged.
- [445](https://openbrokerapi.com/errors/ibkr/445-rfq-no-longer-valid): Listed by the vendor as "The RFQ for this order is no longer valid".
- [446](https://openbrokerapi.com/errors/ibkr/446-scale-profit-offset-missing): Listed by the vendor as "Missing scale order profit offset".
- [447](https://openbrokerapi.com/errors/ibkr/447-scale-price-adjust-missing): Listed by the vendor as "Missing scale price adjustment amount or interval".
- [448](https://openbrokerapi.com/errors/ibkr/448-scale-adjust-interval): Listed by the vendor as "Invalid scale price adjustment interval".
- [449](https://openbrokerapi.com/errors/ibkr/449-scale-adjust-unexpected): Listed by the vendor as "Unexpected scale price adjustment amount or interval".
- [456](https://openbrokerapi.com/errors/ibkr/456-max-number-of): Listed by the vendor as "Max number of real time requests has been reached".
- [481](https://openbrokerapi.com/errors/ibkr/481-order-size-reduced): Listed by the vendor as "Order size reduced".
- [500 Internal Server Error](https://openbrokerapi.com/errors/ibkr/web-api-500-internal-server-error): On the Web API, the reference for submitting an order lists 500 Internal Server Error, returned when the incoming request cannot be processed.
- [501](https://openbrokerapi.com/errors/ibkr/501-already-connected): Interactive Brokers lists TWS API client error code 501 with the text "Already Connected." (the vendor's wording).
- [502](https://openbrokerapi.com/errors/ibkr/502-cannot-connect-to-tws): Couldn't connect to TWS.
- [503](https://openbrokerapi.com/errors/ibkr/503-tws-out-of-date): Interactive Brokers lists TWS API client error code 503 with the text "The TWS is out of date and must be upgraded." (the vendor's wording).
- [503 on order reply](https://openbrokerapi.com/errors/ibkr/web-api-503-reply-timeout): On the Web API, Interactive Brokers says an order reply must be confirmed straight after it is received and before any further order is sent.
- [503 Service Unavailable](https://openbrokerapi.com/errors/ibkr/web-api-503-service-unavailable): On the Web API, the reference for submitting an order lists 503 Service Unavailable.
- [504](https://openbrokerapi.com/errors/ibkr/504-not-connected): Not connected.
- [505](https://openbrokerapi.com/errors/ibkr/505-fatal-error-unknown): Listed by the vendor as "Fatal Error: Unknown message id".
- [506](https://openbrokerapi.com/errors/ibkr/506-unsupported-version): Listed by the vendor as "Unsupported Version".
- [507](https://openbrokerapi.com/errors/ibkr/507-bad-message-length): Listed by the vendor as "Bad Message Length (Java-only)".
- [508](https://openbrokerapi.com/errors/ibkr/508-bad-message): Listed by the vendor as "Bad Message".
- [509](https://openbrokerapi.com/errors/ibkr/509-exception-caught-while): Listed by the vendor as "Exception caught while reading socket".
- [510](https://openbrokerapi.com/errors/ibkr/510-request-market-data): Listed by the vendor as "Request Market Data Sending Error".
- [511](https://openbrokerapi.com/errors/ibkr/511-cancel-market-data): Listed by the vendor as "Cancel Market Data Sending Error".
- [512](https://openbrokerapi.com/errors/ibkr/512-order): Listed by the vendor as "Order Sending Error".
- [513](https://openbrokerapi.com/errors/ibkr/513-account-update-request): Listed by the vendor as "Account Update Request Sending Error".
- [514](https://openbrokerapi.com/errors/ibkr/514-request-for-executions): Listed by the vendor as "Request For Executions Sending Error".
- [515](https://openbrokerapi.com/errors/ibkr/515-cancel-order): Listed by the vendor as "Cancel Order Sending Error".
- [516](https://openbrokerapi.com/errors/ibkr/516-request-open-order): Listed by the vendor as "Request Open Order Sending Error".
- [517](https://openbrokerapi.com/errors/ibkr/517-unknown-contract-verify): Listed by the vendor as "Unknown contract.
- [518](https://openbrokerapi.com/errors/ibkr/518-request-contract-data): Listed by the vendor as "Request Contract Data Sending Error".
- [519](https://openbrokerapi.com/errors/ibkr/519-request-market-depth): Listed by the vendor as "Request Market Depth Sending Error".
- [520](https://openbrokerapi.com/errors/ibkr/520-failed-to-create): Listed by the vendor as "Failed to create socket".
- [521](https://openbrokerapi.com/errors/ibkr/521-set-server-log): Listed by the vendor as "Set Server Log Level Sending Error".
- [522](https://openbrokerapi.com/errors/ibkr/522-fa-information-request): Listed by the vendor as "FA Information Request Sending Error".
- [523](https://openbrokerapi.com/errors/ibkr/523-fa-information-replace): Listed by the vendor as "FA Information Replace Sending Error".
- [524](https://openbrokerapi.com/errors/ibkr/524-request-scanner-subscription): Listed by the vendor as "Request Scanner Subscription Sending Error".
- [525](https://openbrokerapi.com/errors/ibkr/525-cancel-scanner-subscription): Listed by the vendor as "Cancel Scanner Subscription Sending Error".
- [526](https://openbrokerapi.com/errors/ibkr/526-request-scanner-parameter): Listed by the vendor as "Request Scanner Parameter Sending Error".
- [527](https://openbrokerapi.com/errors/ibkr/527-request-historical-data): Listed by the vendor as "Request Historical Data Sending Error".
- [528](https://openbrokerapi.com/errors/ibkr/528-request-historical-data): Listed by the vendor as "Request Historical Data Sending Error".
- [529](https://openbrokerapi.com/errors/ibkr/529-request-real-time): Listed by the vendor as "Request Real-time Bar Data Sending Error".
- [530](https://openbrokerapi.com/errors/ibkr/530-cancel-real-time): Listed by the vendor as "Cancel Real-time Bar Data Sending Error".
- [531](https://openbrokerapi.com/errors/ibkr/531-request-current-time): Listed by the vendor as "Request Current Time Sending Error".
- [532](https://openbrokerapi.com/errors/ibkr/532-request-fundamental-data): Listed by the vendor as "Request Fundamental Data Sending Error".
- [533](https://openbrokerapi.com/errors/ibkr/533-cancel-fundamental-data): Listed by the vendor as "Cancel Fundamental Data Sending Error".
- [534](https://openbrokerapi.com/errors/ibkr/534-request-calculate-implied): Listed by the vendor as "Request Calculate Implied Volatility Sending Error".
- [535](https://openbrokerapi.com/errors/ibkr/535-request-calculate-option): Listed by the vendor as "Request Calculate Option Price Sending Error".
- [536](https://openbrokerapi.com/errors/ibkr/536-cancel-calculate-implied): Listed by the vendor as "Cancel Calculate Implied Volatility Sending Error".
- [537](https://openbrokerapi.com/errors/ibkr/537-cancel-calculate-option): Listed by the vendor as "Cancel Calculate Option Price Sending Error".
- [538](https://openbrokerapi.com/errors/ibkr/538-request-global-cancel): Listed by the vendor as "Request Global Cancel Sending Error".
- [539](https://openbrokerapi.com/errors/ibkr/539-request-market-data): Listed by the vendor as "Request Market Data Type Sending Error".
- [540](https://openbrokerapi.com/errors/ibkr/540-request-positions): Listed by the vendor as "Request Positions Sending Error".
- [541](https://openbrokerapi.com/errors/ibkr/541-cancel-positions): Listed by the vendor as "Cancel Positions Sending Error".
- [542](https://openbrokerapi.com/errors/ibkr/542-request-account-data): Listed by the vendor as "Request Account Data Sending Error".
- [543](https://openbrokerapi.com/errors/ibkr/543-cancel-account-data): Listed by the vendor as "Cancel Account Data Sending Error".
- [544](https://openbrokerapi.com/errors/ibkr/544-verify-request): Listed by the vendor as "Verify Request Sending Error".
- [545](https://openbrokerapi.com/errors/ibkr/545-verify-message): Listed by the vendor as "Verify Message Sending Error".
- [546](https://openbrokerapi.com/errors/ibkr/546-query-display-groups): Listed by the vendor as "Query Display Groups Sending Error".
- [547](https://openbrokerapi.com/errors/ibkr/547-subscribe-to-group): Listed by the vendor as "Subscribe To Group Events Sending Error".
- [548](https://openbrokerapi.com/errors/ibkr/548-update-display-group): Listed by the vendor as "Update Display Group Sending Error".
- [549](https://openbrokerapi.com/errors/ibkr/549-unsubscribe-from-group): Listed by the vendor as "Unsubscribe From Group Events Sending Error".
- [550](https://openbrokerapi.com/errors/ibkr/550-start-api): Listed by the vendor as "Start API Sending Error".
- [551](https://openbrokerapi.com/errors/ibkr/551-verify-and-auth): Listed by the vendor as "Verify And Auth Request Sending Error".
- [552](https://openbrokerapi.com/errors/ibkr/552-verify-and-auth): Listed by the vendor as "Verify And Auth Message Sending Error".
- [553](https://openbrokerapi.com/errors/ibkr/553-request-positions-multi): Listed by the vendor as "Request Positions Multi Sending Error".
- [554](https://openbrokerapi.com/errors/ibkr/554-cancel-positions-multi): Listed by the vendor as "Cancel Positions Multi Sending Error".
- [555](https://openbrokerapi.com/errors/ibkr/555-request-account-updates): Listed by the vendor as "Request Account Updates Multi Sending Error".
- [556](https://openbrokerapi.com/errors/ibkr/556-cancel-account-updates): Listed by the vendor as "Cancel Account Updates Multi Sending Error".
- [557](https://openbrokerapi.com/errors/ibkr/557-request-security-definition): Listed by the vendor as "Request Security Definition Option Params Sending Error".
- [558](https://openbrokerapi.com/errors/ibkr/558-request-soft-dollar): Listed by the vendor as "Request Soft Dollar Tiers Sending Error".
- [559](https://openbrokerapi.com/errors/ibkr/559-request-family-codes): Listed by the vendor as "Request Family Codes Sending Error".
- [560](https://openbrokerapi.com/errors/ibkr/560-request-matching-symbols): Listed by the vendor as "Request Matching Symbols Sending Error".
- [561](https://openbrokerapi.com/errors/ibkr/561-request-market-depth): Listed by the vendor as "Request Market Depth Exchanges Sending Error".
- [562](https://openbrokerapi.com/errors/ibkr/562-request-smart-components): Listed by the vendor as "Request Smart Components Sending Error".
- [563](https://openbrokerapi.com/errors/ibkr/563-request-news-providers): Listed by the vendor as "Request News Providers Sending Error".
- [564](https://openbrokerapi.com/errors/ibkr/564-request-news-article): Listed by the vendor as "Request News Article Sending Error".
- [565](https://openbrokerapi.com/errors/ibkr/565-request-historical-news): Listed by the vendor as "Request Historical News Sending Error".
- [566](https://openbrokerapi.com/errors/ibkr/566-request-head-time): Listed by the vendor as "Request Head Time Stamp Sending Error".
- [567](https://openbrokerapi.com/errors/ibkr/567-request-histogram-data): Listed by the vendor as "Request Histogram Data Sending Error".
- [568](https://openbrokerapi.com/errors/ibkr/568-cancel-request-histogram): Listed by the vendor as "Cancel Request Histogram Data Sending Error".
- [569](https://openbrokerapi.com/errors/ibkr/569-cancel-head-time): Listed by the vendor as "Cancel Head Time Stamp Sending Error".
- [570](https://openbrokerapi.com/errors/ibkr/570-request-market-rule): Listed by the vendor as "Request Market Rule Sending Error".
- [571](https://openbrokerapi.com/errors/ibkr/571-request-pnl): Listed by the vendor as "Request PnL Sending Error".
- [572](https://openbrokerapi.com/errors/ibkr/572-cancel-pnl): Listed by the vendor as "Cancel PnL Sending Error".
- [573](https://openbrokerapi.com/errors/ibkr/573-request-pnl-single): Listed by the vendor as "Request PnL Single Error".
- [574](https://openbrokerapi.com/errors/ibkr/574-cancel-pnl-single): Listed by the vendor as "Cancel PnL Single Sending Error".
- [575](https://openbrokerapi.com/errors/ibkr/575-request-historical-ticks): Listed by the vendor as "Request Historical Ticks Error".
- [576](https://openbrokerapi.com/errors/ibkr/576-request-tick-by): Listed by the vendor as "Request Tick-By-Tick Data Sending Error".
- [577](https://openbrokerapi.com/errors/ibkr/577-cancel-tick-by): Listed by the vendor as "Cancel Tick-By-Tick Data Sending Error".
- [578](https://openbrokerapi.com/errors/ibkr/578-request-completed-orders): Listed by the vendor as "Request Completed Orders Sending Error".
- [579](https://openbrokerapi.com/errors/ibkr/579-invalid-symbol-in): Listed by the vendor as "Invalid symbol in string".
- [580](https://openbrokerapi.com/errors/ibkr/580-request-wsh-meta): Listed by the vendor as "Request WSH Meta Data Sending Error".
- [581](https://openbrokerapi.com/errors/ibkr/581-cancel-wsh-meta): Listed by the vendor as "Cancel WSH Meta Data Sending Error".
- [582](https://openbrokerapi.com/errors/ibkr/582-request-wsh-event): Listed by the vendor as "Request WSH Event Data Sending Error".
- [583](https://openbrokerapi.com/errors/ibkr/583-cancel-wsh-event): Listed by the vendor as "Cancel WSH Event Data Sending Error".
- [584](https://openbrokerapi.com/errors/ibkr/584-request-user-info): Listed by the vendor as "Request User Info Sending Error".
- [585](https://openbrokerapi.com/errors/ibkr/585-fa-profile-is): Listed by the vendor as "FA Profile is not supported anymore, use FA Group instead".
- [586](https://openbrokerapi.com/errors/ibkr/586-failed-to-read): Listed by the vendor as "Failed to read message because not connected".
- [587](https://openbrokerapi.com/errors/ibkr/587-request-current-time): Listed by the vendor as "Request Current Time In Millis Sending Error".
- [588](https://openbrokerapi.com/errors/ibkr/588-error-encoding-protobuf): Listed by the vendor as "Error encoding protobuf".
- [589](https://openbrokerapi.com/errors/ibkr/589-cancel-market-depth): Listed by the vendor as "Cancel Market Depth Sending Error".
- [Bad Request Error](https://openbrokerapi.com/errors/ibkr/web-api-bad-request): On the Client Portal Web API, Interactive Brokers says some endpoints may return a Bad Request when the JSON body is invalid, for instance when it contains carriage returns or newlines.
- [conid or conidex is required](https://openbrokerapi.com/errors/ibkr/web-api-400-conid-required): Web API status 400 BadRequest, with the error message "conid or conidex is required" (the vendor's wording).
- [Failed to parse body as JSON](https://openbrokerapi.com/errors/ibkr/web-api-400-failed-to-parse-body): Web API status 400 BadRequest, with an error message that begins "Failed to parse body as JSON" (the vendor's wording).
- [Invalid order price fields](https://openbrokerapi.com/errors/ibkr/web-api-200-invalid-order-price-fields): Web API status 200 OK, with the error message "Invalid order price fields" (the vendor's wording).
- [Invalid Side](https://openbrokerapi.com/errors/ibkr/web-api-400-invalid-side): Web API status 400 BadRequest, with the error message "Invalid Side (must be 'BUY' or 'SELL')." (the vendor's wording).
- [Invalid SSL certificate](https://openbrokerapi.com/errors/ibkr/web-api-invalid-ssl-cert): The Client Portal Web API gateway runs on your own premises, so Interactive Brokers says its certificate has to be created and self signed by you, or officially signed by a trusted third party.
- [Network Error while accessing endpoints](https://openbrokerapi.com/errors/ibkr/web-api-network-error): On the Client Portal Web API, Interactive Brokers describes this for the endpoints and websockets functionality of its documentation page when used inside a web browser: Cross Origin Resource Blocking (CORB) in the browser gets in the way.
- [no sec defs returned](https://openbrokerapi.com/errors/ibkr/web-api-200-no-sec-defs-returned): Web API status 200 OK, with an error message that begins "no sec defs returned" (the vendor's wording).
- [null time in force is not supported for this order](https://openbrokerapi.com/errors/ibkr/web-api-200-null-time-in-force): Web API status 200 OK, with the error message "null time in force is not supported for this order" (the vendor's wording).
- [o10082](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10082): o10082 is an IBKR Web API order reply message id.
- [o10138](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10138): o10138 is an IBKR Web API order reply message id.
- [o10151](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10151): o10151 is an IBKR Web API order reply message id.
- [o10152](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10152): o10152 is an IBKR Web API order reply message id.
- [o10153](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10153): o10153 is an IBKR Web API order reply message id.
- [o10164](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10164): o10164 is an IBKR Web API order reply message id.
- [o10223](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10223): o10223 is an IBKR Web API order reply message id.
- [o10288](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10288): o10288 is an IBKR Web API order reply message id.
- [o10331](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10331): o10331 is an IBKR Web API order reply message id.
- [o10332](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10332): o10332 is an IBKR Web API order reply message id.
- [o10333](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10333): o10333 is an IBKR Web API order reply message id.
- [o10334](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10334): o10334 is an IBKR Web API order reply message id.
- [o10335](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10335): o10335 is an IBKR Web API order reply message id.
- [o10336](https://openbrokerapi.com/errors/ibkr/web-api-reply-o10336): o10336 is an IBKR Web API order reply message id.
- [o163](https://openbrokerapi.com/errors/ibkr/web-api-reply-o163): o163 is an IBKR Web API order reply message id.
- [o2136](https://openbrokerapi.com/errors/ibkr/web-api-reply-o2136): o2136 is an IBKR Web API order reply message id.
- [o2137](https://openbrokerapi.com/errors/ibkr/web-api-reply-o2137): o2137 is an IBKR Web API order reply message id.
- [o2165](https://openbrokerapi.com/errors/ibkr/web-api-reply-o2165): o2165 is an IBKR Web API order reply message id.
- [o354](https://openbrokerapi.com/errors/ibkr/web-api-reply-o354): o354 is an IBKR Web API order reply message id.
- [o382](https://openbrokerapi.com/errors/ibkr/web-api-reply-o382): o382 is an IBKR Web API order reply message id.
- [o383](https://openbrokerapi.com/errors/ibkr/web-api-reply-o383): o383 is an IBKR Web API order reply message id.
- [o403](https://openbrokerapi.com/errors/ibkr/web-api-reply-o403): o403 is an IBKR Web API order reply message id.
- [o451](https://openbrokerapi.com/errors/ibkr/web-api-reply-o451): o451 is an IBKR Web API order reply message id.
- [Order reject object](https://openbrokerapi.com/errors/ibkr/web-api-200-order-reject): On the Web API, Interactive Brokers says that an order which cannot be completed because of account details, such as trading permissions or funds, gets a 200 OK response carrying an error field that explains the issue.
- [Order reply message](https://openbrokerapi.com/errors/ibkr/web-api-200-order-reply-message): On the Web API, an order submission can come back with status 200 OK and, instead of an acknowledgement, an object holding an id, a message, isSuppressed, messageIds and, on the error details page, messageOptions.
- [orders request includes parameter with incorrect type](https://openbrokerapi.com/errors/ibkr/web-api-400-parameter-incorrect-type): Web API status 400 BadRequest, with the error message "orders request includes parameter with incorrect type" (the vendor's wording).
- [p12](https://openbrokerapi.com/errors/ibkr/web-api-reply-p12): p12 is an IBKR Web API order reply message id.
- [p6](https://openbrokerapi.com/errors/ibkr/web-api-reply-p6): p6 is an IBKR Web API order reply message id.
- [The contract description specified for %S is ambiguous; you must specify the currency](https://openbrokerapi.com/errors/ibkr/ambiguous-contract-currency): Interactive Brokers prints this message, in the vendor's wording, as a second row under code 203 in its TWS API error table.
- [The contract description specified for \<Symbol> is ambiguous](https://openbrokerapi.com/errors/ibkr/ambiguous-contract): Interactive Brokers prints this message, in the vendor's wording, in its TWS error table directly under code 200 and without a code number of its own.
- [Unknown order type](https://openbrokerapi.com/errors/ibkr/web-api-400-unknown-order-type): Web API status 400 BadRequest, with the error message "Unknown order type" (the vendor's wording).
- [WinError 10038](https://openbrokerapi.com/errors/ibkr/winerror-10038): Interactive Brokers lists the TWS API client error WinError 10038 with the text "An operation was attempted on something that is not a socket." (the vendor's wording).

## Platform APIs an account here can reach

- [MetaTrader 4 (MQL4)](https://openbrokerapi.com/platforms/metatrader-4): not offered. IBKR docs warn 'MetaTrader 4 may be no longer supported'; BrokerChooser also says IBKR does not offer MT4.
  - Status: verified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.
- [MetaTrader 5 (Python package and MQL5)](https://openbrokerapi.com/platforms/metatrader-5): not verified. IBKR docs say 'You can connect your Interactive Brokers account to MetaTrader 5' but link out to a third-party guide; it reads as a third-party bridge, not a broker-hosted MT5 server. Entity and UK availability not stated.
  - Status: unverified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.
- [cTrader Open API](https://openbrokerapi.com/platforms/ctrader): not offered. cTrader not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.
  - Status: unverified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.
- [TradeLocker API](https://openbrokerapi.com/platforms/tradelocker): not offered. TradeLocker not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.
  - Status: unverified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.
- [Match-Trader Platform API](https://openbrokerapi.com/platforms/match-trader): not offered. Match-Trader not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.
  - Status: unverified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.
- [DXtrade APIs](https://openbrokerapi.com/platforms/dxtrade): not offered. DXtrade not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.
  - Status: unverified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.

## Interactive Brokers API SDKs and wrappers

- TWS API (ibapi) (Python, Java, C++, C#, VB, Official)
  - Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/tws-api/doc/introduction), checked 2026-10-12.
- ib_async (Python, Community): Community successor to ib_insync; 2.1.0 released Dec 2025. Migration note. ib_insync has been archived since March 2024 and ib_async is its maintained successor, but the archived package is still the more installed of the two: 640,258 against 556,555 over the same rolling 30 days to 23 Sep 2026, both from the pypistats.org /recent last_month counter. The 755,366 reading this page carried was taken on 20 Sep 2026 and is superseded by the 23 Sep reading above, not by a correction to it. If a tutorial tells you to install ib_insync, install ib_async instead: pip uninstall ib_insync, pip install ib_async, then change the import from ib_insync to ib_async. The class and method names are kept, so most scripts run unchanged.
  - Status: verified. Source: [pypi.org](https://pypi.org/project/ib-async/), checked 2026-09-18.
- ibeam (Python (Docker), Community): Community headless re-auth tool for the Client Portal Gateway; 155 forks, 10 open issues; release date not checked.
  - Status: verified. Source: [github.com](https://github.com/Voyz/ibeam), checked 2026-09-18.
- IBKR MCP public endpoint (Any MCP client, Official): Hosted by IBKR at https://api.ibkr.com/v1/api/mcp-public and open to any MCP client. Connector 1.1.5 of 1 Sep 2026 is reported as the release that opened it. IBKR's AI integrations page carries no connector version and no such date, so that version and date are unverified, checked 19 Sep 2026. Read only: instructions never become orders automatically. Credentials are never passed to the AI application, and consent is revoked in Client Portal under Settings, Manage Third-Party Consents. Not available in India or Japan.
  - Status: verified. Source: [ibkrguides.com](https://www.ibkrguides.com/releasenotes/connector-v1.1.5.htm), checked 2026-09-19.

## Interactive Brokers API: questions and answers

### Does Interactive Brokers have an API?

Yes. This register records Interactive Brokers as having its own API (TWS API (TCP socket), REST (Client Portal Web API) and WebSocket), with availability marked as active. TWS API (socket via TWS or IB Gateway), and a single IBKR Web API that IBKR is folding Client Portal Web API, Digital Account Management and the Flex Web Service into.

- Status: verified. Source: [IBKR TWS API documentation, introduction](https://www.interactivebrokers.com/docs/tws-api/doc/introduction), checked 2026-10-12.

### Interactive Brokers API key: how do I get one?

No key: run TWS or IB Gateway (TWS API) or the Client Portal Gateway and log in via browser (Web API).

- Status: verified. Source: [IBKR TWS API documentation, the IB Gateway](https://www.interactivebrokers.com/docs/tws-api/doc/architecture/the-trader-workstation/the-ib-gateway), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API documentation, Client Portal Gateway installation and authentication](https://www.interactivebrokers.com/docs/web-api/authentication/cpgw/installation-authentication), checked 2026-10-12.

### Who can use the Interactive Brokers API?

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.

- Status: verified. Source: [IBKR Web API v1.0 documentation, requirements and limitations](https://www.interactivebrokers.com/docs/web-api/v1/requirements-limitations/introduction), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, introduction](https://www.interactivebrokers.com/docs/web-api/v1/introduction), checked 2026-10-12.
- Status: verified. Source: [IBKR TWS API documentation, requirements](https://www.interactivebrokers.com/docs/tws-api/doc/notes-limitations/requirements), checked 2026-10-12.

### Interactive Brokers API demo: is there a demo or sandbox?

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.

- Status: verified. Source: [IBKR Web API documentation, using a paper account](https://www.interactivebrokers.com/docs/web-api/authentication/paper), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, requirements and limitations](https://www.interactivebrokers.com/docs/web-api/v1/requirements-limitations/introduction), checked 2026-10-12.

### What are the Interactive Brokers API rate limits?

Global requests a second (Web API): 10 requests per second. Scope: Per authenticated username, that is per Web API session. Historical market data requests: Either 10 req/s or 50 req/minute, as the page words it. Scope: GET /iserver/marketdata/history only. Market data snapshot requests a second: 10 requests per second. Scope: GET /iserver/marketdata/snapshot only. Order and trade list requests: 1 req/5 s. Scope: GET /iserver/orders and GET /iserver/trades, each counted on its own. Session validation requests a minute: 1 requests per minute. Scope: GET /sso/validate only. Session keep alive requests a second: 1 requests per second. Scope: GET /tickle only. As the record words it: Web API: 10 requests a second for each authenticated username, which IBKR equates with each Web API session, and the same figure through the Client Portal Gateway.

- Status: verified. Source: [ibkrcampus.com](https://www.ibkrcampus.com/campus/ibkr-api-page/webapi-doc/), checked 2026-10-12.
- Status: verified. Source: [interactivebrokers.com](https://www.interactivebrokers.com/docs/web-api/trading/usage-and-availability/pacing-limitations), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, pacing limitations](https://www.interactivebrokers.com/docs/web-api/v1/pacing-limitations), checked 2026-10-12.
- Status: verified. Source: [IBKR TWS API: pacing limitations](https://www.interactivebrokers.com/docs/tws-api/doc/pacing-limitations/introduction), checked 2026-10-12.

### How does Interactive Brokers API authentication work?

TWS API: local socket to a TWS or IB Gateway the user has logged in to by hand.

- Status: verified. Source: [IBKR TWS API documentation, the IB Gateway](https://www.interactivebrokers.com/docs/tws-api/doc/architecture/the-trader-workstation/the-ib-gateway), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API documentation, limitations of the Client Portal Gateway](https://www.interactivebrokers.com/docs/web-api/authentication/cpgw/limitations-of-the-client-portal-gateway), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, introduction](https://www.interactivebrokers.com/docs/web-api/v1/introduction), checked 2026-10-12.
- Status: verified. Source: [Client Portal API documentation, use cases (IBKR GitHub pages)](https://interactivebrokers.github.io/cpwebapi/use-cases), checked 2026-10-12.

### Does the Interactive Brokers API support streaming?

TWS API is event driven over the socket.

- Status: verified. Source: [IBKR Web API v1.0 documentation, websockets introduction](https://www.interactivebrokers.com/docs/web-api/v1/ws/introduction), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, websocket market data request](https://www.interactivebrokers.com/docs/web-api/v1/ws/market-data/market-data-request), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, websocket historical market data request](https://www.interactivebrokers.com/docs/web-api/v1/ws/market-data/historical-market-data-request), checked 2026-10-12.
- Status: verified. Source: [IBKR Campus: Web API documentation](https://www.interactivebrokers.com/campus/ibkr-api-page/webapi-doc/), checked 2026-10-12.

### How much history does the Interactive Brokers API return?

Bars of 30 seconds or less are not available beyond six months, and expired futures not beyond two years from expiry.

- Status: verified. Source: [IBKR TWS API documentation, unavailable historical data](https://www.interactivebrokers.com/docs/tws-api/doc/market-data-historical/historical-data-limitations/unavailable-historical-data), checked 2026-10-12.
- Status: verified. Source: [IBKR TWS API documentation, pacing violations for small bars](https://www.interactivebrokers.com/docs/tws-api/doc/market-data-historical/historical-data-limitations/pacing-violations-for-small-bars-30-secs-or-less), checked 2026-10-12.
- Status: verified. Source: [IBKR TWS API documentation, execution details](https://www.interactivebrokers.com/docs/tws-api/doc/order-management/execution-details/introduction), checked 2026-10-12.
- Status: verified. Source: [IBKR Web API v1.0 documentation, pacing limitations](https://www.interactivebrokers.com/docs/web-api/v1/pacing-limitations), checked 2026-10-12.

### Is there a Python library for the Interactive Brokers API?

This register lists these Python libraries for the Interactive Brokers API. TWS API (ibapi) (official, Python, Java, C++, C#, VB). ib_async (community, Python): Community successor to ib_insync; 2.1.0 released Dec 2025. Migration note. ib_insync has been archived since March 2024 and ib_async is its maintained successor, but the archived package is still the more installed of the two: 640,258 against 556,555 over the same rolling 30 days to 23 Sep 2026, both from the pypistats.org /recent last_month counter. The 755,366 reading this page carried was taken on 20 Sep 2026 and is superseded by the 23 Sep reading above, not by a correction to it. If a tutorial tells you to install ib_insync, install ib_async instead: pip uninstall ib_insync, pip install ib_async, then change the import from ib_insync to ib_async. The class and method names are kept, so most scripts run unchanged. ibeam (community, Python (Docker)): Community headless re-auth tool for the Client Portal Gateway; 155 forks, 10 open issues; release date not checked.

- Status: verified. Source: [TWS API (ibapi)](https://www.interactivebrokers.com/docs/tws-api/doc/introduction), checked 2026-10-12.
- Status: verified. Source: [ib_async](https://pypi.org/project/ib-async/), checked 2026-09-18.
- Status: verified. Source: [ibeam](https://github.com/Voyz/ibeam), checked 2026-09-18.

### Which platform APIs work with an account at Interactive Brokers?

Recorded as not offered, with a source: MetaTrader 4. Not verified either way: MetaTrader 5, cTrader, TradeLocker, Match-Trader and DXtrade.

- Status: verified. Source: [MetaTrader 5, Interactive Brokers documentation](https://www.interactivebrokers.com/docs/third-party-integrations/specific-third-party-connection-details/meta-trader-5), checked 2026-09-18.

[Interactive Brokers API questions, each answered in a sentence or two](https://openbrokerapi.com/answers/ibkr).

## Partner programme

No published figure. [The Interactive Brokers partner programme record](https://openbrokerapi.com/partners/interactive-brokers). This site carries no affiliate links.

## Licence and how to cite

The limit records on this page come from the limits register, which is CC BY 4.0 (https://openbrokerapi.com/data/limits.json). Everything else on it comes from records that are all rights reserved. This file is the page itself, at its own address, in another format, and it is not part of the CC BY 4.0 downloads listed at https://openbrokerapi.com/data.

Cite as: Interactive Brokers API. Broker API Hub, https://openbrokerapi.com/brokers/ibkr, newest check 2026-10-12.

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.
