# How to Automate Amazon Price Updates Using the API

- Tool: API Automations
- Difficulty: Intermediate
- Fix time: 45–60 minutes
- Compatibility: Amazon SP-API (2021-08-01), Notifications API v1, Node.js 18+
- Last updated: May 2026

## TL;DR

Subscribe to ANY_OFFER_CHANGED notifications via Amazon SQS to detect when competitors change prices on your ASINs. Respond by calculating your new price and patching it via PATCH /listings/2021-08-01/items/{sellerId}/{sku} with the updated purchasable_offer attribute. This event-driven approach eliminates polling and handles price changes within minutes.

## Best practices

- Always use event-driven ANY_OFFER_CHANGED via SQS — getItemOffers polling is impractical at scale with its 2 req/sec limit
- Set hard minimum and maximum price limits per SKU in your config — automation errors can cause catastrophic underpricing
- Debounce: don't reprice the same SKU within 30 minutes of the last update — Amazon's propagation takes time and you could spiral
- Use patchListingsItem not putListingsItem for price updates to avoid accidentally overwriting other listing attributes
- Log every price change with the competitor price that triggered it for debugging and business review
- The FiveMinutes aggregation window on ANY_OFFER_CHANGED subscriptions reduces noise significantly on high-volume ASINs
- Test with a single ASIN that has a wide min-max range before expanding to your full catalog
- Use a separate SQS queue for repricing vs. other notifications to isolate failure domains

## Frequently asked questions

### Why use SQS notifications instead of polling getItemOffers for repricing?

getItemOffers has a rate limit of 2 req/sec with burst 2. If you have 100 ASINs you want to monitor, polling each one every minute would require 100 req/min = 1.67 req/sec — already near the limit and using all your API budget for this single task. ANY_OFFER_CHANGED via SQS fires automatically whenever a top-20 offer changes on your ASIN, with no polling needed. It's faster (event-driven vs. scheduled) and doesn't consume any API quota.

### How do I get Amazon's Selling Partner ARN to add to my SQS queue policy?

The ARN is 'arn:aws:iam::437868002744:root'. Add an SQS queue policy that allows this principal to call sqs:SendMessage on your queue's ARN. Without this policy, Amazon cannot deliver notifications to your queue and createDestination will succeed but no messages will arrive.

### How long does it take for a price change to show on Amazon's product page?

Price changes submitted via patchListingsItem take 15-30 minutes to propagate to the product detail page and offer listing. The API returns ACCEPTED immediately, but the actual marketplace update is asynchronous. Factor this delay into your repricing strategy — don't reprice the same SKU within 30 minutes of the previous update.

### What's the difference between the grantless token and the standard LWA token?

The standard token uses grant_type=refresh_token with a seller's refresh_token. The grantless token uses grant_type=client_credentials with scope=sellingpartnerapi::notifications. The grantless token is for operations that don't require seller-specific authorization (like setting up notification infrastructure). Use grantless for createDestination; use standard for createSubscription and all listing updates.

### Can I monitor competitor prices on ASINs where I'm not currently selling?

ANY_OFFER_CHANGED delivers notifications for ASINs where you have an active offer. If you don't have a listing on the ASIN, you won't receive notifications for it. To monitor competitor prices on ASINs where you're not selling, you would need to use getItemOffers polling (subject to rate limits) or a third-party repricing tool.

### Can RapidDev help me build a more sophisticated repricing strategy?

Yes. RapidDev can build advanced repricing logic including inventory-based pricing (raise price as stock drops), competitive tiers (different strategies for Buy Box vs. off-Buy Box), time-of-day pricing, and custom ACOS-linked repricing that connects your ad spend to pricing decisions.

### What is the aggregationSettings FiveMinutes option for ANY_OFFER_CHANGED?

When you subscribe with aggregationTimePeriod: 'FiveMinutes', Amazon batches all offer changes for an ASIN within a 5-minute window and sends one notification instead of potentially dozens. This reduces noise on high-velocity ASINs. For most repricing scenarios, FiveMinutes is the right setting — you don't need to react to every individual bid change within seconds.

---

Source: https://www.rapidevelopers.com/api-automations/how-to-automate-amazon-price-updates-using-the-api
© RapidDev — https://www.rapidevelopers.com/api-automations/how-to-automate-amazon-price-updates-using-the-api
