List open orders: broker API endpoints compared
12 documented calls from 10 of the 12 APIs with endpoint records here, and 6 functions and messages from 3 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
An open order, also called a pending or working order, is an instruction that has been accepted but has not filled yet, such as a limit or a stop waiting for its level.
List open orders after a restart or a dropped connection, so that the program's own record matches what the provider holds. An order you forgot about can still fill.
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/workingorders | All open limit and stop orders on the active account. | open-api.capital.comchecked |
| DXtrade APIs | GET/accounts/{accountCode}/orders | List every open order on an account. | demo.dx.tradechecked |
| IG | GET/working-orders | All working (pending) orders on the active account. | labs.ig.comchecked |
| Interactive Brokers | GET/iserver/account/orders | Open orders, plus orders filled or cancelled during the current brokerage session. | interactivebrokers.comchecked |
| Match-Trader Platform API | GET/mtr-api/{SYSTEM_UUID}/active-orders | List the pending orders on the trading account that have not yet been executed. | app.theneo.iochecked |
| MetaApi | GET/users/current/accounts/{accountId}/orders | List the open, pending orders on the MetaTrader account. | metaapi.cloudchecked |
| OANDA | GET/v3/accounts/{accountID}/orders | List orders, pending by default. Filter by ids, state or instrument; paginate with beforeID. | developer.oanda.comchecked |
| OANDA | GET/v3/accounts/{accountID}/pendingOrders | Every pending order on the account, in one call with no filters. | developer.oanda.comchecked |
| Saxo OpenAPI | GET/port/v1/orders | Lists the open orders of a client or an account. By default only working orders are returned. | developer.saxochecked |
| Saxo OpenAPI | GET/port/v1/orders/me | Lists all open (working) orders across every account of the logged in client. Filled or cancelled orders do not appear here. | developer.saxochecked |
| TradeLocker API | GET/trade/accounts/{accountId}/orders | List the account's orders that are not yet final: those neither filled, cancelled nor rejected. | public-api.tradelocker.comchecked |
| Trading 212 | GET/api/v0/equity/orders | Every order still active on the account, meaning not yet filled, cancelled or expired. | 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 | messageProtoOAReconcileReq cTrader Open API | Asks for the account's open positions and pending orders as they stand now. | help.ctrader.comchecked |
| MetaTrader 4 (MQL4) | functionOrderSelect() MQL4 | Selects one order, by its place in a list or by its ticket, so that the functions which read an order's properties read that one. | docs.mql4.comchecked |
| MetaTrader 4 (MQL4) | functionOrdersTotal() MQL4 | Returns how many market and pending orders the account has. | docs.mql4.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionorders_get() MetaTrader5 Python package | Returns the active pending orders on the account: all of them, those in one symbol, those whose symbol matches a filter, or the one with a given ticket. | mql5.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionOrderGetTicket() MQL5 | Returns the ticket of the pending order at a position in the list of current orders, and selects that order so its properties can be read. | mql5.comchecked |
| MetaTrader 5 (Python package and MQL5) | functionOrdersTotal() MQL5 | Returns how many pending orders are current on the account. | 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.
Brokers and platforms with no endpoint records at all are not listed above. The broker directory shows what is recorded for each.