Rate Limiting¶
The ELEMENT API implements a strict bucket-based rate limiting logic. Every API key has its own rate limit bucket, which will be shared over all access attempts with that API key.
How many requests per second are allowed?¶
By default, API keys may access the API 50 times over the span of 10 seconds. This can be changed per API key, to allow for more or less restrictive rate limits. Please contact an administrator if you need these limits changed.
Rate Limiting Headers¶
Every response from the ELEMENT API contains the following custom headers, informing the consumer about current rate limit usage.
Header | Example | Meaning |
---|---|---|
x-ratelimit-limit | 50/10000ms | How many requests are allowed per time bucket? (50 requests over 10 seconds) |
x-ratelimit-reset | 8270 | When does the time bucket reset? (in 8.27 seconds, remaining will be set to 50) |
x-ratelimit-remaining | 42 | How many requests are allowed for the remaining time bucket? (within the next 8.27 seconds, 42 more requests are allowed) |
Rate Limit Error response¶
When your requests hit the rate limit, a 429 Too Many Requests
error code will be returned. To avoid that, please make sure to check the x-ratelimit-remaining
header to be more than 0 before sending any request.
Hitting the rate limit often?
Implement incremental or exponential backoff strategies where possible.