eToro vs Saxo API
The same fields from the eToro record and the Saxo OpenAPI 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.
- eToro is recorded as a broker with an API of its own. Saxo OpenAPI is recorded as a broker with an API of its own.
- This site documents 51 endpoints for eToro and 68 endpoints for Saxo OpenAPI. That counts what has been documented here, not what each API offers.
- This site has decoded 16 error codes for eToro and 143 error codes for Saxo OpenAPI.
- The limits register holds 1 limit record for eToro and 1 limit record for Saxo OpenAPI. Each limit record carries its own scope.
- The eToro record holds a demo claim, verified at its source. The Saxo OpenAPI 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.
eToro and Saxo OpenAPI, field by field
| Field | eToro | Saxo OpenAPI |
|---|---|---|
| Kind | Broker with its own API | Broker with its own API |
| API family | REST, WebSocket, OAuth 2.0 SSO (partners) | REST, WebSocket streaming |
| How you get access | Settings > Trading > API Key Management > Create New Key; choose Read or Write, optional IP whitelist and expiry.eToro API portal: authenticationchecked | Create a developer portal account for SIM (24 hour token or registered app); apply for live app credentials after testing.Saxo OpenAPI Learnchecked |
| Who can use it | Verified eToro account required. Regional availability not published on pages opened.eToro API Portalchecked | Direct retail and professional clients may use it for personal use; a live account must be funded before creating a live app. The approval criteria for a retail live environment are unverified: the environments and security pages read on 19 Sep 2026 say live requires permission and testing before deployment but do not state what is required.Saxo Support: personal usechecked |
| Demo | 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 | Yes: SIM environment; 24 hour portal tokens work in SIM only.Saxo Environmentschecked |
| Authentication | 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 | OAuth 2.0 authorization code (with or without PKCE); app key and secret for live. Refresh tokens rotate: each is invalidated on use and replaced. Certificate-based auth is for select partners only, not retail.Saxo OpenAPI Learnchecked |
| Streaming | 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 | WebSocket streaming (SIM and live hosts). The connection allowance and the instrument cap are unverified as of 20 Sep 2026: the streaming pages no longer publish either figure and say only that the number of WebSocket connections depends on the throttling profile assigned to the application.Saxo Environmentschecked |
| History depth | 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 | Chart samples max 1,200 per request; some FX data back to 2002. Trades report takes FromDate and ToDate with no stated limit.Saxo OpenAPI Support: How many samples can be returned at a time?checked |
| Limits |
|
|
| Endpoints documented here | 51 | 68 |
| Error codes decoded here | 16 | 143 |
| Official documentation | api-portal.etoro.com | developer.saxo |
Go deeper on each side
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
Saxo OpenAPI
- Saxo API page, the full record
- Saxo API quickstart, credentials to a first call
- Saxo API limits, in the table above
- Saxo API error codes, each with its fix
- Saxo API endpoints, each with its source
All comparisons. New to this? Getting started with API trading.