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:
- Send a request to the server.
- If the request fails, wait for a while and try again.
- If the request fails again, wait longer and try again.
- 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.