Update prices for multiple marketplaces

Learn how to update prices across multiple marketplaces in a single request with the PATCH operation.

Learn how to update prices across multiple marketplaces in a single request using the PATCH replace operation with the purchasable_offer attribute. This approach streamlines price management across regions and reduces API calls for pricing updates. You can specify different marketplaces using the marketplace_id parameter within each offer object.

Prerequisites

To complete this tutorial, you need:

  • Authorization from the selling partner for whom you are making calls. Refer to Authorizing Selling Partner API Applications for more information.
  • Approval for the Product Listing role in your developer profile.
  • The Product Listing role selected in the App registration page for your application.
  • A JSON-based listing payload adhering to the JSON Schema provided by the Selling Partner API for Product Type Definitions for the given selling partner, Amazon marketplace, and Amazon product type.

📘

Note

Multi-marketplace functionality supports only PATCH operations within the same region (North America, Europe, or Far East).

Multi-marketplace patchListingsItem request for B2C purchasable offer

Sample request to update prices for UK (GBP) and Germany (EUR) marketplaces:

{
  "productType": "PRODUCT",
  "patches": [
    {
      "op": "replace",
      "path": "/attributes/purchasable_offer",
      "value": [
        {
          "marketplace_id": "A1F83G8C2ARO7P",
          "currency": "GBP",
          "audience": "ALL",
          "our_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 111.11
                }
              ]
            }
          ],
          "minimum_seller_allowed_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 100
                }
              ]
            }
          ],
          "maximum_seller_allowed_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 150
                }
              ]
            }
          ]
        },
        {
          "marketplace_id": "A1PA6795UKMFR9",
          "currency": "EUR",
          "audience": "ALL",
          "our_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 222.22
                }
              ]
            }
          ],
          "minimum_seller_allowed_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 200
                }
              ]
            }
          ],
          "maximum_seller_allowed_price": [
            {
              "schedule": [
                {
                  "value_with_tax": 250
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

When your request is accepted, you receive a similar response:

{
    "sku": "TestRegionalPatch_Z1",
    "status": "ACCEPTED",
    "submissionId": "0342ba8d2c164a0da1707a478aec33c1",
    "issues": []
}

JSON_LISTINGS_FEED payload for multiple North American marketplaces

Sample request to update prices for US, Canada, and Mexico marketplaces in a single feed:

{
  "header": {
    "sellerId": "****",
    "version": "2.0",
    "issueLocale": "en_US"
  },
  "messages": [
    {
      "messageId": 1,
      "sku": "TEST",
      "operationType": "PATCH",
      "productType": "PRODUCT",
      "patches": [
        {
          "op": "replace",
          "path": "/attributes/purchasable_offer",
          "value": [
            {
              "marketplace_id": "ATVPDKIKX0DER",
              "currency": "USD",
              "audience": "ALL",
              "our_price": [
                {
                  "schedule": [
                    {
                      "value_with_tax": "99.99"
                    }
                  ]
                }
              ]
            },
            {
              "marketplace_id": "A2EUQ1WTGCTBG2",
              "currency": "CAD",
              "audience": "ALL",
              "our_price": [
                {
                  "schedule": [
                    {
                      "value_with_tax": "129.99"
                    }
                  ]
                }
              ]
            },
            {
              "marketplace_id": "A3P3J5A7D2ZVXI",
              "currency": "MXN",
              "audience": "ALL",
              "our_price": [
                {
                  "schedule": [
                    {
                      "value_with_tax": "1899.99"
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
  ]
}

Operation type support for JSON_LISTINGS_FEED

When you submit a JSON_LISTINGS_FEED request, there are the following operation type limitations:

Operation typeMulti-Marketplace supportNote
PATCHSupportedSupports only purchasable_offer attributes. Fails for nonpurchasable_offer attributes
DELETESupportedSupported across multiple marketplaces.
UPDATENot supportedReturns a feed-level error if attempted with multiple marketplaces
PARTIAL_UPDATENot supportedReturns a feed-level error if attempted with multiple marketplaces

Use the replace operation for PATCH requests when you update the purchasable_offer attribute. Ensure that:

  • All marketplace IDs belong to the same region.
  • Currency codes match each marketplace's requirements.
  • All required price fields are included for each marketplace.