Rate limits

We have rate limits in place in order to provide a fair response time to all our API users.

The primary rate limit is 40 requests per second. All requests count towards the rate limit.

If the rate limit is exceeded, the API returns a 429 status code indicating Too Many Requests,

with the error message Your request rate has exceeded our rate limit..

Exponential backoff. ChartMogul libraries support exponential backoff to reactively manage rate limits. Learn how our Ruby, Node, PHP, Go and Python clients handle exponential backoff.

Additional limits

To provide a reliable experience to all our API users, we have introduced another layer of rate limits.

In addition to the primary limit of 40 requests per second, we also limit:

When these limits apply. Users using the deprecated page parameter for paging with List API endpoints may hit consumption-based rate limits. This is because the deprecated paging method has lower performance. We advise everyone to use cursor-based pagination, which results in better performance of List API endpoints and is less likely to hit consumption-based rate limits.

Other users are unlikely to notice these additional limits. They are meant to restrict only the most demanding requests so all our API users can benefit from optimal response times.

Strategies for reacting to rate limiting

If you do exceed the rate limits, try one of the following approaches:

If these strategies don’t help, please contact support to discuss a remedy.