Get balance for a specific account
Rate limit: 60 requests per 60 seconds. This is the default shared quota — it is shared with every other endpoint that has no dedicated limit, so requests across those endpoints all draw from the same budget.
Returns the balance for a specific account identified by type and account ID for the authenticated user. Zero-balance accounts are always returned by this endpoint, so a 404 means the account does not exist rather than that its balance is zero.
Important: totalBalance and displayBalance are portfolio value, not spendable cash. For Trading, Options, MoneyFarm and Spaceship they represent total account value including invested positions; for Crypto, the fiat value of holdings. Only for Cash accounts do they equal available cash. Do not use them to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account’s own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
Authorizations
API key of the application. Only valid together with the x-user-key header — the pair is an alternative to OAuth bearer authentication, never sent alongside it. The pair is granted the same permissions the operation's OAuth scopes describe.
Demo credential for trying the API from these docs: lhgfaslk21490FAScVPkdsb53F9dNkfHG4faZSG5vfjndfcfgdssdgsdHF4663
User-specific authentication key. Only valid together with the x-api-key header — the pair is an alternative to OAuth bearer authentication, never sent alongside it.
Demo credential for trying the API from these docs: eyJlYW4iOiJVbnJlZ2lzdGVyZWRBcHBsaWNhdGlvbiIsImVrIjoiOE5sZ2cwcW5EUVdROUFNWGpXT2lmOWktZnpidG5KcUlqWGJ3WHJZZkpZcldrbG90ZEhvLVBjSWhQaU8xU1ZtMW84aU1WZGZqN2xWNzFjLXFxLmcybXE1dnh4Q1hUT25xaWRUaTFlcEhmVk1fIn0_
Headers
A unique request identifier.
"559a18a9-325f-4f0e-9153-2ac82240e7d3"
Path Parameters
The account type. Must be lowercase — any other casing does not match the route and returns 404. The type of eToro account, as accepted in the accountType path segment. Lowercase only: the route matches these values exactly and returns 404 for any other casing or for numeric values. Note this differs from the casing used for accountType in response bodies.
trading, cash, options, crypto, moneyfarm, spaceship "trading"
The unique identifier of the account.
Query Parameters
ISO 4217 currency code for totals and conversions. Defaults to USD.
Comma-separated list of optional sections to include in the response. Valid values: equityDetails.
Response
Balance for the specified account retrieved successfully.
Aggregated balances for the authenticated user.
The user's global customer ID.
Sum of every included account's balance, converted to the requested display currency. Treat this as portfolio value, not spendable cash: for Trading, Options, MoneyFarm and Spaceship it is the total account value including invested positions, and for Crypto it is the fiat value of holdings. For Trading specifically it equals equityDetails.available + equityDetails.totalUsedMargin + equityDetails.currentPNL, so it includes margin deployed in open positions and unrealized profit and loss — the available portion can be a small fraction of it. Only for Cash accounts does it equal available cash. Do not use it to decide whether a trade or withdrawal is affordable — request expand=equityDetails and read equityDetails.available (Trading, Options, MoneyFarm, Cash) or equityDetails.spendableBalanceInFiat (Crypto). Spaceship accounts expose no spendable figure. Note that equityDetails amounts are denominated in each account's own native currency, not in displayCurrency, so they must be converted before being compared with displayBalance or totalBalance.
ISO 4217 currency code used for totalBalance and displayBalance values.
Individual account balances.