The API throttling level has been set for each Partner per API. If you try to exceed the limits, your API calls will be returned with an error: 429, “Too Many Requests.”
The following table represents the default throttling limits. If you find that you are exceeding the levels listed below, review your algorithms and optimize for fewer calls. If you still encounter errors, contact Partner Support.
API Throttling Limits
|Feed Type||HTTP Method||Max Requests||Max File Size per Call||Processing Time per Request|
|item||POST Bulk Item Setup (Multiple)||10 per hour||25 MB||4 hours|
|POST Bulk Item Setup (Multiple)||20 per hour||25 MB||4 hours|
|SKU_TEMPLATE_MAP||POST Bulk Item Setup (Multiple)||10 per hour||10 MB||30 minutes|
|BULK-RETIRE||POST Bulk Item Setup (Multiple)||10 per hour||1 MB||30 minutes|
|Prices||POST Bulk Price Update||10 per hour||10 MB||30 minutes|
POST Bulk Promo Update
|6 per day||10 MB||30 minutes|
|Inventory||POST Bulk Inventory Update||10 per hour||5MB||30 minutes|
|Lag Time||POST Bulk Lagtime Update||6 per day||10 MB||30 minutes|
|Returns Overrides||POST Bulk Item Override||20 per day||400KB||4 hours|
|MP_INVENTORY||POST Bulk Inventory Update||20 Calls Per Hour (1 call will be added every 3 minutes)||1 MB||40 minutes|
Scenarios where to use Feed APIs / Bulk Update APIs vs Non-Feed APIs
The APIs above are feed/bulk update APIs that are used to perform updates and tasks on a day-to-day basis e.g. (Bulk Item Inventory Update, Bulk Item Setup (Multiple) , etc.). For these APIs, sellers have to submit the feed files as part of the feed API call and check the progress using feed status API (Marketplace Seller Feed item status API link).
Usage of other non-feed APIs (eg. Update inventory API, Update Item Inventory per Ship Node API, etc.) should be in exception scenarios only. These are primarily designed for emergency usage and are highly throttled.
API Throttling Response Headers
For throttled APIs, use these response headers to get the current throttling usage:
|X-Current-Token-Count||Current token count i.e. the number of requests that will be allowed in current window.|
|X-Next-Replenishment-Time||Time at which current window ends and throttling count is reset.|