Embed eToro market data and watchlists into your product. Instrument search, price feeds, candle data — the building blocks for any financial product.
import requests, uuid
BASE = "https://public-api.etoro.com/api/v1"
HEADERS = {
"x-api-key": "YOUR_PUBLIC_API_KEY",
"x-user-key": "YOUR_USER_KEY",
"x-request-id": str(uuid.uuid4()),
}
# Search instruments
instruments = requests.get(
f"{BASE}/market-data/search",
headers=HEADERS,
params={"search": "Bitcoin", "type": "Crypto"}
).json()
for inst in instruments["data"]:
print(f"{inst['name']} ({inst['symbol']})")
# Get current rates
rates = requests.get(
f"{BASE}/market-data/rates",
headers=HEADERS,
).json()
print(f"BTC Ask: ${rates['data']['ask']}")
print(f"BTC Bid: ${rates['data']['bid']}")
# Create a watchlist (name via query param)
watchlist = requests.post(
f"{BASE}/watchlists",
headers=HEADERS,
params={"name": "Tech Stocks"}
).json()
wl_id = watchlist['data']['id']
# Add instruments to the watchlist
requests.post(
f"{BASE}/watchlists/{wl_id}/items",
headers=HEADERS,
json=[1001, 1002, 1003]
)
print(f"Created watchlist {wl_id} with 3 instruments")Connect to eToro's WebSocket API for live price streaming, handle reconnections, and process real-time market data efficiently.
Learn how to get your API keys, make your first request, and understand eToro API response formats.
How to programmatically search, filter, and explore eToro's instrument catalog — asset classes, exchanges, industries, and historical data.
Best practices for using the eToro Watchlists API programmatically — curated lists, bulk operations, and organizational patterns.