offersV2.listings.price and availability resources, cache them for no more than 24 hours, and show a timestamp and Amazon's disclaimer next to the price. Seller and price-history APIs exist, but they're not a source of prices you can show.Three price APIs, three kinds of user
| API | Built for | What it gives you | Shows prices on an affiliate site |
|---|---|---|---|
| Creators API | Amazon Associates | Current price, savings, availability, deals | Yes, with the display rules below |
| SP-API Product Pricing | Sellers and their repricing tools | Offer and competitive pricing for listings | No. Needs a seller account with the Pricing role |
| Keepa API | Researchers and sellers | Price and sales-rank history | Not as current prices. Paid, from €49 a month |
What the Creators API returns for prices
Price data lives in the offersV2 resources. Each listing can include:
| Resource | Fields | Use it for |
|---|---|---|
price | money (amount, currency, displayAmount), pricePerUnit, savings (money, percentage), savingBasis | The price, a "save 18%" badge, a strikethrough price |
availability | type, message, minOrderQuantity, maxOrderQuantity | "In stock" or "Out of stock" labels |
dealDetails | badge, accessType, startTime, endTime, percentClaimed | Deal badges and Prime-exclusive notes |
condition, merchantInfo, isBuyBoxWinner | New or used, seller, featured offer | Making sure you show the main new offer |
A few details matter in practice:
displayAmountis ready to print, already formatted for the marketplace's currency.savingBasisTypetells you what the saving is measured against:LIST_PRICE,LOWEST_PRICE,LOWEST_PRICE_STRIKETHROUGHorWAS_PRICE. Label your strikethrough to match.availability.typecan beIN_STOCK,IN_STOCK_SCARCE,OUT_OF_STOCK,PREORDER,UNAVAILABLEand a few others. If there's no featured offer, the API reports the item as out of stock.- Deals can end early, for example when they sell out, and start and end times aren't guaranteed.
A price request
Ask for only the price resources if that's all you're refreshing. Up to 10 ASINs fit in one getItems call:
POST https://creatorsapi.amazon/catalog/v1/getItems
Authorization: Bearer YOUR_ACCESS_TOKEN
Content-Type: application/json
x-marketplace: www.amazon.com
{
"partnerTag": "yourstore-20",
"marketplace": "www.amazon.com",
"itemIds": ["B0BPTGCNFK", "B0CNQP369H"],
"itemIdType": "ASIN",
"resources": [
"offersV2.listings.price",
"offersV2.listings.availability",
"offersV2.listings.dealDetails"
]
}
Each listing's price object looks like this (values are illustrative):
"price": {
"money": { "amount": 89.99, "currency": "USD", "displayAmount": "$89.99" },
"savings": {
"money": { "amount": 20.00, "currency": "USD", "displayAmount": "$20.00" },
"percentage": 18
},
"savingBasis": {
"money": { "amount": 109.99, "currency": "USD", "displayAmount": "$109.99" },
"savingBasisType": "LIST_PRICE"
}
}
Getting the token and handling errors are covered in How the Creators API works.
The rules for showing prices
Amazon's rules are specific, and price mistakes are among the easiest ways to break them.
- Source. Your site may only show prices and availability if Amazon serves the link, or you got the data through the Creators API or PA-API.
- Caching. You can cache non-image data for up to 24 hours, then you must refresh it. Don't store product images; you may store an image link for up to 24 hours. ASINs can be stored indefinitely.
- Timestamp. If you refresh less often than hourly, show the date and time next to the price, for example "Amazon price as of 13 Nov 2026, 14:10 UTC". You can drop the date on the day the price was fetched.
- Disclaimer. Next to the price, or behind a link or pop-up from it, include Amazon's wording: "Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on [Amazon site] at the time of purchase will apply to the purchase of this product."
A refresh strategy that works
- Cache for an hour, expire at 24. An hour keeps prices current without burning your request quota, and the 24-hour ceiling keeps you inside the rules.
- Batch by page. Collect every ASIN a page needs and fetch them 10 at a time.
- Store when you fetched. Keep the fetch time with the price so the timestamp is true.
- Fail safe. If a refresh fails and the cached price is older than 24 hours, hide the price and show the button. A missing price is better than a wrong one.
- Remember the access rule. The Creators API needs 10 qualifying sales in the past 30 days. Your site needs a mode that works without it. See Is the Amazon Product API free?
Where Keepa and price history fit
Keepa's API sells Amazon price and sales-rank history, priced by tokens per minute from €49 a month, with no free tier. It's useful behind the scenes: checking whether a "deal" is really a low, or choosing when to publish a buying guide. What it can't do is supply the price you display, because Amazon's rules require displayed prices to come from its own APIs or links.
Live prices, done by the rules
Affilicraft's product boxes fetch prices through the Creators API, cache them for an hour and expire them at 24, show the "as of" time and Amazon's disclaimer, and drop back to a "Check price on Amazon" button by themselves when there's no live data.
See AffilicraftFAQ
Is there an API for Amazon product prices?
Yes. Affiliates use the Creators API, whose offersV2 resources return price, savings, availability and deal details. Sellers use the Selling Partner API's Product Pricing API. Third-party services like Keepa sell price history.
Can I show Amazon prices on my affiliate site?
Only if they come from the Creators API or PA-API, or a link Amazon serves. You also need a timestamp next to the price if you refresh less often than hourly, plus Amazon's price disclaimer.
How often do I need to refresh Amazon prices?
Amazon lets you cache non-image API data for up to 24 hours, then you must refresh it. If you refresh less often than every hour, show the date and time the price was fetched.
Is the Amazon price API free?
The Creators API is free, but it needs an Associates account with 10 qualifying sales in the past 30 days. Keepa's API is paid, starting at €49 a month.
Can I use Keepa prices on my affiliate site?
Keepa is useful for research, such as spotting a good time to publish a deal. Amazon's rules only allow prices on your site from its own APIs or links, so don't display Keepa prices as current Amazon prices.
Why does the API price differ from what I see on Amazon?
The API returns a default price based on an address in that marketplace, so a shopper's price can differ by location, and prices change often. That's why the disclaimer says the price at purchase applies.
Where these facts come from
- Amazon: Creators API OffersV2 resources
- Amazon: Creators API GetItems
- Amazon Associates Program Policies (IP License: caching, timestamp, disclaimer)
- Amazon: SP-API Product Pricing API
- RevenueGeeks: Keepa API pricing
Not legal advice. Amazon changes these rules from time to time; check Associates Central for the current terms.