Understanding 429 Errors & The Trick To Getting Around Rate Limits in ShipEngine

For an ecommerce business handling a high volume of shipments on a daily, or even hourly basis, repetitive 429 errors—and the subsequent retries—can become frustrating and wildly inefficient for fulfillment. So, in order to help, we have put together a guide to help users automate this retry process.

But, first let’s better understand what a 429 Error is, and why it may occur in a ShipEngine API response. 

What Is a 429 Error? 

When using ShipEngine to perform actions and automations in your fulfillment workflow, you are making individual calls to our API, in which an HTTP client sends a request to an HTTP server, which then sends back a response containing the requested data, or “resource”.

429 errors are generated when too many requests are made from the HTTP client to the server that hosts ShipEngine. Specifically, more than 100 API calls per minute will generate a 429 error in your response code. This mostly comes into play when a high-volume business creates GET posts for tracking events, since the API is often 

The solution?

Enabling Rate Limits in ShipEnigne

There are several reasons why rate limiting is beneficial:

  • It helps us ensure the integrity of our product
  • It helps protect against and alert us to cyber attacks
  • It helps us maintain the speed and reliability of the API 

By placing rate limits on our API, we are able to ensure that all of our users have a great experience with the ShipEngine product, and reduce the chances of the ShipEngine server becoming overloaded. 

The Trick to Preventing Repetitive 429 Errors 

Your dedicated ShipEngine account manager can help you authorize rate limit increases to a certain extent. However, if you are experiencing consistent 429 errors, we suggest building an Axios plugin on top of your ShipEngine integration to intercept the failed requests and retry them programmatically.

Our Developer Experience engineers have provided an axios-retry code sample in our GitHub repository to help your development team with constructing and customizing this plugin for your ecommerce needs. 

Screenshot of axios retry code samples within ShipEngine's GitHub repository

Visit our comprehensive API docs for more information on how to apply these code samples within ShipEngine. 

If you’re experiencing trouble while attempting to resolve 429 errors in ShipEngine, we encourage you to submit a support ticket so our team can help you determine the best solution. 

Leave a Reply

Your email address will not be published. Required fields are marked *