API Rate Limiting
Rate limiting
Our API employs safeguards against bursts of incoming traffic to help maximise its stability. Clients who send many requests in quick succession may see error responses that show up as status code 429.
We have implemented the following limits:
- A rate limiter that limits the number of requests received by each API client within any given minute. Current value is 1000 requests per minute.
Treat these limits as maximums and don’t generate unnecessary load.
We can adjust limits to prevent abuse or support well-behaved high-traffic applications.
Should we decide to change the default value of 1000 requests per minute, we will communicate this ahead of the change
Responding to rate-limiting conditions
If you exceed a rate limit when using any of our HTTP-based APIs, we will return an HTTP 429 Too Many Requests error, and a Retry-After HTTP header containing the number of seconds until you can retry.
For example, if your app exceeds the rate limit of GET /transactions, you might receive a raw HTTP response like this:
HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 2021-02-11T10:45:16.848Z
This response instructs your app to wait 30 seconds before attempting to make the same call.
By evaluating the Retry-After header you can wait for the indicated number of seconds before retrying the same request.
At any point you can inspect the X-RateLimit-Limit
header which indicates the current limit that your API client has and the X-RateLimit-Remaining
header with the remaining calls.
Updated about 2 months ago