Amazon Services
Amazon Marketplace Web Service (Amazon MWS) Documentation

Deprecation Notice:

Amazon Marketplace Web Service (MWS) will no longer be available after March 31, 2024. All MWS developers must migrate to Selling Partner API (SP-API) to avoid service disruptions. Refer to the Migration Hub for more information.

Amazon MWS Documentation

SubmitFeed

Uploads a feed for processing by Amazon MWS.

Description

The SubmitFeed operation uploads a file and any necessary metadata for processing. Note that you must calculate a Content-MD5 value for the submitted file. For more information about creating a Content-MD5 value, see Using the Content-MD5 hash with the SubmitFeed and GetFeedSubmissionResult operations.

Feed size must be below 2 GiB (231, or 2,147,483,648 bytes) per feed. If you have a large amount of data to submit, you should submit feeds smaller than the feed size limit by breaking up the data, or submit the feeds over a period of time. For optimal performance, a good practice is to submit feeds with a size limit of 30,000 records/items, or submit feeds over a period of time, such as every few hours.

Availability

This operation is available in all marketplaces.

Throttling

Maximum request quota Restore rate Hourly request quota
15 requests One request every two minutes 30 requests per hour
For definitions of throttling terminology and for a complete explanation of throttling, see Throttling: Limits to how often you can submit requests in the Amazon MWS Developer Guide.

Maximizing feed performance

You can generally get the best overall feed processing performance by following these guidelines:

  • Avoid submitting a lot of feeds with only a few records in each feed. When possible, combine the data into less frequent larger feeds.
  • Include only the products you are updating, not your entire inventory.
  • Upload one feed of the same type no more than once every 20 minutes. Allow more time between larger feeds.
  • Keep file size below 10 MiB (5*221, or 10,485,760 bytes).

Setting the Content-Type for a feed

Your feeds must be in a valid encoding based on your marketplace and file type, and that encoding must be specified as an HTTP Content-Type header. The following table shows the HTTP Content-Type header you should use for flat files and XML files for each marketplace:

Marketplace Flat File Content-Type XML Content-Type
North America and Europe text/tab-separated-values; charset=iso-8859-1 text/xml
Japan text/tab-separated-values; charset=Shift_JIS text/xml

Submitting Feeds with Multiple Marketplace IDs

If an Amazon seller is registered in multiple marketplaces, then the seller has multiple marketplace IDs associated with their merchant/seller ID. For more information on submitting a feed using multiple marketplace IDs, see Using Multiple Marketplaces.

Request parameters

For more information about the request parameters that are required for all Amazon MWS operations, see Required request parameters in the Amazon MWS Developer Guide.

Name Description Required Valid values
FeedContent The actual content of the feed itself, in XML or flat file format. You must include the FeedContent in the body of the HTTP request. Yes Default: None

Type: HTTP-BODY

FeedType A FeedType value indicating how the data should be processed. Yes Default: None

Type: xs:string

MarketplaceIdList A list of one or more marketplace IDs (of marketplaces you are registered to sell in) that you want the feed to be applied to. The feed will be applied to all the marketplaces you specify.

For example:

&MarketplaceIdList.Id.1=A13V1IB3VIYZZH &MarketplaceIdList.Id.2=A1PA6795UKMFR9

See Using multiple marketplaces for more information.

No, except for Product Images Feeds.1 Marketplace IDs for marketplaces where you are registered to sell.

Default: When no marketplaces are specified in the feed request, the request returns all marketplaces where the feed request can be submitted.

List of Type: xs:string

PurgeAndReplace A Boolean value that enables the purge and replace functionality. Set to true to purge and replace the existing data; otherwise false. This value only applies to product-related flat file feed types, which do not have a mechanism for specifying purge and replace in the feed body. Use this parameter only in exceptional cases. Usage is throttled to allow only one purge and replace within a 24-hour period. No Default: false

Type: xs:boolean

ContentMD5Value An MD5 hash of the feed content. Amazon MWS uses this value to determine if the feed data has been corrupted or tampered with during transit. This replaces the Content-MD5 header. See Using the Content-MD5 hash with the SubmitFeed and GetFeedSubmissionResult operations. No Default: none

Type: xs:string

AmazonOrderId An Amazon-defined order identifier. Used to identify an Amazon Easy Ship order that you want to get PDF documents for. This functionality is available only in the India marketplace. See How to get invoice, shipping label, and warranty documents. No Default: none

Type: xs:string

DocumentType The type of PDF document that you want to get for the Amazon Easy Ship order identified with the AmazonOrderId parameter. This functionality is available only in the India marketplace. See How to get invoice, shipping label, and warranty documents. No Default: all

