Amazon Price & Shipping Data Collection
Many teams say they want to collect Amazon prices, but one product page carries a listed price, a buybox price, a strike-through price, a deal price, a coupon price, a Prime price and shipping. Decide which one you mean before discussing collection logic or frequency.
A Product Page Really Carries Seven Prices
Reading only price makes it easy to misjudge a competitor's real landed cost, especially where a strike-through price, a coupon and a member price stack together. There the displayed price and the real checkout price can differ by more than 15 percent.
The right approach is to pick fields by business question. Price comparison needs buybox; promotional intensity needs listPrice and deal; margin modelling folds in coupon and shipPrice; only membership strategy needs primePrice. The full field reference, with screenshots, sits in the API documentation.
- price: the listed product price, the baseline shown on search and detail pages
- buybox: the add-to-cart price, meaning what the shopper actually checks out at
- listPrice: the strike-through price (original or suggested retail), used to size the discount
- deal: the flash sale or limited-time discount flag and its depth
- coupon: a coupon amount or percentage, a key variable in the true landed price
- primePrice: the Prime-member-only price
- shipPrice: shipping cost, which may be a concrete amount such as $8.98, the string FREE, or an empty string
Why the Same ASIN Costs Different Amounts by Zip Code
Amazon shows different prices and shipping depending on the delivery address, and the address can even change stock status and the Prime badge. That is why collection interfaces make zipCode a required parameter: by simulating a local delivery address, the returned price, shipping and stock match what buyers there genuinely see.
For cross-marketplace comparison, choose one stable zip code per marketplace from supported marketplaces and keep it unchanged over time. Switching addresses between snapshots distorts the price series through the address change alone, and any trend analysis built on top of that series will mislead you.
This is also the most commonly missed point in homegrown scrapers. Many scripts never set a delivery address at all, so the prices they capture are merely the logged-out default result rather than what a real buyer in that market actually sees.
How to Get the Price Fields: One Request Returns Them All
Submit an ASIN list to addAsinTask and the price fields come back with everything else, so no separate call is needed for pricing. price, buybox, listPrice, deal, coupon, primePrice and shipPrice all sit in one JSON object, alongside a currency field stating the currency.
A single request accepts up to 2000 items. Among the returned fields, stockState and stockStr give stock status together, and that matters: price cuts often coincide with stockouts or delistings, so recording price alone would misread a clearance as a competitor starting a price war.
- Request: asin (required), region (required), zipCode (required, and it defines the pricing basis)
- Price fields: price, buybox, listPrice, deal, coupon, primePrice, shipPrice, currency
- Stock context: stockState (-1 unknown, 1 in stock, 2 low stock, 3 unavailable, 4 delisted) plus stockStr
- Seller context: sellerName, sellerId, sellerType (FBA/FBM/AMZ) to interpret how shipping is quoted
Choosing a Monitoring Frequency
Price is the fastest-moving field on the page. A workable rule of thumb is three tiers: one snapshot a day for trend analysis, hourly during major sales events or flash deals, and every two to six hours for core competitors during the periods when their pricing moves most.
When storing records, keep each collection's timestamp and the stock status at that moment together. That way you can tell a promotional price cut apart from inventory clearance, two cases that look identical if you keep the price alone.
You can also tier the cadence by product type: fast-moving consumables justify hourly snapshots during promotions, while slow-moving items are usually fine with a weekly check. Whatever schedule you settle on, hold it steady, so the archive stays comparable over time.
Keep the Seller Context in the Same Record
Price alone rarely explains a change. The same ASIN can be offered by several sellers at different prices depending on who currently holds the buybox, so store sellerName, sellerId and sellerType with every snapshot to know whose offer you captured.
That context also tells you how shipping is quoted. FBA sellers usually ship free while seller-fulfilled sellers charge separately, so an apparently cheaper offer may turn out to be the more expensive one once shipPrice is added back into the comparison.
- FBA: shipping normally bundled, so shipPrice shows FREE
- FBM: a concrete amount to add, or an empty string when nothing is displayed
- AMZ: Amazon retail as the seller, useful for tracking first-party pricing moves
Common Traps
The last trap is the easiest to overlook. Variations of one parent ASIN in different sizes or colours can differ sharply in price, so collecting only the parent underestimates how wide the price band really is. Variation prices can be filled in through the variantAsin field. If you have no ASIN list yet, build the pool first with the methods described in exporting an Amazon ASIN list.
- Collecting price without coupon: the landed price can differ by 10 to 20 percent
- Ignoring shipping: FBM sellers' shipping fees often reorder the effective price ranking
- Fixing the zip code but changing marketplace: confirm the zipCode belongs to that marketplace
- Treating a flash sale price as the normal price: record deal separately and flag the window
- Ignoring currency: convert with the currency field before rolling up across marketplaces
- Looking at a single item instead of variations: parent and child ASINs can span several price tiers
FAQ
Can I collect only the price fields?
The field scope can be tailored to your needs. The standard interface returns 58 fields in one response, and a slimmer price-only subset can be arranged to cut data volume and storage cost.
Can I get historical price curves?
The interface returns a price snapshot for each collection moment. Collect daily and store the results, and you accumulate your own historical price curve, with no dependence on third-party history and a methodology you fully control.
What is the difference between coupon and deal?
deal is usually a limited-time flash sale or campaign discount flag, while coupon is a clip-on coupon. The two can stack, so both belong in any landed-price calculation, and each should be logged separately so promotion types can be analysed.
Why is shipping sometimes FREE?
FBA items normally show FREE because shipping is already inside the price, while FBM sellers may show a concrete amount or an empty string when nothing is displayed. The field is shipPrice, and sellerType helps you interpret how shipping is quoted.
How often should prices be refreshed?
A daily snapshot suffices for trend analysis, while major sales periods call for hourly collection. Higher frequency means more data volume, so tier the schedule by how important each competitor is to you.
Need a real sample of the price fields? Contact us for a free dataset with the complete JSON fields and their definitions.
Related pages
Ready to get your Amazon data?
Scan the QR code for a custom quote and a free data sample.