Showing Prices in Amazon Affiliate Content: The 24-Hour Rule, 'Under $50' Guides, and What the API Changes
Prices are the thing a buyer most wants to know and the thing an Amazon affiliate is least allowed to tell them. The reason is simple: Amazon's prices move daily, sometimes hourly, and a guide that says $45 beside a product now listed at $52 has, in Amazon's view, misled a customer under Amazon's name.
So the rules say where a price may come from, how old it may be, and what has to sit next to it, and most hand-written guides break all three without noticing.
This post covers what the Operating Agreement and the Associates policies actually allow, what they forbid and why each example fails, how a price-capped guide ("best bike lights under $50") stays compliant without typing a number, what a stale price costs you beyond compliance, and how a guide that pulls prices through the API handles all of it.
The AI tools and Amazon's rules post covers printed prices as one of five generator faults; this is that one in full.
The short answer
Show a price only if it came from Amazon's API, is under 24 hours old, and sits beside a line saying when it was fetched and that it may have changed. Otherwise show none and write "check the current price".
Price bands in titles and scope ("under $50") are fine; a number beside a product is not unless the API put it there. Never type a sale price, a "was" price, or a discount you observed.
What's allowed and what isn't
| On the page | Allowed? | Why |
|---|---|---|
| A price fetched from the API, shown with "price as of [time], may have changed", refreshed within 24 hours | Yes | This is the only form the policies permit |
| "Under $50" in a title or as the guide's scope | Yes | A band describing the guide, not a claim about a product's price today |
| "Check the current price on Amazon" as the button or the sentence | Yes | No claim made; the reader clicks to see |
| "The X costs $44" typed into the text | No | Not from the API, not refreshed, no timestamp; wrong within days |
| A screenshot of the listing with the price visible | No | A fixed image of a price that moves, and a copied image besides |
| "Was $89, now $69" or "20% off right now" | No | Two typed prices and a discount claim Amazon may have ended |
| A price column in a comparison table, typed | No | The same fault, ten times, in the most-read element on the page |
| "Around $40 to $60" as a rough band for a product | Grey | Not a specific price, but readers treat it as one; safer to describe tier ("mid-range") than dollars |
The comparison tables post covers the price column in particular, because it's where the typed price does the most damage: a table is the one element every reader reads, and every row is a claim.
Why the rule exists
Amazon's prices are set by an algorithm against competitors and demand, and a popular product's price can move several times in a day. A static price on an affiliate page is therefore wrong most of the time, and the reader who sees one price on your page and another at checkout blames Amazon as much as you.
The rule isn't about hiding prices; it's that the only honest price is a live one, and the API is how a live one gets to your page. The 24-hour window and the timestamp are the compromise between live and practical.
The price-capped guide
"Best X under $50" is one of the best-converting shapes an affiliate site has, and it seems to need prices. It doesn't. The cap is the guide's scope: every pick was inside it when the guide was written or last refreshed, and the guide says so once, at the top ("all ten were under $50 when we last checked; prices change, so confirm on the product page").
Each pick then gets either an API price with its timestamp or nothing beyond the button. The budget keywords post covers how to choose and rank picks inside a cap; the point here is that the cap lives in the title and the intro, not beside each product.
The maintenance is the part most sites skip. A pick that was $44 drifts to $56 and the guide still says "under $50" above it. An API-fed guide shows the drift in the dashboard; a hand-written one needs the monthly button check, and a pick over the cap is swapped or moved to a labelled "a little over" slot.
What a stale price costs
- The click that doesn't convert. A reader who came for a $45 light and finds it at $58 leaves without buying, after setting your cookie on a visit that earns nothing. On a guide with hundreds of clicks a month, a few stale prices are a measurable conversion drop.
- The trust. Wrong prices are the fastest way a reader decides the guide is old, and an old guide's verdict isn't trusted either.
- The account. Typed prices are among the commonest findings in an Associates compliance review, and a site with them on every guide has a site-wide problem, not a page-level one.
- The refresh debt. Every typed price is a sentence that will need editing; a guide with twenty of them is a guide nobody refreshes.
Writing around price without a number
- Tiers, not dollars: "the budget pick", "mid-range", "the one to stretch for".
- Relative, not absolute: "about twice the price of the runner-up, for a battery that lasts three times as long".
- The band once, at the top, with the date and the "prices change" line.
- The button does the telling: "See today's price" converts as well as a number and is never wrong.
- Value, not price: the reader wants to know whether it's worth it; "worth the extra for X" is a claim you can keep.
Doing it with AffSERP
Guides written by AffSERP's X Best Review tool take each pick's price and availability from Amazon's Product Advertising API, so where a price appears it's the API's, with the as-of line the policies require, and the text itself describes tiers and relative value rather than typing dollars.
The Refresh option re-pulls current data on the same URL, which is how the 24-hour rule and the "under $50" cap stay true after publication: a pick that drifted over the cap is flagged and replaced rather than sitting under a heading it no longer fits. If you'd rather show no prices at all, the guides read correctly without them.
FAQ
Can I show Amazon prices on my affiliate website?
Only prices that come from Amazon's Product Advertising API, displayed with the time they were fetched and refreshed at least every 24 hours. A price you typed in, copied from the listing, or took as a screenshot is outside the rules, because Amazon's prices change constantly and a reader who sees $45 on your page and $52 at Amazon has been misled, which is the thing the Operating Agreement is protecting against. If your site can't fetch prices through the API, the compliant choice is to show none.
What is the Amazon Associates 24-hour price rule?
The Associates Program's policies require that any price you display comes from the API and is no more than 24 hours old, accompanied by a statement that the price was accurate as of the date and time shown and is subject to change. Sites that fetch prices and show them with that line are fine; sites that typed a price in once and left it are in breach from the first price change, and most Amazon prices change within days.
Can I write 'under $50' in a buyer guide title?
Yes. A price band is a description of the guide's scope, not a claim about a product's current price, and Amazon's own store uses 'under $25' categories the same way. What you don't do is write 'the X is $44' next to the pick. 'Every pick here was under $50 when we checked' plus API-fed prices with a timestamp, or no prices at all, keeps the band without the claim. If a pick drifts above the cap, the refresh catches it.
Can I say a product is on sale or show a discount?
Not from your own observation. 'Was $89, now $69' is two prices you've typed and a claim about a discount Amazon may have ended an hour later. If the API returns a saving, you can display it with the same timestamp rule; otherwise 'check the current price' is the compliant sentence, and it converts well enough, because the reader clicks to find out. Amazon's own badges and strike-through pricing are Amazon's to show, not yours to copy.
AffSERP guides take price and availability from Amazon's API and describe tiers and value in the text, and Refresh re-pulls the data so an 'under $50' cap stays true.
Start with free words