Values: ShippingLabel, Invoice, Warranty

Type: xs:string

FeedOptions Additional information to pass to the feed. No If a feed accepts FeedOptions, the FeedOptions values are described in the feed description in the FeedType enumeration section.

Type: xs:string

  1. A marketplace ID is required when submitting a Product Images Feed (_POST_PRODUCT_IMAGE_DATA_). If the marketplace ID is not included, the image might not be published on the product detail page. See FeedType enumeration.

Response elements

Name Description Required Valid values
FeedSubmissionInfo Detailed information about a feed submission. Yes Type: FeedSubmissionInfo

Examples

Note: This API does not support the HTTP GET operation. You must use POST.

Example query request

For more information about the request parameters that are required for all Amazon MWS operations, see Required request parameters in the Amazon MWS Developer Guide.

Show example code Hide example code

POST /Feeds/2009-01-01 HTTP/1.1
Content-Type: x-www-form-urlencoded
Host: mws.amazonservices.com
User-Agent: <Your User Agent Header>

?AWSAccessKeyId=0PB842ExampleN4ZTR2
&Action=SubmitFeed
&FeedType=_POST_PRODUCT_DATA_
&MWSAuthToken=amzn.mws.4ea38b7b-f563-7709-4bae-87aeaEXAMPLE
&MarketplaceIdList.Id.1=ATVExampleDER
&SellerId=A1XExample5E6
&ContentMD5Value=ExampleMd5HashOfHttpBodyAsPerRfc2616Example
&SignatureMethod=HmacSHA256
&SignatureVersion=2
&Timestamp=2009-01-26T23%3A51%3A31.315Z
&Version=2009-01-01
&Signature=SvSExamplefZpSignaturex2cs%3D

↑ Top

Example request body

For more information about the request parameters that are required for all Amazon MWS operations, see Required request parameters in the Amazon MWS Developer Guide.

The following is an example HTTP body for a SubmitFeed request for a health-related product. See the note above on FeedContent. The HTTP body in unencrypted form looks like the following:

Show example code Hide example code

<?xml version="1.0" encoding="iso-8859-1"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
  <Header>
    <DocumentVersion>1.01</DocumentVersion>
    <MerchantIdentifier>M_EXAMPLE_123456</MerchantIdentifier>
  </Header>
  <MessageType>Product</MessageType>
  <PurgeAndReplace>false</PurgeAndReplace>
  <Message>
    <MessageID>1</MessageID>
    <OperationType>Update</OperationType>
    <Product>
      <SKU>56789</SKU>
      <StandardProductID>
        <Type>ASIN</Type>
        <Value>B0EXAMPLEG</Value>
      </StandardProductID>
      <ProductTaxCode>A_GEN_NOTAX</ProductTaxCode>
      <DescriptionData>
        <Title>Example Product Title</Title>
        <Brand>Example Product Brand</Brand>
        <Description>This is an example product description.</Description>
        <BulletPoint>Example Bullet Point 1</BulletPoint>
        <BulletPoint>Example Bullet Point 2</BulletPoint>
        <MSRP currency="USD">25.19</MSRP>
        <Manufacturer>Example Product Manufacturer</Manufacturer>
        <ItemType>example-item-type</ItemType>
      </DescriptionData>
      <ProductData>
        <Health>
          <ProductType>
            <HealthMisc>
              <Ingredients>Example Ingredients</Ingredients>
              <Directions>Example Directions</Directions>
            </HealthMisc>
          </ProductType>
        </Health>
      </ProductData>
    </Product>
  </Message>
</AmazonEnvelope>

↑ Top

Example response

Amazon MWS returns an XML file that contains the response to a successful request or subscription. If the request is unsuccessful, the main response element is ErrorResponse. For more information, see Response format in the Amazon MWS Developer Guide.

Amazon MWS responds with the following header and body:

Header:

  HTTP/1.1 200 OK Content-Type: text/xml

Body:

Show example code Hide example code

<?xml version="1.0"?>
<SubmitFeedResponse
    xmlns="http://mws.amazonaws.com/doc/2009-01-01/">
  <SubmitFeedResult>
    <FeedSubmissionInfo>
      <FeedSubmissionId>2291326430</FeedSubmissionId>
      <FeedType>_POST_PRODUCT_DATA_</FeedType>
      <SubmittedDate>2009-02-20T02:10:35+00:00</SubmittedDate>
      <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus>
    </FeedSubmissionInfo>
  </SubmitFeedResult>
  <ResponseMetadata>
    <RequestId>75424a38-f333-4105-98f0-2aa9592d665c</RequestId>
  </ResponseMetadata>
</SubmitFeedResponse>

↑ Top