Skip to main content

Rate limits

Rate limiting is a technique used to control the amount of incoming and outgoing traffic to or from a network. For APIs, it is a method used to control the number of requests a client can make to the API within a certain time period.

Rate limiting:

  • prevents abuse of the API
  • protects it from being overwhelmed
  • ensures fair usage for users

There are three main types of rate limits:

  • Quota - this is the total number of requests you can make in a day. If you exceeds this limit, you will need to wait until the quota resets
  • Burst - this is the maximum number of requests you can make in a short burst, typically measured in seconds
  • Requests Per Second (RPS) - this is the average number of requests per second a client can make
Limit type Description Limit
Quota Maximum number of requests in a specific time period 500000
Burst Maximum number of requests in a short burst 10
RPS Average number of requests per second 15

If you exceed these limits you will receive a response with 429 Too Many Requests HTTP status code. See error codes for further information.

Exponential backoff

Exponential backoff is a way to handle errors in network applications. It means that the client tries again if a request fails, but waits longer each time.

The steps are:

  1. Send a request to the server.
  2. If the request fails, wait for a while and try again.
  3. If the request fails again, wait longer and try again.
  4. Stop retrying when the request succeeds or after a certain number of tries.

This way works well when the server is busy or the client has network problems. It gives the server and the network a chance to get better.