Broker API HubMenu

Instrument and market search: broker API endpoints compared

23 documented calls from 11 of the 12 APIs with endpoint records here, and 11 functions and messages from 4 APIs whose interfaces are not HTTP, each with the page it was read on.

Independent and unofficialNewest check

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

Every API has its own identifier for a market, and the ticker you know is rarely it. A search call turns a name or a symbol into the identifier the other calls expect.

The same group of calls usually returns the details you need before dealing: minimum size, price precision, the distance a stop must keep and the hours the market is open.

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 platformEndpointWhat the record says it doesSource
Capital.comGET/api/v1/marketsSearch markets by term or fetch up to 50 epics at once. With no query it returns every market.open-api.capital.comchecked
DXtrade APIsGET/accounts/{accountCode}/instruments/queryRead the details of instruments as they are set for one account, since the platform can configure an instrument differently for different accounts.demo.dx.tradechecked
DXtrade APIsGET/instruments/{symbol}Read the general details of one instrument by its symbol.demo.dx.tradechecked
DXtrade APIsGET/instruments/querySearch the instruments the platform trades by symbol, with a wildcard, or by type, and page through the result.demo.dx.tradechecked
eToroGET/api/v1/market-data/instrumentsReturns display metadata for instruments, such as name, type, exchange, full symbol and logo images. Filter by instrument, exchange, industry or instrument type IDs.api-portal.etoro.comchecked
eToroGET/api/v1/market-data/searchReturns a paginated list of instruments. You choose which instrument fields come back with the required fields parameter, and any field can also be used as a filter.api-portal.etoro.comchecked
eToroGET/api/v2/market-data/instrumentsInstrument reference data, filtered by instrument IDs or by symbols, with cursor paging. With neither filter it pages through every instrument.api-portal.etoro.comchecked
eToroGET/api/v2/market-data/instruments/searchFree text search of instruments by name or symbol, returned in order of relevance.api-portal.etoro.comchecked
IGGET/categories/{categoryId}/instrumentsEvery instrument in one category, paged, with its epic, name, status and current bid and offer.labs.ig.comchecked
IGGET/marketsSearch markets by free text. Returns epics you then feed into every other call.labs.ig.comchecked
Interactive BrokersGET/iserver/contract/{conid}/infoFull contract details for a conid: symbol, instrument type, currency, exchange, trading class and whether it can be smart routed.interactivebrokers.comchecked
Interactive BrokersGET/iserver/secdef/infoAttributes of an instrument, mainly for derivatives: ticker, exchanges, currency, maturity, right and strike.interactivebrokers.comchecked
Interactive BrokersGET/iserver/secdef/searchFinds contracts for a symbol and returns their contract IDs (conid), which every market data and order call needs.interactivebrokers.comchecked
Match-Trader Platform APIGET/mtr-api/{SYSTEM_UUID}/effective-instrumentsList the instruments the logged in user can trade, each with its settings such as trading hours, price precision, volume limits, leverage and swap.app.theneo.iochecked
MetaApiGET/users/current/accounts/{accountId}/symbolsList the symbols available on the MetaTrader account, as plain names.metaapi.cloudchecked
MetaApiGET/users/current/accounts/{accountId}/symbols/{symbol}/specificationRead the trading specification of one symbol.metaapi.cloudchecked
OANDAGET/v3/accounts/{accountID}/instrumentsInstruments this account can trade, with precision, pip location and margin rate.developer.oanda.comchecked
Saxo OpenAPIGET/ref/v1/instrumentsSearches Saxo's instrument universe by keyword, asset type, exchange or Uic and returns summary rows. Use it to find the Uic you need for prices, charts and orders.developer.saxochecked
Saxo OpenAPIGET/ref/v1/instruments/detailsDetailed reference data for a list of instruments in one call, chosen by Uic and asset type.developer.saxochecked
Saxo OpenAPIGET/ref/v1/instruments/details/{Uic}/{AssetType}Returns full details for one instrument: symbol, currency, tick size, minimum trade size, exchange and the order types it supports.developer.saxochecked
TradeLocker APIGET/trade/accounts/{accountId}/instrumentsList the instruments the account can trade, each with its tradableInstrumentId and the routes used for quotes and for trading.public-api.tradelocker.comchecked
TradeLocker APIGET/trade/instruments/{tradableInstrumentId}Read the dealing details of one instrument, such as lot size and step, smallest and largest lot, tick size, quoting currency and trade session.public-api.tradelocker.comchecked
Trading 212GET/api/v0/equity/metadata/instrumentsEvery instrument the account can reach, with its ticker, name, ISIN, type, currency and the working schedule it trades on.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.

APICallWhat the record says it doesSource
cTrader Open APImessageProtoOASymbolByIdReq cTrader Open APIAsks for the full details of one or more symbols, by id.help.ctrader.comchecked
cTrader Open APImessageProtoOASymbolsListReq cTrader Open APIAsks for the symbols a trading account can use. Each comes back in a light form with a limited set of fields.help.ctrader.comchecked
Derivmessageactive_symbols Deriv WebSocket APILists the symbols that can be traded now, with the market each belongs to and whether it is open. The symbol codes it returns are what ticks, ticks_history and proposal expect.developers.deriv.comchecked
Derivmessagecontracts_for Deriv WebSocket APILists the contracts that can be bought on one symbol now, with the barrier, stake and duration limits of each. On a logged in connection only the contracts that account may trade are returned.developers.deriv.comchecked
MetaTrader 4 (MQL4)functionMarketInfo() MQL4Returns one item of data about a symbol in the Market Watch window, chosen by a request identifier: a price, or a dealing property such as the stop level.docs.mql4.comchecked
MetaTrader 5 (Python package and MQL5)functionsymbol_info() MetaTrader5 Python packageReturns the terminal's data on one financial instrument: its contract and dealing properties as well as its latest prices.mql5.comchecked
MetaTrader 5 (Python package and MQL5)functionsymbols_get() MetaTrader5 Python packageReturns the financial instruments in the terminal, all of them or those whose names match a filter.mql5.comchecked
MetaTrader 5 (Python package and MQL5)functionSymbolInfoDouble() MQL5Returns one floating point property of a symbol, such as its bid, its ask or its point size.mql5.comchecked
MetaTrader 5 (Python package and MQL5)functionSymbolInfoInteger() MQL5Returns one integer property of a symbol, such as its spread, or whether that spread floats.mql5.comchecked
MetaTrader 5 (Python package and MQL5)functionSymbolName() MQL5Returns the name of the symbol at a place in the list of symbols.mql5.comchecked
MetaTrader 5 (Python package and MQL5)functionSymbolsTotal() MQL5Returns how many symbols are available: those selected in Market Watch, or all of them.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.

Sections