What does each API's most referenced error mean?
An error code is what an API sends back when it refuses a request. Some codes come up far more often than others while you write and run a program.
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.
Rows are in name order. The order is not a ranking and nothing here recommends a broker. Not recorded here means this site holds no record to answer from. It does not mean the broker or platform lacks it.
How each answer is built
The code is chosen by counting: for each error record, how many of this site's other records about the same API (its guides, quickstart, endpoints, limit records, dated changes, sample apps and carried over articles) name the code exactly. The code named by the most is used, and a tie goes to the first in code order. A code that is only digits is not counted, because a bare number in a sentence cannot be told from a quantity. Where no code is named anywhere, the question is not asked. The count measures this site's records, not how often the API returns the code.
6 of the 29 records below can answer this question. 0 of those answers rest on a record labelled unverified, 0 rest on sources that conflict, and 23 records are shown as not recorded here.
The state beside an answer is the cell the capability grid computes for the same record, shown as it stands there: Error codes decoded here. It is a separate reading of the record, decided by the rule on its own page.
Brokers
| Record | Answer from the record | Error codes | Status, source and date |
|---|---|---|---|
| Axi | Not recorded here | Not recorded | No record held |
| Bitget | Not recorded here | Not recorded | No record held |
| Capital.com | Not recorded here | Yes | No record held |
| CMC Markets | Not recorded here | Not recorded | No record held |
| Deriv | What does Deriv error Deriv-App-ID header is required for PAT tokens mean? A REST request authenticated with a personal access token was sent without the Deriv-App-ID header. Deriv's page gives this as the message of the 401 response. Deriv error Deriv-App-ID header is required for PAT tokens: the meaning in full and what to do | Yes | developers.deriv.comchecked |
| Dukascopy | Not recorded here | Not recorded | No record held |
| eToro | Not recorded here | Yes | No record held |
| Exness | Not recorded here | Not recorded | No record held |
| FOREX.com | Not recorded here | Not recorded | No record held |
| FXCM | Not recorded here | Not recorded | No record held |
| FxPro | Not recorded here | Not recorded | No record held |
| IG | What does IG error error.public-api.exceeded-api-key-allowance mean? The traffic allowance of the API key has been exceeded. IG's reference lists this code under HTTP 403 in the Exceptions tables for /session. IG error error.public-api.exceeded-api-key-allowance: the meaning in full and what to do | Yes | labs.ig.comchecked |
| Interactive Brokers | Not recorded here | Yes | No record held |
| OANDA | What does OANDA error HTTP 429 mean? OANDA returned HTTP 429 because requests arrived faster than it would accept them. | Yes | developer.oanda.comchecked |
| Pepperstone | Not recorded here | Not recorded | No record held |
| Saxo | What does Saxo error IllegalInstrumentId mean? The instrument is unknown. Saxo's description is Unknown instrument name. Saxo lists this among the error codes of the order placement endpoint. Saxo error IllegalInstrumentId: the meaning in full and what to do | Yes | developer.saxochecked |
| Swissquote | Not recorded here | Not recorded | No record held |
| ThinkMarkets | Not recorded here | Not recorded | No record held |
| Tickmill | Not recorded here | Not recorded | No record held |
| Trading 212 | Not recorded here | Yes | No record held |
| XTB | Not recorded here | Not recorded | No record held |
Platform APIs
| Record | Answer from the record | Error codes | Status, source and date |
|---|---|---|---|
| cTrader | Not recorded here | Yes | No record held |
| DXtrade | Not recorded here | Yes | No record held |
| Match-Trader | Not recorded here | Yes | No record held |
| MetaApi | Not recorded here | Not recorded | No record held |
| MetaCopier | Not recorded here | Not recorded | No record held |
| MetaTrader 4 | Not recorded here | Yes | No record held |
| MetaTrader 5 | What does MetaTrader 5 error -10005 mean? The terminal did not respond in time. MetaTrader 5 error -10005: the meaning in full and what to do | Yes | mql5.comchecked |
| TradeLocker | What does TradeLocker error no_data mean? A status in the response of GET /trade/history, not an HTTP error. TradeLocker says the status is set to no_data when there is no data in the requested time period. TradeLocker error no_data: the meaning in full and what to do | Yes | public-api.tradelocker.comchecked |
Where to go next
- Error codes by broker
- Errors by HTTP status
- Tools, with an error lookup
- Answers for every broker and platform API
- Which retail brokers have a public trading API?
- Which broker APIs have a demo environment?
- What are the rate limits of each broker API?
- How does each broker API authenticate?
- Which broker APIs stream prices?
- Which broker APIs have an official Python library?
- Which broker APIs have an MCP server?