Broker API HubMenu

cTrader vs MetaTrader 5 API

The same fields from the cTrader Open API record and the MetaTrader 5 (Python package and MQL5) record, side by side. No winner is picked: which one suits you depends on what you are building.

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 the two records show

Differences you can see in the records themselves. These are counts of what this site holds, not a verdict on either API.

cTrader Open API and MetaTrader 5 (Python package and MQL5), field by field

FieldcTrader Open APIMetaTrader 5 (Python package and MQL5)
KindPlatform API, offered by many brokersPlatform API, offered by many brokers
API familyProtobuf over TCP/WebSocket, JSON over TCP/WebSocket, Python package, C# packagePython package (MetaTrader5), MQL5, WebRequest and sockets from MQL5
How you get accessRegister an app at openapi.ctrader.com; Spotware reviews new apps, so describe your use case in detail.Creating a new applicationchecked Install the MT5 terminal from your broker, then pip install MetaTrader5 on Windows x86-64 or write MQL5 in MetaEditor. The terminal must be at build 4755 or later.order_sendchecked
Who can use itSupported by all trading accounts of any cTrader affiliated brokers by default, which means both demo and live accounts.cTrader Open APIchecked Real accounts come from brokers offering MT5; the API runs through your own local terminal.Opening an account (MT5 help)checked
DemoYes: separate demo endpoint; demo and live environments are fully separated.Proxies and endpointschecked Yes: demo accounts can be opened from within the terminal.Opening an account (MT5 help)checked
AuthenticationOAuth 2.0 authorisation code flow: the auth code lives 1 minute, the access token 30 days. Scopes are accounts, which is read only, and trading, which is full.Account authenticationchecked No API keys: initialize() connects to the local terminal, optionally with account login, password and server.initializechecked
StreamingYes: spot quotes, depth of market and execution events on the same connection, at 50 requests a second per connection (5 for historical data) with a heartbeat every 10 seconds. Host live1.p.ctrader.com port 5035, SSL mandatory for TCP and WebSocket. Spotware recommends at most two connections, one demo and one live, each carrying an unlimited number of accounts of that type.Messageschecked No push API in Python: poll ticks and bars; market_book_add subscribes the terminal to depth events. MQL5 EAs get tick events.MetaTrader for Pythonchecked
History depthTrend bars and ticks by from/to timestamp with optional count; deals by range with maxRows. Cash flow history max 1 week per request.Spotware OpenApiMessages.protochecked Bars limited to the terminal's Max bars in chart setting. Deal history by date range with no stated limit.MQL5 docs: copy_rates_fromchecked
Limits
  • Requests a second, not historical data: 50. Per connection, requests that are not for historical datahelp.ctrader.comchecked
  • Requests a second, historical data: 5. Per connection, historical data requests onlyhelp.ctrader.comchecked
None recorded
Endpoints documented hereNone yetNone yet
Error codes decoded here53311
Official documentationhelp.ctrader.commql5.com

Go deeper on each side

All comparisons. New to this? Getting started with API trading.