Skip to main content

Usage Policy

Rate Limits & Throttling

Overview

Our API imposes request limits and throttling to ensure fair usage and maintain system stability. This documentation outlines the limits and provides guidance on handling throttling responses.

The rate limit defines the maximum number of requests that can be made to the API within a specific time window. When the rate limit is exceeded, further requests will be rejected. Throttling is the process of controlling the rate of requests made to the API to prevent overload and maintain system performance. When throttling occurs, requests are delayed or temporarily blocked until the request rate falls within acceptable limits.

Usage quotas

Our API is priced on usage. Further information on this will be detailed in your licence details for Rest APIs.

Handling throttling responses

When throttling occurs, the API returns an HTTP status code 429 Too Many Requests along with a Retry-After header indicating the duration (in seconds) after which the client should retry the request.

Example Throttling Response
HTTP/1.1 429 Too Many Requests
Retry-After: 60
Content-Type: application/json

{
"error": {
"code": "rate_limit_exceeded",
"message": "API rate limit exceeded. Please retry after 60 seconds."
}
}

Best practices

To avoid being throttled, follow these best practices:

  • Implement exponential backoff: If you receive a throttling response, wait for the specified Retry-After duration before retrying the request. Implement exponential backoff to gradually increase the wait time between retries.
  • Exercise efficient data retrieval: Minimize unnecessary requests by batching or optimizing data retrieval operations. Use query parameters to filter and limit the amount of data returned by each request.