This article provides a comprehensive guide to EXANTE's HTTP API, including key creation and management, permissions, endpoints, and rate limits.
The EXANTE HTTP API provides a RESTful interface for accessing account information, managing orders, and retrieving market data. It uses standard HTTP methods, such as GET, POST, and JSON, for data exchange.
Links for the API Integration and Specification:
HTTP API Integration: https://api.exante.eu/http-api/ - offers instructions for setting up an HTTP connection to stream live quotes and develop financial applications
HTTP API Specification: https://api-live.exante.eu/api-docs/ - describes the rules and guidelines for interacting with an API through HTTP requests.
How do I create keys for the HTTP API?
You can create keys for both the Live and Demo environments in your Client Area under 'Settings' → API Management. To add a new key, click the “Add API Key” button.
Settings → API Management
What key permissions are included with the HTTP API key?
Each key can include all of the following permissions or just a selection:
Symbols - This permission allows you to make the following requests:
get exchanges - return list of exchanges
get instruments by exchange - return the requested exchange financial instruments
Note: we recommend avoiding requests for CBOE, as they will likely fail due to the large number of instruments involved.
get instrument groups - return list of available instrument groups
get instruments by group - return financial instruments that belong to a specified group
get instrument list - return list of instruments available for authorized user
get detailed list of available currencies - return the detailed list of available currencies
get instrument - return instrument available for authorized user
get instrument schedule - return financial schedule for requested instrument
get instrument specification - get instrument specification
get instrument types - return list of known instrument types
get instruments by type - return financial instruments of the requested type
Feed - This permission allows you to make the following requests:
get trades stream - return the trades stream for the specified financial instrument
get quote stream - return the life quote stream for the specified financial instrument
get last quote - return the last quote for the specified financial instrument.
Change - This permission allows you to make the following requests:
get daily changes - return the list of daily changes for requested instruments
Orders - This permission allows you to make the following requests:
get historical orders - return the list of historical orders
place order (POST request) - place new trading order
get active orders - return the list of active trading orders
get order - return the order with specified identifier
modify order (POST request) - replace or cancel trading order
OHLC - This permission allows you to make the following requests:
get OHLC (2.0) - return the list of OHLC candles for the specified financial instrument and duration
get ticks (2.0) - return the list of ticks for the specified financial instrument
get OHLC (3.0) - return the list of OHLC candles for the specified financial instrument and duration
get ticks (3.0) - return the list of ticks for the specified financial instrument
Crossrates - This permission allows you to make the following requests:
get list of available currencies - return the list of available currencies
get crossrate - return the crossrate from one currency to another
Summary - This permission allows you to make the following requests:
get account summary - return the summary for the specified account
get account summary by date - get account summary by date
Accounts - This permission allows you to make the following requests:
get user accounts - return the list of user accounts and their statuses
Transactions - This permission allows you to make the following requests:
get transactions - return the list of transactions with the specified filter.
What are the requirements for creating HTTP API keys?
Note that the option to create Demo HTTP API credentials is available only after your account has been approved.
Access to the Live HTTP API becomes available once you meet the deposit requirement of €50,000.
What are the HTTP API Key and Secret Key used for?
The HTTP API Key and Secret Key are used for authentication when accessing the API. They verify the user's identity and ensure secure communication between the client and server for trading and data requests.
What is the difference between Basic Authorization and JSON Web Token in HTTP API?
Basic Authorization requires sending a username and password encoded in base64 with each HTTP request. While this method is simple, it is less secure.
In contrast, JSON Web Token (JWT) provides a more secure authentication method. As soon as a user authenticates, a token is issued. This token is used for all subsequent requests, eliminating the need to send sensitive credentials repeatedly. JWTs can also include embedded claims, allowing for more complex authentication and authorization rules.
Please note that JSON Web Tokens expire six hours after they've been created.
What is Client ID in HTTP API?
The Client ID is a unique identifier assigned to a specific client or user; it is used to authenticate and identify their API requests. It enables the server to recognize which client is making the request and is often used alongside a secret key for secure communication.
How many keys can be created for the Demo and Live HTTP API?
You can create up to 30 keys for both the Live and Demo HTTP APIs. Additionally, these keys can be deleted at any time.
What are the endpoints for the Live and Demo HTTP API?
There are two types of endpoints for both the Demo and Live HTTP APIs:
API Trading Endpoint: This specific URL allows users to programmatically place, modify, and manage trades via an HTTP interface.
API Data Endpoint: This specific URL provides access to market data, including real-time or historical prices and other financial information, through an HTTP interface.
The endpoints for Demo and Live HTTP API are as follows:
Live | Demo |
API Trading endpoint: https://api-live.exante.eu/trade/ | API Trading endpoint: https://api-demo.exante.eu/trade/ |
API Data endpoint: https://api-live.exante.eu/md/ | API Data endpoint: https://api-demo.exante.eu/md/ |
What are the HTTP API limits?
Current API has the following limitations:
URL should not be longer than 2000 symbols
Maximal order depth for both archive and active orders is limited by settings (1000 by default)
The limitations for the Demo and Live HTTP API per minute are the following:
Symbols - 60
OHLC - 1
Feed - 300
Change - 300
Cross rates - 300
Orders - 300
Summary - 60
Accounts - 60
Transactions - 60
Can the HTTP API limits be increased?
Yes, the HTTP API limits can be increased for Live accounts.
To request a limit increase, please contact the Client Services team via chat or email.
What happens if I exceed the rate limit?
If you exceed the rate limit for either API, you will receive a "429 Too Many Requests" error response. Your requests may be temporarily delayed or rejected until you are back within the allowed rate limits.
How can I avoid hitting the rate limit?
Implement rate limiting in your application: Introduce delays or pauses between your API requests to stay within the allowed limits.
Use caching: Cache API responses whenever possible to avoid making redundant requests for the same data.
Batch requests: If applicable, combine multiple requests into a single API call to reduce the overall number of requests.
Contact EXANTE: If your application requires a higher rate limit, contact your account manager or Client Services team to discuss your needs.