The cTrader Open API is a service you can use to develop custom applications connected to the cTrader backend. This documentation provides everything you need to know including information about SDKs, structured tutorials, code snippets, and more.
What Is Open API?¶
The cTrader Open API is a service that allows anyone with a cTID to create an application sending and receiving information to and from the cTrader backend. You can use this API to develop trading-oriented apps or services or integrate the cTrader backend with any existing solutions you may have.
Using this API involves sending and receiving messages to and from the cTrader backend. This is done via sending/receiving either JSON objects or Google Protocol Buffers (Protobufs). Both of these means of data serialisation/deserialisation are language-neutral, meaning that you can use any programming language you want to interact with the API.
Note that when this documentation references specific messages (e.g.,
ProtoOAApplicationAuthReq), it uses the Protobuf notation with
ProtoOA... at the start of a message name.
The cTrader Open API is available for anyone registered with a cTrader-affiliated broker.
Here are just some of the possible applications you may create when interacting with the cTrader Open API.
- A custom trading application that funnels new users to create new accounts with a certain broker.
- A Telegram bot that automatically informs your followers of any new traders you may have placed.
- An app for wearables that displays the current P&L of the five most recent positions opened by the user.
- A mobile app that gives a market overview by using a generative AI service.
As you can see, the cTrader Open API is perfect for professional traders who want to go social and closely interact with their followers.
Here is a non-exhaustive list of what the cTrader Open API allows your code to do.
- Access real-time market data.
- Perform all possible types of trading operations permitted in the official cTrader applications.
- Retrieve and process information on past, current, and pending operations including deals, orders, and positions.
Note that there exist some limits on how frequently you can perform certain requests to the cTrader backend.
- You can perform a maximum of 50 requests per second per connection for any non-historical data requests.
- You can perform a maximum of 5 requests per second per connection for any historical data requests.
Demo and Live Trading¶
You can use the cTrader Open API to trade on behalf of both Demo and Live accounts.
We recommend using Demo accounts for development and testing, and then switching to Live after making sure that your integration with the cTrader Open API works as intended.
However, there are no hard restrictions, and you may freely choose to start development and testing under a Live account.
When integrating with the Open API, you can use either JSON or Protobufs for data serialisation/deserialisation.
You can use any language to implement the cTrader Open API. However, if you intend to use Protobufs, we highly recommend using a language that has official SDK support from Spotware. To date, these languages are as follows.
Every official SDK listed above contains 'helper' methods and classes that make the implementation of the cTrader Open API as smooth as possible.
If you intend to use JSON, there is no need to use our SDKs as handling serialisation/deserialisation in this case is relatively simple.