Feeds API Best Practices


# Optimize feed performance

The ideal size depends on a number of factors, including the rate of feed submission, the number of shared SKUs between the feeds, and the type of ASINs being updated (ASINs with more relationships take longer to update). We suggest a rough estimate of 30,000 - 50,000 updates per feed to start, then adjusting the size and rate of submission until a minimal in-progress feed backlog is maintained.

  • Review and limit the amount of listings you need to update: Include only the products you are updating, not your entire inventory.

  • Identify your rate of feed submission: Upload one feed of the same type no more than once every 20 minutes. Allow more time between larger feeds.

  • Identify the size of your feed submission file: Keep file size below 10 MiB (5*221, or 10,485,760 bytes). If your file exceeds the recommended size, please adjust by dividing it in different smaller submissions.

  • Adjust the feed submission rate based on the backlog size: Wait for previous feeds to be completed before resubmitting.

# Optimize feed processing

Avoid submitting a lot of feeds with only a few records in each feed. When possible, combine the data into less frequent larger feeds.

  • An Inventory related feed and an Orders related feed can be processed simultaneously: Inventory feeds and Order feeds are processed separately. If multiple Inventory feeds (or multiple Order feeds) are submitted in sequence, they will be processed one after the previous one is done.

  • When using POST_PRODUCT_DATA feeds avoid submitting price, inventory, and other feeds for the same SKUs: POST_PRODUCT_DATA feeds can be processed along with price, inventory, and other XML feeds. However, the price, inventory, and other feeds will fail if they refer to SKUs that the product feed hasn't finished processing. You should serialize price, inventory, and image updates after product feeds have completed.

  • All inventory feeds, other than POST_PRODUCT_DATA, can be submitted at the same time: For example price, inventory availability, relationship, and image feeds can all be submitted at the same time.

  • Feeds of the same type are processed sequentially: This applies to all inventory feed types. For example, if you submit two pricing feeds, only one is processed at a time.

  • Avoid multiple small feeds submissions: Uploading many small feeds every few seconds is very inefficient and can result in a backlog, blocking other feeds from processing and forcing you to cancel some of the previously submitted feeds.

# Don't rely on document ID structure

You should not rely on the format and structure of document identifiers. The format and structure of these identifiers (such as the feedDocumentId, which is required to call the getFeedDocument operation) is subject to change.