There is a throttling mechanism in place to protect our infrastructure from unwanted requests and to keep the services available for all. This throttling mechanism allows you to make a specific number of requests pr. minute. Going beyond this rate limit will return a failed response with status code 429 - Too Many Requests and look like so:
{
"ErrorCode": "RateLimitExceeded",
"Message": "Rate limit exceeded!"
}
To avoid exceeding your rate limit you need to monitor the response header returned by the API. The response headers starting with X-RateLimit will inform you how many requests you have left and when your allowance will be reset. These headers are explained in detail in our Learn pages (see link below).
We designed our API to handle very many request and scale very well, so if you run into the rate limits being insufficient you might need to investigate if you are using the API as intended. For example in many cases where near-real-time updates are important we offer you the possibility to stream information via websockets instead of actively polling data yourself multiple times pr. second. In other cases where you might want to poll information on a large set of data (for example getting details on 10000 different instruments) we offer you the possibility to use lists and batch requests to get as much information through a single requests as possible.
More Resources
Learn page - Batching Requests
Learn page - Event Notification