Rate limits

Our API uses rate limiting to ensure a fair usage policy across all users of our platform. This article explains our rate limit rules and how to manage them.

What is rate limiting?

Rate limiting is a technique for limiting network traffic. It sets a limit on how many API calls an app or a user can make within a specific time period. If the app or user goes over this limit, the API will start responding with error messages.

Rate limit guidelines

Our API uses a leaky bucket algorithm as a controller. This technique allows for a small amount of requests over the limit to be accommodated, but continually making requests over the limit causes the bucket to fill up.

Here's our general rate limit guidelines:

  • Free package users: 120 requests per minute (RPM)
  • Pro package users: 240 RPM
  • Entreprise package users: 600 RPM

Monitoring your rate limit status

Our rate limit info is returned in the headers of each API request. The relevant headers are:

  • X-RateLimit-Limit: The maximum number of requests you can make in a minute.
  • X-RateLimit-Remaining: The number of requests left for the 60 second window.
  • X-RateLimit-Reset: The remaining window before the rate limit resets in UTC epoch seconds.
{
  "X-RateLimit-Limit": "60",
  "X-RateLimit-Remaining": "56",
  "X-RateLimit-Reset": "1372700873"
}

What happens if I exceed the rate limit?

If you exceed the rate limit, you will receive an error response from the API. It is recommended that you handle this error in your API client. The rate limits are reset every minute, so you can retry after the reset time.

{
  "message": "Rate limit exceeded",
  "documentation_url": "http://yourcompany.com/docs/rate-limits"
}

For optimal performance, try to adjust your usage pattern to make consistent requests over time instead of instantaneous high-volume requests. If you need a higher rate limit, please contact our sales team.

Was this helpful?