{"name":"Broker API Hub: eToro","page":"https://openbrokerapi.com/brokers/etoro","file":"https://openbrokerapi.com/data/brokers/etoro.json","generated":"2026-10-12","generatedBasis":"The newest checked date among the records in this file. It is not the date the file was built.","newestReading":"2026-10-12","newestReadingBasis":"The date the page prints as Newest reading: the newest checked date on the record itself, on its claims, on its limit and endpoint records and, for a platform, on a broker's note that it offers the platform. generated can be later, because this file also holds error, change and MCP records.","licence":"Mixed. Each section states its own licence. Sections from the registers are CC BY 4.0. Sections from the broker, platform, endpoint and error records are all rights reserved and are given for reference.","licenceUrl":"https://creativecommons.org/licenses/by/4.0/","cite":"Broker API Hub, eToro, openbrokerapi.com/brokers/etoro, newest check 2026-10-12","note":"Independent and unofficial. An empty list or a null means this site holds no record. It does not mean that none exists. Every record carries its own source and checked date: cite those where you rely on a single figure.","identity":{"licence":"All rights reserved","leftOut":"The tagline, which is this site's own writing. It is on the page.","id":"etoro","slug":"etoro","name":"eToro","kind":"broker","nativeApi":true,"apiFamily":["REST","WebSocket","OAuth 2.0 SSO (partners)"],"products":["Crypto","Stocks","ETFs","Commodities"],"availability":"active","legalEntity":null,"regulator":null,"docsUrl":"https://api-portal.etoro.com/","baseUrls":{"live":"https://public-api.etoro.com","demo":"Same host; demo trading calls use /demo/ paths, for example POST /api/v2/trading/execution/demo/orders"},"orderTypes":["Market","Market if touched","Limit (immediate or cancel)","Stop loss","Take profit","Trailing stop"],"sources":[{"url":"https://api-portal.etoro.com/","title":"eToro API portal","checked":"2026-09-24"},{"url":"https://builders.etoro.com/faq","title":"eToro Builder FAQ","checked":"2026-09-21"},{"url":"https://builders.etoro.com/learn/getting-started-with-etoro-api-v2","title":"eToro: getting started with eToro API","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/llms.txt","title":"eToro llms.txt index","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/core/getting-started/rate-limits.md","title":"eToro API portal: rate limits","checked":"2026-10-12"},{"url":"https://builders.etoro.com/tools","title":"eToro Builders Tools","checked":"2026-09-21"},{"url":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-candle-history.md","title":"eToro API: Get instrument candle history","checked":"2026-10-12"},{"url":"https://api-portal.etoro.com/api-reference/trading--real/list-trading-history.md","title":"eToro API: List trading history","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/api-reference/trading--real/create-an-order.md","title":"eToro API portal: create an order (real)","checked":"2026-09-22"},{"url":"https://etoropartners.com/","title":"eToro Partners","checked":"2026-09-22"},{"url":"https://www.etoro.com/wp-content/uploads/2026/03/Master_eToro_Builders_Economy_Terms_17-Feb-2026-clean_R.pdf","title":"eToro Builders' Economy Terms of Use, 17 Feb 2026","checked":"2026-09-22"},{"url":"https://builders.etoro.com/tools/mcp","title":"eToro MCP tools","checked":"2026-09-20"},{"url":"https://pypi.org/project/etoro-mcp-server/","title":"PyPI: etoro-mcp-server","checked":"2026-09-22"},{"url":"https://github.com/gabrielcerutti/etoro-mcp-server","title":"GitHub: gabrielcerutti/etoro-mcp-server","checked":"2026-09-22"},{"url":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","title":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/changelog","title":"eToro API Portal changelog","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/api-reference/trading--demo/create-an-order.md","title":"eToro API portal: create an order (demo)","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/getting-started/rate-limits","title":"Rate Limits, eToro API Docs","checked":"2026-09-21"},{"url":"https://builders.etoro.com/blog/building-a-real-time-price-dashboard","title":"Building a Real-Time Price Dashboard with the eToro API, eToro Builders","checked":"2026-09-22"},{"url":"https://etoropartners.com/wp-content/uploads/2021/11/Affiliate-Program-eToro-15-Sept-2021-Clean.pdf","title":"eToro Partners Affiliate Program Agreement (15 Sept 2021 clean version)","checked":"2026-09-25"},{"url":"https://etoropartners.com/wp-content/uploads/2022/11/eToropartners-UK-Partner-guidelines.pdf","title":"Partner Compliance Guidelines for eToro (UK) Ltd June 2022","checked":"2026-09-22"},{"url":"https://api-portal.etoro.com/core/getting-started/authentication.md","title":"eToro API portal: authentication","checked":"2026-10-12"},{"url":"https://builders.etoro.com/products/websocket","title":"eToro Builders: WebSocket product","checked":"2026-09-22"},{"url":"https://builders.etoro.com/learn/real-time-market-data-websocket","title":"eToro Builders: real time market data over WebSocket","checked":"2026-09-22"},{"url":"https://builders.etoro.com/tools/skills","title":"eToro Builders: Agent Skills","checked":"2026-09-22"},{"url":"https://builders.etoro.com/","title":"eToro Builders","checked":"2026-09-22"},{"url":"https://builders.etoro.com/learn/authentication-and-api-keys","title":"eToro authentication and API keys","checked":"2026-09-20"},{"url":"https://api-portal.etoro.com/core/getting-started/sso-oauth.md","title":"SSO and OAuth, eToro API portal","checked":"2026-10-12"},{"url":"https://api-portal.etoro.com/core/websocket/overview.md","title":"WebSocket overview, eToro API portal","checked":"2026-10-12"}],"lastChecked":"2026-10-12","review":"ported"},"claims":{"licence":"All rights reserved","records":[{"key":"access_route","value":"Settings > Trading > API Key Management > Create New Key; choose Read or Write, optional IP whitelist and expiry.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/core/getting-started/authentication.md","title":"eToro API portal: authentication","checked":"2026-10-12"}]},{"key":"eligibility","value":"Verified eToro account required. Regional availability not published on pages opened.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/","title":"eToro API Portal","checked":"2026-09-21"}]},{"key":"demo","value":"Yes: the environment is bound to the key when it is created, Demo or Real, and each key supports one environment only.","status":"verified","sources":[{"url":"https://builders.etoro.com/faq","title":"eToro Builders FAQ","checked":"2026-09-21"}]},{"key":"auth","value":"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.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/core/getting-started/authentication.md","title":"eToro API portal: authentication","checked":"2026-10-12"},{"url":"https://api-portal.etoro.com/core/getting-started/sso-oauth.md","title":"SSO and OAuth, eToro API portal","checked":"2026-10-12"}]},{"key":"streaming","value":"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.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/api-reference/asyncapi.json","title":"eToro WebSocket API, AsyncAPI document","checked":"2026-10-12"},{"url":"https://api-portal.etoro.com/core/websocket/authentication.md","title":"eToro API portal: WebSocket authentication","checked":"2026-10-12"},{"url":"https://api-portal.etoro.com/core/websocket/topics.md","title":"eToro API portal: WebSocket topics","checked":"2026-10-12"}]},{"key":"history_depth","value":"Candles: max 1,000 per request, one minute to one week. Trading history: lookback under 1 year per request; split longer ranges.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-candle-history.md","title":"eToro API: Get instrument candle history","checked":"2026-10-12"}]},{"key":"rate_limits","value":"60 requests a minute for most GET calls and 20 a minute for trading and writes, tracked per user key over a one minute rolling window, with 429 on excess. The rate limits page read on 20 Sep 2026 states no response headers at all, so the 120 per 60 seconds market data quota and the RateLimit response headers carried from earlier readings are now unverified.","status":"verified","sources":[{"url":"https://api-portal.etoro.com/core/getting-started/rate-limits.md","title":"eToro API portal: rate limits","checked":"2026-10-12"}]}]},"platformApis":{"licence":"All rights reserved","records":[{"platform":"metatrader-4","available":false,"entity":"eToro (UK) Ltd","note":"Third-party review (updated 17 Sep 2026): 'No, eToro does not offer MetaTrader 4.' eToro's own help pages failed to load (JS error / 404), so not confirmed from eToro.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"},{"platform":"metatrader-5","available":false,"entity":"eToro (UK) Ltd","note":"Same third-party page has a MT5 heading but no visible answer; eToro uses its own platform. Unconfirmed from eToro.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"},{"platform":"ctrader-open-api","available":false,"entity":"eToro (UK) Ltd","note":"cTrader not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"},{"platform":"tradelocker","available":false,"entity":"eToro (UK) Ltd","note":"TradeLocker not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"},{"platform":"match-trader","available":false,"entity":"eToro (UK) Ltd","note":"Match-Trader not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"},{"platform":"dxtrade","available":false,"entity":"eToro (UK) Ltd","note":"DXtrade not listed on the broker's UK platforms page; absence from an overview page is not proof, so unverified.","status":"unverified","source":"https://brokerchooser.com/broker-reviews/etoro-review/etoro-metatrader","sourceTitle":"Does eToro support MetaTrader? (BrokerChooser, third party)","checked":"2026-09-18"}]},"sdks":{"licence":"All rights reserved","records":[]},"endpoints":{"licence":"All rights reserved","leftOut":"Parameters, request bodies, example responses and notes. Each is on the endpoint's page.","records":[{"method":"GET","path":"/api/v1/balances","version":"v1","group":"Balances","summary":"Balances across every account type you hold with eToro, with a total in a display currency. eToro warns that the totals are portfolio value, not cash you can spend.","status":"verified","source":"https://api-portal.etoro.com/api-reference/balances/get-aggregated-balances.md","officialReference":"https://api-portal.etoro.com/api-reference/balances/get-aggregated-balances.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/balances"},{"method":"GET","path":"/api/v1/market-data/exchanges","version":"v1","group":"Market Data","summary":"The exchanges eToro lists instruments from, optionally narrowed to a set of exchange IDs.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/list-supported-exchanges.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/list-supported-exchanges.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/exchanges"},{"method":"GET","path":"/api/v1/market-data/instrument-types","version":"v1","group":"Market Data","summary":"The instrument types eToro uses, optionally narrowed to a set of type IDs.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/list-instrument-types.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/list-instrument-types.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/instrument-types"},{"method":"GET","path":"/api/v1/market-data/instruments","version":"v1","group":"Market Data","summary":"Returns display metadata for instruments, such as name, type, exchange, full symbol and logo images. Filter by instrument, exchange, industry or instrument type IDs.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-display-data.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-display-data.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/instrument-display-data"},{"method":"GET","path":"/api/v1/market-data/instruments/{instrumentId}/history/candles/{direction}/{interval}/{candlesCount}","version":"v1","group":"Market Data","summary":"Returns open, high, low, close and volume candles for one instrument, from one minute to one week per candle.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-candle-history.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-candle-history.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/candles"},{"method":"GET","path":"/api/v1/market-data/instruments/history/closing-price","version":"v1","group":"Market Data","summary":"Returns the latest official closing price for instruments plus the previous day, week and month closes.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/get-historical-closing-prices.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/get-historical-closing-prices.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/closing-prices"},{"method":"GET","path":"/api/v1/market-data/instruments/rates","version":"v1","group":"Market Data","summary":"Returns the current bid, ask and last execution price for up to 100 instruments, with conversion rates to USD.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-market-rates.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-market-rates.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/instrument-rates"},{"method":"GET","path":"/api/v1/market-data/search","version":"v1","group":"Market Data","summary":"Returns a paginated list of instruments. You choose which instrument fields come back with the required fields parameter, and any field can also be used as a filter.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/search-for-instruments.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/search-for-instruments.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/search-instruments"},{"method":"GET","path":"/api/v1/market-data/stocks-industries","version":"v1","group":"Market Data","summary":"The industries eToro sorts stocks into, optionally narrowed to a set of industry IDs.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/get-stocks-industries.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/get-stocks-industries.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/stocks-industries"},{"method":"GET","path":"/api/v1/me","version":"v1","group":"Identity","summary":"Returns the profile behind your key or token: global and account IDs for real and demo, username, player level and the scopes granted.","status":"verified","source":"https://api-portal.etoro.com/api-reference/identity/get-authenticated-user-profile.md","officialReference":"https://api-portal.etoro.com/api-reference/identity/get-authenticated-user-profile.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/me"},{"method":"DELETE","path":"/api/v1/trading/execution/demo/market-close-orders/{orderId}","version":"v1","group":"Trading (Demo)","summary":"Asks for a pending close order on the demo account to be cancelled before it executes. A 200 reply means the request was received, not that the order was cancelled.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/cancel-pending-demo-close-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/cancel-pending-demo-close-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-cancel-close-order"},{"method":"POST","path":"/api/v1/trading/execution/demo/market-close-orders/positions/{positionId}","version":"v1","group":"Trading (Demo)","summary":"Closes a whole demo position, or part of it if you pass UnitsToDeduct, at the market rate. A 200 means the close order was submitted, not that it has completed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/close-demo-position-by-units.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/close-demo-position-by-units.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-close-position"},{"method":"DELETE","path":"/api/v1/trading/execution/market-close-orders/{orderId}","version":"v1","group":"Trading (Real)","summary":"Asks for a pending close order on the real account to be cancelled before it executes. A 200 reply means the request was received, not that the order was cancelled.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/cancel-pending-close-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/cancel-pending-close-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-cancel-close-order"},{"method":"POST","path":"/api/v1/trading/execution/market-close-orders/positions/{positionId}","version":"v1","group":"Trading (Real)","summary":"Closes a real account position at the market rate, in full or by a number of units. A 200 reply means the close order was submitted, not that the position has closed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/close-position-by-units.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/close-position-by-units.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-close-position"},{"method":"GET","path":"/api/v1/trading/info/aggregate-portfolio","version":"v1","group":"Trading (Real)","summary":"A snapshot of the real account portfolio grouped by asset: account totals, directly held positions per instrument and active copy trading relationships.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-aggregated-portfolio-snapshot.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-aggregated-portfolio-snapshot.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-aggregate-portfolio"},{"method":"POST","path":"/api/v1/trading/info/aggregate-portfolio","version":"v1","group":"Trading (Real)","summary":"The same real account portfolio snapshot as the GET form, with the level of detail and the filters sent in a request body. It reads data and changes nothing.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-a-filtered-aggregated-portfolio-snapshot.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-a-filtered-aggregated-portfolio-snapshot.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-aggregate-portfolio-filtered"},{"method":"GET","path":"/api/v1/trading/info/demo/aggregate-portfolio","version":"v1","group":"Trading (Demo)","summary":"A snapshot of the demo account portfolio grouped by asset: account totals, directly held positions per instrument and active copy trading relationships.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-aggregated-portfolio-snapshot.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-aggregated-portfolio-snapshot.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-aggregate-portfolio"},{"method":"POST","path":"/api/v1/trading/info/demo/aggregate-portfolio","version":"v1","group":"Trading (Demo)","summary":"The same demo account portfolio snapshot as the GET form, with the level of detail and the filters sent in a request body. It reads data and changes nothing.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-a-filtered-aggregated-portfolio-snapshot.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-a-filtered-aggregated-portfolio-snapshot.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-aggregate-portfolio-filtered"},{"method":"GET","path":"/api/v1/trading/info/demo/close-orders/{orderId}","version":"v1","group":"Trading (Demo)","summary":"Looks up one close order on the demo account: its status and the positions it closed. This is the call that confirms a close.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-close-order-information-and-closed-position-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-close-order-information-and-closed-position-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-close-order-info"},{"method":"GET","path":"/api/v1/trading/info/demo/pnl","version":"v1","group":"Trading (Demo)","summary":"Returns the demo account's credit, unrealised profit or loss, open positions, pending orders and copy relationships.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-account-pnl-and-portfolio-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-account-pnl-and-portfolio-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-pnl"},{"method":"GET","path":"/api/v1/trading/info/demo/portfolio","version":"v1","group":"Trading (Demo)","summary":"The demo account portfolio in detail: open positions, pending orders, copy trading details and balances, all under one clientPortfolio object.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-demo-portfolio-breakdown.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-demo-portfolio-breakdown.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-portfolio"},{"method":"GET","path":"/api/v1/trading/info/portfolio","version":"v1","group":"Trading (Real)","summary":"The real account portfolio in detail: open positions, pending orders, copy trading details and balances, all under one clientPortfolio object.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-portfolio-breakdown.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-portfolio-breakdown.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-portfolio"},{"method":"GET","path":"/api/v1/trading/info/real/close-orders/{orderId}","version":"v1","group":"Trading (Real)","summary":"Looks up one close order on the real account: its status and the positions it closed. This is the call that confirms a close.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-close-order-information-and-closed-position-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-close-order-information-and-closed-position-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-close-order-info"},{"method":"GET","path":"/api/v1/trading/info/real/pnl","version":"v1","group":"Trading (Real)","summary":"Returns the real account's credit, unrealised profit or loss, open positions, pending orders and copy relationships.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-account-pnl-and-portfolio-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-account-pnl-and-portfolio-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-pnl"},{"method":"GET","path":"/api/v1/trading/info/trade/demo/history","version":"v1","group":"Trading (Demo)","summary":"Returns closed demo trades from a start date to now, with pagination.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/list-trading-history.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/list-trading-history.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-trade-history"},{"method":"GET","path":"/api/v1/trading/info/trade/history","version":"v1","group":"Trading (Real)","summary":"Returns closed trades on the real account from a start date to now. eToro advises keeping each request's lookback under one year and paging through longer periods.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/list-trading-history.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/list-trading-history.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-trade-history"},{"method":"GET","path":"/api/v1/user-info/people","version":"v1","group":"Users Info","summary":"Returns public profile details for eToro users you name by username or customer ID, such as verification level and avatars.","status":"verified","source":"https://api-portal.etoro.com/api-reference/users-info/get-user-profile-and-account-summary.md","officialReference":"https://api-portal.etoro.com/api-reference/users-info/get-user-profile-and-account-summary.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/user-info-people"},{"method":"GET","path":"/api/v1/watchlists","version":"v1","group":"Watchlists","summary":"Returns all of your watchlists and their items, with optional paging of items and related assets.","status":"verified","source":"https://api-portal.etoro.com/api-reference/watchlists/get-user-watchlists.md","officialReference":"https://api-portal.etoro.com/api-reference/watchlists/get-user-watchlists.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/get-watchlists"},{"method":"POST","path":"/api/v1/watchlists","version":"v1","group":"Watchlists","summary":"Creates a new watchlist with the name you give. The name and type go in the query string, not the body.","status":"verified","source":"https://api-portal.etoro.com/api-reference/watchlists/create-a-new-watchlist.md","officialReference":"https://api-portal.etoro.com/api-reference/watchlists/create-a-new-watchlist.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/create-watchlist"},{"method":"POST","path":"/api/v1/watchlists/{watchlistId}/items","version":"v1","group":"Watchlists","summary":"Adds instruments or people to an existing watchlist. The body is a JSON array of items.","status":"verified","source":"https://api-portal.etoro.com/api-reference/watchlists/add-items-to-watchlist.md","officialReference":"https://api-portal.etoro.com/api-reference/watchlists/add-items-to-watchlist.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/add-watchlist-items"},{"method":"GET","path":"/api/v2/market-data/instruments","version":"v2","group":"Market Data","summary":"Instrument reference data, filtered by instrument IDs or by symbols, with cursor paging. With neither filter it pages through every instrument.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/search-for-securities-instruments-by-id-or-symbol.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/search-for-securities-instruments-by-id-or-symbol.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/instruments-v2"},{"method":"GET","path":"/api/v2/market-data/instruments/search","version":"v2","group":"Market Data","summary":"Free text search of instruments by name or symbol, returned in order of relevance.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/search-instruments-by-free-text-query.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/search-instruments-by-free-text-query.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/instruments-search-v2"},{"method":"GET","path":"/api/v2/market-data/rates","version":"v2","group":"Market Data","summary":"Current bid and ask rates for up to 1000 instruments, each marked as real time or delayed. A 206 reply means only some of the instruments were found.","status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/retrieve-bidask-rates-for-one-or-more-instruments.md","officialReference":"https://api-portal.etoro.com/api-reference/market-data/retrieve-bidask-rates-for-one-or-more-instruments.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/rates-v2"},{"method":"PATCH","path":"/api/v2/trading/demo/positions/{positionId}","version":"v2","group":"Trading (Demo)","summary":"Sends an asynchronous request to change or clear the stop loss or take profit on an open demo position.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/modify-stop-loss-and-take-profit-settings-on-an-open-position.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/modify-stop-loss-and-take-profit-settings-on-an-open-position.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-edit-sl-tp"},{"method":"POST","path":"/api/v2/trading/execution/demo/orders","version":"v2","group":"Trading (Demo)","summary":"Places an order on the demo account, by amount or units, with optional leverage, stop loss and take profit. The real account version is POST /api/v2/trading/execution/orders.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/create-an-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/create-an-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-create-order"},{"method":"DELETE","path":"/api/v2/trading/execution/demo/orders/{orderId}","version":"v2","group":"Trading (Demo)","summary":"Asks eToro to cancel a demo order that is waiting for the market to open or for its trigger rate. A 200 means the request was accepted; the order may already have executed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/cancels-an-order-before-it-is-executed.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/cancels-an-order-before-it-is-executed.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-cancel-order"},{"method":"POST","path":"/api/v2/trading/execution/orders","version":"v2","group":"Trading (Real)","summary":"Places an order on the real account, by amount, units or contracts, with optional leverage, stop loss and take profit. A 200 reply means the order was accepted, not that it was executed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/create-an-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/create-an-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-create-order"},{"method":"DELETE","path":"/api/v2/trading/execution/orders/{orderId}","version":"v2","group":"Trading (Real)","summary":"Asks for an order on the real account to be cancelled before it executes. A 200 reply means the request was accepted, not that the order was cancelled.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/cancels-an-order-before-it-is-executed.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/cancels-an-order-before-it-is-executed.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-cancel-order"},{"method":"POST","path":"/api/v2/trading/info/costs","version":"v2","group":"Trading (Real)","summary":"Works out the costs a proposed real account order would carry if it were executed now: markup, spread, transaction fee, overnight and weekend fees and tax. Nothing is traded.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-what-if-trading-cost-breakdown.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-what-if-trading-cost-breakdown.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-costs"},{"method":"POST","path":"/api/v2/trading/info/demo/costs","version":"v2","group":"Trading (Demo)","summary":"Works out the costs a proposed demo account order would carry if it were executed now: markup, spread, transaction fee, overnight and weekend fees and tax. Nothing is traded.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-what-if-trading-cost-breakdown.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-what-if-trading-cost-breakdown.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-costs"},{"method":"POST","path":"/api/v2/trading/info/demo/eligibility","version":"v2","group":"Trading (Demo)","summary":"The trading rules that apply to a list of instruments on the demo account: position limits, order types allowed, stop loss and take profit bounds and the leverage on offer.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/check-instrument-trading-eligibility.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/check-instrument-trading-eligibility.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-eligibility"},{"method":"GET","path":"/api/v2/trading/info/demo/instrument-breakdown","version":"v2","group":"Trading (Demo)","summary":"The demo account portfolio grouped by instrument, with the positions, pending orders and profit or loss under each.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-instrument-breakdown-demo.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-instrument-breakdown-demo.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-instrument-breakdown"},{"method":"GET","path":"/api/v2/trading/info/demo/orders:lookup","version":"v2","group":"Trading (Demo)","summary":"Returns the status of one demo order and every position it opened or closed. Look it up by orderId or by the referenceId you sent as x-request-id.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/get-order-information-and-position-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/get-order-information-and-position-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-order-lookup"},{"method":"POST","path":"/api/v2/trading/info/eligibility","version":"v2","group":"Trading (Real)","summary":"The trading rules that apply to a list of instruments on the real account: position limits, order types allowed, stop loss and take profit bounds and the leverage on offer.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/check-instrument-trading-eligibility.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/check-instrument-trading-eligibility.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-eligibility"},{"method":"GET","path":"/api/v2/trading/info/instrument-breakdown","version":"v2","group":"Trading (Real)","summary":"The real account portfolio grouped by instrument, with the positions, pending orders and profit or loss under each.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-instrument-breakdown.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-instrument-breakdown.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-instrument-breakdown"},{"method":"GET","path":"/api/v2/trading/info/orders:lookup","version":"v2","group":"Trading (Real)","summary":"Looks up one real account order by its ID or by the request ID it was sent with, and returns its status and the positions it opened or closed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/get-order-information-and-position-details.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/get-order-information-and-position-details.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-order-lookup"},{"method":"PATCH","path":"/api/v2/trading/positions/{positionId}","version":"v2","group":"Trading (Real)","summary":"Changes or clears the stop loss and take profit on an open real account position. The request is queued: a 202 reply means it was accepted, not applied.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/modify-stop-loss-and-take-profit-settings-on-an-open-position.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/modify-stop-loss-and-take-profit-settings-on-an-open-position.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-edit-sl-tp"},{"method":"POST","path":"/api/v3/trading/execution/demo/orders","version":"v3","group":"Trading (Demo)","summary":"Submits an order on the demo account for processing in the background. The version 3 form of the order call: a 202 reply means it was queued, not executed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/submit-an-order-for-asynchronous-processing.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/submit-an-order-for-asynchronous-processing.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-submit-order-v3"},{"method":"DELETE","path":"/api/v3/trading/execution/demo/orders/{orderId}","version":"v3","group":"Trading (Demo)","summary":"Asks for a pending order on the demo account to be cancelled. The version 3 form: a 202 reply means the request was queued, not that the order was cancelled.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--demo/request-cancellation-of-a-pending-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--demo/request-cancellation-of-a-pending-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/demo-cancel-order-v3"},{"method":"POST","path":"/api/v3/trading/execution/orders","version":"v3","group":"Trading (Real)","summary":"Submits an order on the real account for processing in the background. The version 3 form of the order call: a 202 reply means it was queued, not executed.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/submit-an-order-for-asynchronous-processing.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/submit-an-order-for-asynchronous-processing.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-submit-order-v3"},{"method":"DELETE","path":"/api/v3/trading/execution/orders/{orderId}","version":"v3","group":"Trading (Real)","summary":"Asks for a pending order on the real account to be cancelled. The version 3 form: a 202 reply means the request was queued, not that the order was cancelled.","status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/request-cancellation-of-a-pending-order.md","officialReference":"https://api-portal.etoro.com/api-reference/trading--real/request-cancellation-of-a-pending-order.md","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/endpoints/real-cancel-order-v3"}]},"calls":{"licence":"All rights reserved","what":"Functions of a language binding and messages of a wire protocol: calls that are not HTTP requests, so they have no method and no path and are in no OpenAPI file.","leftOut":"Descriptions of arguments and fields, return values, samples and notes. Each is on the call's page.","records":[{"kind":"message","interface":"eToro WebSocket API","name":"Authenticate","group":"Control channel","summary":"Authenticates the WebSocket session with the user key and the API key, sent inside the message. It is needed before subscribing to the private topic, and public instrument topics do not need it.","role":"request","payloadType":null,"replies":[],"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"operation","type":"string","required":true},{"name":"data","type":"object","required":true},{"name":"data.userKey","type":"string","required":true},{"name":"data.apiKey","type":"string","required":true}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"answer":{"name":null,"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"success","type":"boolean","required":true},{"name":"operation","type":"string","required":true},{"name":"errorMessage","type":"string","required":false},{"name":"errorCode","type":"string","required":false}]},"tasks":["session"],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/authenticate"},{"kind":"message","interface":"eToro WebSocket API","name":"candle:{instrumentId}","group":"Topics","summary":"Candle updates for one instrument: each push carries the open, high, low, close and volume of one interval. The page says no authentication is needed.","role":"subscription","payloadType":null,"replies":[],"fields":[{"name":"messages","type":"array of objects","required":true},{"name":"messages[].topic","type":"string","required":true},{"name":"messages[].type","type":"string","required":true},{"name":"messages[].id","type":"string (uuid)","required":true},{"name":"messages[].content","type":"string","required":true},{"name":"content.InstrumentID","type":"integer","required":false},{"name":"content.Interval","type":"string","required":false},{"name":"content.Open","type":"number (float)","required":false},{"name":"content.High","type":"number (float)","required":false},{"name":"content.Low","type":"number (float)","required":false},{"name":"content.Close","type":"number (float)","required":false},{"name":"content.Volume","type":"number (float)","required":false},{"name":"content.OpenTime","type":"string (date-time)","required":false},{"name":"content.CloseTime","type":"string (date-time)","required":false}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"channel":{"name":"candle:{instrumentId}","mode":null},"tasks":[],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/notifications/websockets/instrument-candles.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/instrument-candles"},{"kind":"message","interface":"eToro WebSocket API","name":"instrument:{instrumentId}","group":"Topics","summary":"The live rate of one instrument: each push carries the ask, the bid, the last execution price and the time. It is public market data, and the page says no authentication is needed.","role":"subscription","payloadType":null,"replies":[],"fields":[{"name":"messages","type":"array of objects","required":true},{"name":"messages[].topic","type":"string","required":true},{"name":"messages[].type","type":"string","required":true},{"name":"messages[].id","type":"string (uuid)","required":true},{"name":"messages[].content","type":"string","required":true},{"name":"content.Ask","type":"number (float)","required":false},{"name":"content.Bid","type":"number (float)","required":false},{"name":"content.LastExecution","type":"number (float)","required":false},{"name":"content.Date","type":"string (date-time)","required":false},{"name":"content.PriceRateID","type":"string","required":false},{"name":"content.NewUnitMargin","type":"number (float)","required":false},{"name":"content.UnitMarginAsk","type":"number (float)","required":false},{"name":"content.UnitMarginBid","type":"number (float)","required":false},{"name":"content.BidDiscounted","type":"number (float)","required":false},{"name":"content.AskDiscounted","type":"number (float)","required":false},{"name":"content.UnitMarginBidDiscounted","type":"number (float)","required":false},{"name":"content.UnitMarginAskDiscounted","type":"number (float)","required":false}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"channel":{"name":"instrument:{instrumentId}","mode":null},"tasks":[],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/notifications/websockets/instrument-rates.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/instrument-rates"},{"kind":"message","interface":"eToro WebSocket API","name":"private","group":"Topics","summary":"Order and transaction updates for the logged in user. It needs a successful Authenticate first. Each push carries an order update: the order, its status, the instrument and the units asked for and executed.","role":"subscription","payloadType":null,"replies":[],"fields":[{"name":"messages","type":"array of objects","required":true},{"name":"messages[].topic","type":"string","required":true},{"name":"messages[].type","type":"string","required":true},{"name":"messages[].id","type":"string (uuid)","required":true},{"name":"messages[].content","type":"string","required":true},{"name":"content.OrderID","type":"integer (int64)","required":false},{"name":"content.OrderType","type":"integer","required":false},{"name":"content.CID","type":"integer (int64)","required":false},{"name":"content.StatusID","type":"integer","required":false},{"name":"content.InstrumentID","type":"integer","required":false},{"name":"content.RequestGuid","type":"string (uuid)","required":false},{"name":"content.RequestOccurred","type":"string (date-time)","required":false},{"name":"content.RequestToken","type":"string (uuid)","required":false},{"name":"content.ErrorCode","type":"integer","required":false},{"name":"content.RequestedUnits","type":"number (float)","required":false},{"name":"content.ExecutedUnits","type":"number (float)","required":false},{"name":"content.EndRate","type":"number (float)","required":false},{"name":"content.NetProfit","type":"number (float)","required":false},{"name":"content.CloseReason","type":"integer","required":false},{"name":"content.PendingClosePositionIDs","type":"array of integers","required":false},{"name":"content.OpenDateTime","type":"string (date-time)","required":false},{"name":"content.IsInMirror","type":"boolean","required":false}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"channel":{"name":"private","mode":null},"tasks":[],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/notifications/websockets/private-portfolio-updates.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/private"},{"kind":"message","interface":"eToro WebSocket API","name":"Subscribe","group":"Control channel","summary":"Starts delivery of one topic or several: instrument:{instrumentId} for live rates, candle:{instrumentId} for candles, or private for the logged in user's order updates. An acknowledgement follows, then the pushes.","role":"request","payloadType":null,"replies":["instrument:{instrumentId}","candle:{instrumentId}","private"],"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"operation","type":"string","required":true},{"name":"data","type":"object","required":true},{"name":"data.topics","type":"array of strings","required":true},{"name":"data.snapshot","type":"boolean","required":false}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"answer":{"name":null,"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"success","type":"boolean","required":true},{"name":"operation","type":"string","required":true},{"name":"errorMessage","type":"string","required":false},{"name":"errorCode","type":"string","required":false}]},"tasks":["streaming-subscribe"],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/notifications/websockets/control-channel-request-response.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/subscribe"},{"kind":"message","interface":"eToro WebSocket API","name":"Unsubscribe","group":"Control channel","summary":"Stops delivery of the topics named. The connection stays open and other subscriptions are not touched.","role":"request","payloadType":null,"replies":[],"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"operation","type":"string","required":true},{"name":"data","type":"object","required":true},{"name":"data.topics","type":"array of strings","required":true}],"transport":{"kind":"websocket","adapter":null,"addresses":[{"label":"WebSocket address","url":"wss://ws.etoro.com/ws"}]},"answer":{"name":null,"fields":[{"name":"id","type":"string (uuid)","required":true},{"name":"success","type":"boolean","required":true},{"name":"operation","type":"string","required":true},{"name":"errorMessage","type":"string","required":false},{"name":"errorCode","type":"string","required":false}]},"tasks":[],"status":"verified","source":"https://api-portal.etoro.com/core/websocket/notifications/websockets/control-channel-request-response.md","officialReference":"https://api-portal.etoro.com/api-reference/asyncapi.json","checked":"2026-10-12","page":"https://openbrokerapi.com/brokers/etoro/messages/unsubscribe"}]},"limits":{"licence":"CC BY 4.0","register":"https://openbrokerapi.com/data/limits.json","structure":"structuredValue, structuredUnit and windowSeconds restate a limit as numbers where its own value and unit, or the opening of its text, state them outright: a count, optionally what is counted, and a window. They are read by a fixed pattern and are null wherever the pattern does not fit, so a null means not restated, not that there is no limit. windowSeconds is null for an allowance that is not a rate. structuredUnit is null where the wording does not name what is counted. A week is taken as 7 days. They add nothing to the record: value, unit, text and scope are unchanged and remain the record. A record whose status is conflicting has a second reading under conflict, which these fields do not restate.","records":[{"id":"etoro.headline","broker":"etoro","name":"Headline limit","value":null,"text":"60/min reads per key","unit":null,"scope":"user","source":"https://api-portal.etoro.com/core/getting-started/rate-limits.md","alsoSources":[],"checked":"2026-09-20","status":"verified","conflict":null,"note":"Most GET calls. Trading and writes: 20 a minute. Tracked per user key over a one minute rolling window, 429 on excess. The page states no response headers, and the 120 per 60 seconds market data quota carried from earlier readings is now unverified.","structuredValue":60,"structuredUnit":null,"windowSeconds":60}]},"errors":{"licence":"All rights reserved","leftOut":"The meaning and the fix of each error. They are this site's own writing, which the open licence does not cover, so each record gives the address of the page that holds them.","index":"https://openbrokerapi.com/errors/etoro","register":"https://openbrokerapi.com/data/errors.json","records":[{"code":"ApiKeyRequired","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/api-key-required"},{"code":"DataRequired","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/data-required"},{"code":"Forbidden","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/ws-forbidden"},{"code":"HTTP 400","http":400,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/api-reference/market-data/search-for-instruments.md","checked":"2026-09-18","page":"https://openbrokerapi.com/errors/etoro/bad-request"},{"code":"HTTP 401","http":401,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/api-reference/identity/get-authenticated-user-profile.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/unauthorised"},{"code":"HTTP 403","http":403,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/api-reference/identity/get-authenticated-user-profile.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/forbidden"},{"code":"HTTP 404","http":404,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/guides/market-orders.md","checked":"2026-09-18","page":"https://openbrokerapi.com/errors/etoro/not-found"},{"code":"HTTP 409","http":409,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/guides/market-orders.md","checked":"2026-09-18","page":"https://openbrokerapi.com/errors/etoro/position-closed"},{"code":"HTTP 500","http":500,"category":"api-error","rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/api-reference/trading--real/create-an-order.md","checked":"2026-09-18","page":"https://openbrokerapi.com/errors/etoro/server-error"},{"code":"InvalidKey","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/invalid-key"},{"code":"Rate limit exceeded","http":429,"category":"api-error","rateLimit":true,"status":"verified","source":"https://api-portal.etoro.com/getting-started/rate-limits","checked":"2026-09-18","page":"https://openbrokerapi.com/errors/etoro/rate-limit-exceeded"},{"code":"SessionAlreadyAuthenticated","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/session-already-authenticated"},{"code":"TooManyRequests","http":null,"category":null,"rateLimit":true,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/too-many-requests"},{"code":"Unauthorized","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/ws-unauthorized"},{"code":"UnhandledException","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/unhandled-exception"},{"code":"UserKeyRequired","http":null,"category":null,"rateLimit":null,"status":"verified","source":"https://api-portal.etoro.com/core/websocket/authentication.md","checked":"2026-10-09","page":"https://openbrokerapi.com/errors/etoro/user-key-required"}]},"mcpServers":{"licence":"CC BY 4.0","page":"https://openbrokerapi.com/ai/mcp-directory","register":"https://openbrokerapi.com/data/mcp-servers.json","records":[{"id":"etoro","name":"eToro Public API MCP","vendor":"eToro","owner":"etoro","official":true,"officialNote":"Official, and explicitly not a trading server.","can":"Two tools, get-all-routes and get-route-spec, which read the live OpenAPI document so your assistant writes accurate code instead of guessing. It does not execute trades.","placesOrders":false,"posture":"docs","postureNote":"Docs only. There are no account tools and no order tools.","custody":"none","custodyNote":"Hosted, streamable HTTP at https://mcp.public-api.etoro.com, no install and no credentials.","demo":null,"demoNote":null,"maintained":"Yes.","sources":[{"url":"https://builders.etoro.com/tools/mcp","title":"eToro builders, MCP page and terms","checked":"2026-09-24"}],"checked":"2026-09-24"}],"noneFound":[]},"partnerProgramme":{"licence":"CC BY 4.0","register":"https://openbrokerapi.com/data/programmes.json","page":"https://openbrokerapi.com/partners/etoro","record":{"id":"etoro","firm":"eToro","programmeType":"affiliate","pagesOpened":["https://www.etoropartners.com/"],"publishedFigure":null,"figureAsWorded":"no published figure","figureIsCeiling":false,"figureNote":"The page opened was thin and the terms sit behind a registration portal.","restrictionsForPublishers":"None published on the page opened this cycle; the terms sit behind a registration portal.","documentsNotOpened":"The terms behind the registration portal were not opened.","checked":"2026-10-05","verification":"page-opened"}},"changes":{"licence":"CC BY 4.0","page":"https://openbrokerapi.com/changes","register":"https://openbrokerapi.com/data/changes.json","checkedMeans":"checked is the day the source was last opened. It is null where the register does not record one: read that as not recorded.","records":[{"id":"etoro-2026-10-12-71","date":"2026-10-12","kind":"docs","text":"eToro's reference pages, read on 12 Oct 2026, list one server, https://public-api.etoro.com, and print every path with its own /api/v1 or /api/v2 prefix. This site had recorded the base as https://public-api.etoro.com/api/v1, which doubles the prefix when a documented path is joined to it and is wrong for the version 2 calls. The base is now recorded as the bare host.","source":"https://api-portal.etoro.com/api-reference/market-data/get-instrument-candle-history.md","sourceTitle":"eToro API reference: get instrument candle history","checked":"2026-10-12"},{"id":"etoro-2026-10-12-91","date":"2026-10-12","kind":"docs","text":"eToro's AsyncAPI document for its WebSocket API now opens and says the user key and API key travel inside the Authenticate message over the open socket, never as a header; this site's streaming entry said authentication was by headers and that the document could not be opened. The document, the Topics page and the example code agree on one Subscribe shape, so the earlier note of three differing subscribe grammars is withdrawn.","source":"https://api-portal.etoro.com/api-reference/asyncapi.json","sourceTitle":"eToro WebSocket API, AsyncAPI document","checked":"2026-10-12"},{"id":"etoro-2026-10-09-1","date":"2026-10-09","kind":"docs","text":"eToro's API portal moved its authentication page under /core/getting-started; the old address no longer opens. The page still states the key creation route and the three request headers. The rule that the key pair and a bearer token are mutually exclusive is stated on the SSO with OAuth 2.0 page, which is now cited beside it.","source":"https://api-portal.etoro.com/core/getting-started/authentication.md","sourceTitle":"eToro API portal: authentication","checked":"2026-10-09"},{"id":"etoro-2026-09-23-1","date":"2026-09-23","kind":"docs","text":"Re-read today and confirmed unchanged: 60 reads and 20 writes a minute per user key on a one minute rolling window, two key authentication with x-request-id, and one key per environment. The websocket endpoint URL and its subscription limits are still not stated on either page.","source":"https://api-portal.etoro.com/core/getting-started/rate-limits.md","sourceTitle":"eToro API portal: rate limits","checked":"2026-09-23"},{"id":"etoro-2026-09-21-1","date":"2026-09-21","kind":"partner-terms","text":"eToro's partner plans page now opens for us, where the earlier reading recorded a blocked help article. It still publishes no commission figure: the programme includes a different commission for different countries, set by a country classification document, and a tailor made deal is offered on request. Re-read 21 Sep 2026, undated on the page itself. Partner terms, not an API change.","source":"https://etoropartners.com/plans/","sourceTitle":"etoropartners.com, plans","checked":null},{"id":"etoro-2026-09-20-1","date":"2026-09-20","kind":"change","text":"Two separate routes, now both sourced to eToro's own pages. Agent Portfolios, launched 26 Mar 2026, give an agent a scoped API key for a dedicated sub-portfolio funded from 200 US dollars, with OpenClaw and Claude Code supported and ChatGPT and claude.ai not; the page disclaims all liability for loss relating to CFD transactions. The Builders portal MCP server is read only, exposing get-all-routes and get-route-spec. Execution authority: agent executes for Agent Portfolios, read only for the Builders server.","source":"https://www.etoro.com/news-and-analysis/etoro-updates/agent-portfolios-let-your-ai-agent-trade-for-you/","sourceTitle":"eToro: Agent Portfolios, 26 Mar 2026","checked":null},{"id":"etoro-2026-08-25-1","date":"2026-08-25","kind":"additive","text":"eToro Core API added filtered aggregated portfolio snapshots: dailyCutoffUtc and pnlLevel parameters, and POST /api/v1/trading/info/aggregate-portfolio with a demo equivalent.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"Core API changelog, eToro API Portal","checked":null},{"id":"etoro-2026-08-23-1","date":"2026-08-23","kind":"additive","text":"eToro Core API added asynchronous order execution: POST /api/v3/trading/execution/orders and DELETE /api/v3/trading/execution/orders/{orderId}, with demo equivalents. Demo copy trading was restored under /api/v2/trading/copy/demo.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"Core API changelog, eToro API Portal","checked":null},{"id":"etoro-2026-08-23-2","date":"2026-08-23","kind":"additive","text":"Asynchronous order execution with new submit and cancel endpoints; demo Copy Trading restored; user watchlists endpoint added.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-08-18-1","date":"2026-08-18","kind":"breaking","text":"eToro removed the v1 trading execution and info endpoints, demo Copy Trading endpoints, social feed endpoints and agent portfolio endpoints, and added an instrument breakdown endpoint.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-07-22-1","date":"2026-07-22","kind":"breaking","text":"Crypto withdrawal endpoints were removed.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-06-23-1","date":"2026-06-23","kind":"breaking","text":"Cash account endpoints and generic sub-account endpoints were removed.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-06-09-1","date":"2026-06-09","kind":"additive","text":"The largest release of the period, about 70 endpoints: social API, balances, price alerts, trading cost estimates, investor statistics and club dashboard.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-05-31-1","date":"2026-05-31","kind":"deprecation","text":"Order placement moved to a single v2 endpoint and the v1 order endpoints were deprecated.","source":"https://api-portal.etoro.com/core/changelog.md","sourceTitle":"eToro API portal: changelog","checked":null},{"id":"etoro-2026-04-14-1","date":"2026-04-14","kind":"ecosystem","text":"eToro launched an App Store and a builders portal giving developers access to its APIs, agent skills, MCP server, command line tooling and docs; builds on the August 2025 public API launch.","source":"https://www.financemagnates.com/fintech/etoro-launches-developer-app-store-and-builders-portal-for-retail-platform/","sourceTitle":"Finance Magnates: eToro launches developer App Store and builders portal","checked":null}]}}