Rate Limiting Best Practices

RazorSync employs API rate-limiting measures to ensure performance during high traffic. Requests over the limit will receive a 429 "Too Many Requests" notification.

 

What is a 429 Error Response?

A “HTTP 429 Too Many Requests response status code indicates the user has sent too many requests in a given amount of time” (429 Too Many Requests - HTTP | MDN (mozilla.org)). In other words, if you receive this response, our servers are communicating that your usage of our API has exceeded the limit of the number of requests we can support at once within a time window to maintain a stable standard quality of service for all of our customers, most notably you! 

 

How should your software respond?

The two key variables there are the request count and the time period. These are the two levers you can pull to bring your usage back to compliance and ensure a smooth experience going forward.

Our 429 responses will include a helpful “Retry-After” header that indicates the minimum time (in seconds) you need to wait until sending your next request to return to a normal, error-free state. Your software should be updated to listen for these responses, including the header, and implement a delay of the “Retry-After” amount at a minimum (we recommend more) before it tries to submit a request again.

 

How to avoid 429 Errors in general?

In addition to ensuring your code properly handles potential 429 responses, the best action that can be taken is to reduce your overall request count to prevent receiving that response in the first place. Please review your code and processes to evaluate whether changes could be made to your API usage to leverage the provided endpoints more efficiently.