Skip to main content
POST
/
api
/
v2
/
trading
/
info
/
eligibility
Check instrument trading eligibility
curl --request POST \
  --url https://public-api.etoro.com/api/v2/trading/info/eligibility \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --header 'x-request-id: <x-request-id>' \
  --header 'x-user-key: <x-user-key>' \
  --data '
{
  "instrumentIds": [
    1001
  ],
  "symbols": [
    "AAPL"
  ],
  "currency": "USD"
}
'
{
  "currency": "USD",
  "eligibilities": [
    {
      "instrumentId": 1001,
      "symbol": "AAPL",
      "minPositionExposure": 50,
      "maxUnitsPerOrder": 10000,
      "allowOpenPosition": true,
      "allowClosePosition": true,
      "allowPartialClosePosition": true,
      "allowMitOrders": true,
      "allowEntryOrders": false,
      "allowExitOrders": false,
      "allowTrailingStopLoss": true,
      "requiresW8Ben": null,
      "unitsQuantityType": "FractionalUnits",
      "orderFillBehaviorType": "BestEffort",
      "allowedOrderQuantityType": "Both",
      "tradeUnitType": "Units",
      "initialMarginInAssetCurrency": null,
      "stopLossMarginInAssetCurrency": null,
      "additionalBufferPercent": null,
      "leverageConfigs": [
        {
          "settlementType": "CFD",
          "direction": "LONG",
          "leverageValues": [
            1,
            2,
            5
          ],
          "isPotential": false,
          "minPositionAmount": 50,
          "allowEditStopLoss": true,
          "minStopLossPercentage": 5,
          "maxStopLossPercentage": 50,
          "defaultStopLossPercentage": 50,
          "allowEditTakeProfit": true,
          "minTakeProfitPercentage": 5,
          "maxTakeProfitPercentage": 1000,
          "defaultTakeProfitPercentage": 1000,
          "allowStopLossTakeProfit": true
        }
      ]
    }
  ],
  "notFoundInstrumentIds": [],
  "notFoundSymbols": []
}

Authorizations

Authorization
string
header
required

eToro OAuth2. Each operation lists the scopes that grant access as separate security requirements (OpenAPI OR semantics): the caller's token only needs ONE of them — you do NOT need all of them. The same scopes back the x-api-key/x-user-key credential pair.

Headers

x-request-id
string<uuid>
required

A unique request identifier.

Example:

"033eb143-a734-4a31-84fc-0fe87bc593e0"

x-api-key
string<password>
required

API key for authentication.

Example:

"lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663"

x-user-key
string<password>
required

User-specific authentication key.

Example:

"eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_"

Body

application/json

Request payload for checking instrument eligibility. At least one of instrumentIds or symbols must be provided; combined length must not exceed 100 instruments.

instrumentIds
integer<int32>[] | null

Optional list of instrument IDs to check.

symbols
string[] | null

Optional list of instrument symbols to check.

currency
string
default:USD

Requested currency for financial amounts in the eligibility response (e.g. minimum position size). Currently only USD is supported.

Response

Eligibility resolved successfully

Response containing trading configuration for all requested instruments.

currency
string

The currency used for all monetary values in this response.

eligibilities
object[]

Trading configuration for each resolved instrument.

notFoundInstrumentIds
integer<int32>[]

Instrument IDs that were requested but could not be found.

notFoundSymbols
string[]

Symbols that were requested but could not be found.