Capital.com vs eToro API
The same fields from the Capital.com record and the eToro record, side by side. No winner is picked: which one suits you depends on what you are building.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
What the two records show
Differences you can see in the records themselves. These are counts of what this site holds, not a verdict on either API.
- Capital.com is recorded as a broker with an API of its own. eToro is recorded as a broker with an API of its own.
- This site documents 36 endpoints for Capital.com and 51 endpoints for eToro. That counts what has been documented here, not what each API offers.
- This site has decoded 24 error codes for Capital.com and 16 error codes for eToro.
- The limits register holds 1 limit record for Capital.com and 1 limit record for eToro. Each limit record carries its own scope.
- The Capital.com record holds a demo claim, verified at its source. The eToro record holds a demo claim, verified at its source. The wording of each is in the Demo row below.
- A quickstart is built here for both.
Capital.com and eToro, field by field
| Field | Capital.com | eToro |
|---|---|---|
| Kind | Broker with its own API | Broker with its own API |
| API family | REST, WebSocket | REST, WebSocket, OAuth 2.0 SSO (partners) |
| How you get access | Enable 2FA, then Settings > API integrations > Generate new key, with a custom key password.Capital.com Public APIchecked | Settings > Trading > API Key Management > Create New Key; choose Read or Write, optional IP whitelist and expiry.eToro API portal: authenticationchecked |
| Who can use it | Any Capital.com account (demo or live) with 2FA enabled. Regional limits not published.Capital.com Public APIchecked | Verified eToro account required. Regional availability not published on pages opened.eToro API Portalchecked |
| Demo | Yes: separate demo base URL.Capital.com Public APIchecked | Yes: the environment is bound to the key when it is created, Demo or Real, and each key supports one environment only.eToro Builders FAQchecked |
| Authentication | POST /session with the X-CAP-API-KEY header plus login credentials returns CST and X-SECURITY-TOKEN, sent on later calls. The session expires after 10 minutes of inactivity.Capital.com Public APIchecked | Headers x-api-key, x-user-key and x-request-id on every request, or an OAuth 2.0 bearer token instead of the key headers. eToro now states the exclusivity itself rather than leaving it to be inferred: a request presenting both is rejected.eToro API portal: authenticationchecked |
| Streaming | WebSocket wss://api-streaming-capital.backend-capital.com/connect, maximum of 40 epics per subscription; the session lasts 10 minutes and is kept alive with ping.Capital.com Public APIchecked | WebSocket at wss://ws.etoro.com/ws, described by an AsyncAPI 3.0 document that eToro publishes. Instrument topics need no authentication; the private topic needs an Authenticate message first, which carries the user key and API key inside its data object over the open socket, never as a header. A Subscribe message lists topics such as instrument:<instrumentId> or private, with an optional snapshot flag. The AsyncAPI document, the Topics page and the example code agree on that shape. The server sends a single binary frame from time to time as a heartbeat. No connection or subscription limit is given and no reconnection or replay behaviour is described.eToro WebSocket API, AsyncAPI documentchecked |
| History depth | Candles: max 1,000 per request (default 10), MINUTE to WEEK. Activity history: max 1 day per from/to call. Transactions default to last 10 minutes.Capital.com API referencechecked | Candles: max 1,000 per request, one minute to one week. Trading history: lookback under 1 year per request; split longer ranges.eToro API: Get instrument candle historychecked |
| Limits |
|
|
| Endpoints documented here | 36 | 51 |
| Error codes decoded here | 24 | 16 |
| Official documentation | open-api.capital.com | api-portal.etoro.com |
Go deeper on each side
Capital.com
- Capital.com API page, the full record
- Capital.com API quickstart, credentials to a first call
- Capital.com API limits, in the table above
- Capital.com API error codes, each with its fix
- Capital.com API endpoints, each with its source
- Get your Capital.com trade history into a spreadsheet
- Capital.com API with Python
eToro
- eToro API page, the full record
- eToro API quickstart, credentials to a first call
- eToro API limits, in the table above
- eToro API error codes, each with its fix
- eToro API endpoints, each with its source
- Get your eToro trade history into a spreadsheet
All comparisons. New to this? Getting started with API trading.