Rate Limiting
Information about request limits and how to handle them.
Request Limits
The request limit is set individually for each API key by your administrator in the admin area under Settings > API. It does not depend on your subscription package.
| Default per API key | 1,000 requests per hour |
|---|---|
| Configurable range | 100 to 10,000 requests per hour (there is no unlimited option) |
| Time window | Rolling 60 minutes: all requests of the past hour are counted, including rejected ones |
| Counting | Each API key is counted separately |
Your subscription package only decides whether API access is included at all. Without API access, every request returns 403 with the message that API access is not included in your package.
Rate Limit Headers
The X-RateLimit-* headers below are planned for a future release and are not sent yet. Currently, a request over the limit returns status 429 with a Retry-After header (in seconds).
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum number of requests per hour |
X-RateLimit-Remaining |
Remaining requests in current window |
X-RateLimit-Reset |
Unix timestamp when the limit resets |
Limit Exceeded
When the limit is exceeded, you will receive a 429 response:
HTTP/1.1 429 Too Many Requests
Retry-After: 60
Content-Type: application/json
{
"error": "Rate limit exceeded"
}
The error message is localized, so check the HTTP status code 429 rather than the text. Wait at least the number of seconds given in Retry-After before retrying; requests are accepted again as soon as older requests drop out of the 60-minute window.