List accounts: broker API endpoints compared
21 documented calls from 11 of the 12 APIs with endpoint records here, and 8 functions and messages from 4 APIs whose interfaces are not HTTP, each with the page it was read on.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
What this task is
Listing accounts is usually the first call after logging in. One login often holds several accounts, and most other calls need the identifier of the account you mean, so a program reads the list once and keeps the identifier.
The same family of calls normally returns the balance, the margin in use and the funds available. Read these from the API rather than working them out yourself, because the provider's own figure is the one its dealing rules are applied to.
The documented endpoint, API by API
Ordered by the name of the broker or platform API, then by path. The order is not a ranking. Open a row for the parameters, the response and a sample request.
| Broker or platform | Endpoint | What the record says it does | Source |
|---|---|---|---|
| Capital.com | GET/api/v1/accounts | List every financial account for the logged in client, with balance, deposit, profit and loss and available funds. | open-api.capital.comchecked |
| Deriv | GET/trading/v1/options/accounts | Lists your Options trading accounts, each with its ID, balance, currency, status and whether it is demo or real. | developers.deriv.comchecked |
| DXtrade APIs | GET/accounts/{accountCode}/metrics | Read the current metrics of an account, such as equity and profit and loss. The values move with the market, so the page expects polling or the push API. | demo.dx.tradechecked |
| IG | GET/accounts | List every account under the login (spread bet, CFD and so on) with balance, deposit, profit and loss and available funds. | labs.ig.comchecked |
| Interactive Brokers | GET/iserver/accounts | The accounts you can trade, their aliases and the currently selected account. IBKR says to call it before the market data snapshot. | interactivebrokers.comchecked |
| Interactive Brokers | GET/portfolio/{accountId}/ledger | Cash balance, net liquidation and profit and loss for each currency the account holds, plus a BASE total. | interactivebrokers.comchecked |
| Interactive Brokers | GET/portfolio/{accountId}/summary | Account values such as net liquidation, available funds, buying power and margin, by segment where it applies. | interactivebrokers.comchecked |
| Interactive Brokers | GET/portfolio/accounts | Your accounts with ID, title, base currency and type, for the portfolio endpoints. | interactivebrokers.comchecked |
| Match-Trader Platform API | GET/mtr-api/{SYSTEM_UUID}/balance | Read the trading account's balance, equity, margin, free margin and profit. | app.theneo.iochecked |
| MetaApi | GET/users/current/accounts/{accountId}/account-information | Read the MetaTrader account's balance, equity, margin, free margin, leverage and currency, with its broker and server. | metaapi.cloudchecked |
| OANDA | GET/v3/accounts | List every account your token can access. Start here to find your accountID. | developer.oanda.comchecked |
| OANDA | GET/v3/accounts/{accountID} | Full account state: balance, NAV, margin, plus open trades, positions and pending orders. | developer.oanda.comchecked |
| OANDA | GET/v3/accounts/{accountID}/summary | Account summary without the trade, position and order lists. Cheap balance and margin check. | developer.oanda.comchecked |
| Saxo OpenAPI | GET/port/v1/accounts | Lists the accounts owned by a client. With no ClientKey it answers for the logged in user's own client. | developer.saxochecked |
| Saxo OpenAPI | GET/port/v1/accounts/{AccountKey} | Details of one account: its identifiers, type, currency, whether it is active and what it is allowed to trade. | developer.saxochecked |
| Saxo OpenAPI | GET/port/v1/accounts/me | Lists every account under the client the logged in user belongs to. Each account carries the AccountKey you pass to price, order and portfolio calls. | developer.saxochecked |
| Saxo OpenAPI | GET/port/v1/balances/me | Returns cash, margin and total value for the logged in client, rolled up in the client's currency. | developer.saxochecked |
| TradeLocker API | GET/auth/jwt/all-accounts | List every account under the login, each with its id and the accNum that the /trade calls need as a header. | public-api.tradelocker.comchecked |
| TradeLocker API | GET/trade/accounts | Read the details of the account selected by the accNum header: its name, currency, status, type, risk rules and trading rules. | public-api.tradelocker.comchecked |
| TradeLocker API | GET/trade/accounts/{accountId}/state | Read the current state of one account, such as its balance, available funds and profit and loss. | public-api.tradelocker.comchecked |
| Trading 212 | GET/api/v0/equity/account/summary | Cash and investment figures for the account: funds free to trade, cash reserved for pending orders, the value and cost of holdings, and the total. | docs.trading212.comchecked |
The same task where the interface is not HTTP
Some platform APIs, and the streaming interfaces of some broker APIs, are not sent as HTTP requests. A function is called from a program in its language, and a message is sent over an open connection. None has a method or a path, so each row is labelled with its kind and its interface. A record is put on this page by hand, from what the vendor's page says the call does, and one call can do several jobs, so the same function can be on more than one task page. Ordered by the name of the broker or platform API, then interface, then name.
| API | Call | What the record says it does | Source |
|---|---|---|---|
| cTrader Open API | messageProtoOAGetAccountListByAccessTokenReq cTrader Open API | Asks which trading accounts an access token was granted for. | help.ctrader.comchecked |
| cTrader Open API | messageProtoOATraderReq cTrader Open API | Asks for the data of one trading account. | help.ctrader.comchecked |
| Deriv | messagebalance Deriv WebSocket API | Returns the balance of the account the connection belongs to. With subscribe set to 1 a new message follows each time the balance changes. | developers.deriv.comchecked |
| MetaTrader 4 (MQL4) | functionAccountBalance() MQL4 | Returns the balance of the account the terminal is logged in to. | docs.mql4.comchecked |
| MetaTrader 4 (MQL4) | functionAccountEquity() MQL4 | Returns the equity of the account the terminal is logged in to. | docs.mql4.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionaccount_info() MetaTrader5 Python package | Returns everything the terminal holds about the trading account it is logged in to, in one call. | mql5.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionAccountInfoDouble() MQL5 | Returns one floating point property of the trading account, such as its balance, equity or free margin. | mql5.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionAccountInfoInteger() MQL5 | Returns one integer property of the trading account, such as its number, its leverage or whether trading is allowed. | mql5.comchecked |
None documented here yet
These APIs have endpoint records on this site, but none is assigned to this task. That describes this dataset. It is not a statement that the API lacks such a call.
- eToro: none documented here yet
Brokers and platforms with no endpoint records at all are not listed above. The broker directory shows what is recorded for each.