We use a proprietary code to identify all markets and trading venues in our system. This code is called a Financial Identifier, or "FinID".
To obtain a list of all FinIDs, use the list markets endpoint to enumerate all markets you have access to as part of your subscription. You can then use the market details endpoint to see specifics about which securities are included in each FinID.
The FinID is more specific than the standard Market Identifier Code, or MIC. However, you can use the MIC in place of the FinID. If you use MIC, the API will return results for the best matching FinID. If you need help mapping specific securities or MICs to FinIDs, our team is available to help.
Use the query string parameter
fin_id to specify a market or markets. Some endpoints support multiple FinIDs in a single request. To specify multiple FinIDs, separate them with commas. Whenever possible, we recommend making bulk requests with multiple FinIDs to avoid exceeding rate limit restrictions.
Remember to use your authentication token for all requests.
The API supports JSON format and CSV format for most requests. By default, if left unspecified, the response format is JSON.
To get a response in CSV format, use the query string parameter
format to specify the output format.
Not all endpoints support returning data in CSV format.
The API has rate limits to ensure system resources are available to all customers and to prevent excessive API usage. If you exceed the rate limit, you will receive an error message
419: Too many requests.
The rate limit is not intended to restrict access. Rate limits can be increased for Enterprise licensees. Contact support to increase your rate limit.
You can always check the
X-RateLimit-Remaining response headers to see how many requests you have left.
There are several techniques to avoid exceeding the rate limit listed below:
- Response caching should be used to avoid sending the same API call multiple times within a short period of time. It is particularly important to cache the response from the Market Status API.
Delays Between Requests:
- By adding a small 1 second delay between requests you can avoid exceeding the rate limit in most cases.
- Enterprise customers can download all data at once using the Data Download API endpoint.
- Use bulk API requests whenever possible. To send bulk API requests, specify multiple FinIDs in a single request. See the example below:
If you see an error saying your request "has been blocked by CORS policy" or there is "no 'Access-Control-Allow-Origin' header is present" then this is the problem.
Learn more about Cross Origin Request Sharing.