Issue: Error received, "Request is throttled".
Resolution: The error is due to the Integration App sending a large number of requests to Amazon to pull or push large data. The Amazon server is not down. The error indicates that Amazon is requesting for the Integration App to reduce the number of requests being sent. Below, you will find insights on what this means, and best practices to avoid this error.
- Amazon has limits on the number of requests made called, (Request Quota) to submit data like inventory, products, pricing, fulfillment etc. (Uploading data to Amazon, is known as Feeds) and limits to pull data like orders, results of feed submission, etc.
- It means that during each hour, Amazon only accepts a number of requests, and if those requests exceed the limit, Amazon throws "Request is Throttled" error, which means that the Integration App is attempting to make many requests to Amazon.
- For a request which was failed, retry the job/feed after some time, when the Request Quota is restored.
- Once a feed is submitted to Amazon, it takes Amazon time to process the feed and give back the results. The Integration App checks the feed status every few minutes, and if there are too many feeds submitted, the feeds contain large data, or there is high load on the Amazon server, it can take several minutes to process this feed and the Integration App might run out of request quota to get the results back.
- It could mean that your feed was submitted successfully and the Integration App failed to get the data, or if there were too many feeds to be submitted, a few feeds failed. In both cases, retrying the job will make the Integration App restart the process and will resolve the error.
- The Integration App flows are designed to minimize the feed submitted and avoid this error, but it is possible that this error shows up in the case that flows are running frequently or if Amazon is taking too much time to process the feed.
- More details on Amazon Help Guide
- Avoid syncing all inventory catalog for inventory flow. The Integration App is well designed to detect if inventory is changing for a particular item.
- "Always sync inventory levels for the entire catalog" setting is available to initially load all the inventory when turning on the Integration App for the first time, and it is strongly advised to turn off this setting after going live.
- Product Flows takes more time to process as their Feeds are bigger and Amazon needs more time to process them. If the Products are not getting updated frequently, it is advisable to run the flow at a minimum of twice a day, to no more than once an hour.
- All uploads/feeds to Amazon (Products, Inventory, Pricing, and Fulfillment) share the same request quota. If throttling is happening frequently for a few flows, try decreasing their frequency.
- Schedule different flows at times other than on the hour.
- For example, Schedule Inventory flow and Pricing at 15 minutes after the hour to run every 30 mins, and Item Fulfillment flow to run at 30 minutes after the hour.
- This reduces the load on Amazon to process all the feeds at the same time.
- Use Cron Mode to schedule the flow.