STONKTRADERDEVELOPER

eToro market routes

Search instruments, read quotes, list exchanges, and retrieve candle history from eToro.

The /etoro namespace exposes four public market-data routes backed by eToro's official instrument search and market rates APIs. StonkTrader keeps the eToro credentials server-side and returns a normalized response contract.

Search instruments

curl "https://api.stonktrader.finance/etoro/instruments?q=AAPL&limit=10"
ParameterDefaultDescription
qrequiredSymbol or company-name search text
limit10Maximum results, from 1 to 50

Results contain the eToro instrumentId, symbol, displayName, instrumentType, exchange, and current tradability state.

{
  "code": 0,
  "message": "ok",
  "data": {
    "items": [
      {
        "instrumentId": 1001,
        "symbol": "AAPL",
        "displayName": "Apple",
        "instrumentType": "Stocks",
        "exchange": "NASDAQ",
        "isTradable": true
      }
    ]
  }
}

Get a quote

curl "https://api.stonktrader.finance/etoro/quote?symbol=AAPL"

The normalized quote includes the eToro instrument ID, current price, bid, ask, spread, absolute and percentage daily change, exchange, tradability state, and the official rate timestamp.

{
  "code": 0,
  "message": "ok",
  "data": {
    "quote": {
      "instrumentId": 1001,
      "symbol": "AAPL",
      "displayName": "Apple",
      "exchange": "NASDAQ",
      "isTradable": true,
      "price": 325.1,
      "bid": 325,
      "ask": 325.22,
      "spread": 0.22,
      "change": 4,
      "changePercentage": 1.25,
      "timestamp": "2026-09-03T09:03:00Z"
    }
  }
}

List exchanges

curl "https://api.stonktrader.finance/etoro/exchanges"

Returns the eToro exchange ID and display name for each supported exchange.

{
  "code": 0,
  "message": "ok",
  "data": {
    "items": [{ "exchangeId": 4, "displayName": "NASDAQ" }]
  }
}

Get candle history

curl "https://api.stonktrader.finance/etoro/candles?symbol=AAPL&interval=OneDay&count=30&direction=desc"

interval accepts OneMinute, FiveMinutes, TenMinutes, FifteenMinutes, ThirtyMinutes, OneHour, FourHours, OneDay, or OneWeek. count ranges from 1 to 1000. Each candle contains timestamp, open, high, low, close, and volume.

{
  "code": 0,
  "message": "ok",
  "data": {
    "instrumentId": 1001,
    "symbol": "AAPL",
    "interval": "OneDay",
    "direction": "desc",
    "candles": [
      {
        "timestamp": "2026-09-03T00:00:00Z",
        "open": 320,
        "high": 326,
        "low": 319,
        "close": 325,
        "volume": 100
      }
    ]
  }
}

Caching

Search results are cached for five minutes and quotes for 15 seconds. Upstream rate limits return HTTP 429 and preserve Retry-After when provided. Exchange metadata is cached for 24 hours and candle history for one minute. When REDIS_URL is configured, Redis shares these caches across API replicas; otherwise, the API uses its bounded in-memory fallback.

x402 access

All four capabilities are also available as per-request paid resources under /x402/etoro/*. They return the same normalized data, use the backend's eToro credentials, and cost 0.001 USDG per successful request. See the x402 paid API for payment discovery and settlement headers.

Errors

HTTP statusMeaning
400Invalid query parameters
404Instrument, quote, or candle history not found
429eToro rate limit reached; inspect Retry-After
502eToro returned an unavailable or invalid response
503Credentials are missing or rejected
504eToro did not respond before the backend timeout

On this page