The geo-pinned price retry's spending allowance now counts correctly.
- The per-run allowance on the geo-pinned price retry now counts every retry at its true cost. A retry that cost more than one unit could previously be counted as one, so a retry-heavy run could spend past the allowance before its clean stop engaged. That allowance is ours and was never billed to you — nothing changes about what a run delivers or charges.
Numbers printed in the "wrong" language now always read as the numbers they are.
- Counts survive a page served in another language's number format. Amazon renders a page in the formatting of the route that fetched it, not the store's own, so amazon.de sometimes arrives with English-style numbers — a review count of "4,305". Read with German number rules that used to collapse into a decimal: a charged
reviewCount of 4, a thousand times under. Grouped whole numbers now read as grouped whole numbers in every language — on review counts, bestseller ranks and prices alike.
- "Bought in past month" badges phrased without a "+" right after the digits parse correctly. In phrasings like the German "Mehr als 1.000 Mal … gekauft" the word after the number could be mistaken for a millions mark — 1,000,000 instead of 1,000. A magnitude mark now counts only when it is attached to the digits, and the localized German thousand/million marks ("Tsd.", "Mio.") are understood.
- A Nordic "kr" price on a non-Nordic marketplace is never labelled with that marketplace's own currency. Such a page used to ship first try with the amount labelled e.g. EUR. It now counts as a foreign-currency render — the free routes are tried again and the geo-pinned price retry can fix it, and if the kr amount still ships, its
currency is left honestly empty instead of guessed.
- The geo-pinned price retry is spent only on pages it can actually fix. A page that itself says "Currently unavailable" has no price to recover in any country, so it no longer consumes the per-run retry budget — that now goes entirely to pages where Amazon withheld the buy box from the route. And if the retry service refuses our account, the retry lane closes for the rest of the run instead of delaying every remaining product with doomed attempts; rows keep shipping from the standard routes either way.
- The Amazon suite links in the README now point at the published actors.
Guidance rows say "Nothing was charged" exactly once.
- A row answering an unusable input no longer repeats itself. The row for a misspelled input field name, and the row for a link that points at an Amazon marketplace this actor does not cover, both used to end by saying "Nothing was charged" twice in a row. Each now says it once. What is delivered, what is charged and every other row are unchanged.
A typo in an input field name now gets a helpful pointer instead of sample rows.
- A run that sets a field this actor does not have is answered, not demoed. Sending something like
asns instead of products used to look exactly like an empty run, so it came back with the uncharged sample rows — and nothing said the field had been ignored. Such a run now returns one uncharged row that names the field it did not recognise, names Products (input key products) and shows the shape to send. A run that really is empty still returns the sample rows, and a run with real products is unchanged.
- Review counts on amazon.fr, amazon.se and amazon.pl arrive as numbers. Those storefronts print the review total with a non-breaking space between the digit groups ("4 298"), which earlier builds could not read — the row shipped an honest
reviewCount: null. The count is now read in the store's own formatting, like every other marketplace. Prices, charging and all other fields are unchanged.
Nine European marketplaces, with real local prices.
- New marketplaces: amazon.fr, amazon.it, amazon.es, amazon.nl, amazon.pl, amazon.se and amazon.com.be join amazon.com, amazon.co.uk and amazon.de — paste a product URL from any of them, or pick one in the
Marketplace setting for bare ASINs.
- European rows now carry the real local price. Amazon withholds the buy box from cheap routes far more often in Europe; a European product that comes back price-less is now retried once through an extra geo-pinned route, so
49,00 €, 475,00 kr and 139,00 zł arrive as numbers in the store's own currency instead of price: null. When every route fails the row still ships honestly price-null with a priceNote, and misses are never charged. The flat fee is unchanged.
- Two price-parsing fixes. The Swedish
kr and Polish zł currency marks are now read off the page instead of being dropped, and promotional wording printed next to a price ("avec 18 % d'économies") can no longer bleed its digits into the parsed amount — a percentage is never read as part of a price, in any language.
- Runs near their timeout always end cleanly. When too little time remains for the extra geo-pinned price retry it is skipped and the row ships promptly with its honest
price: null, and a retry that does start is given only the time actually left — a run can no longer be cut off by the platform timeout mid-retry and lose its end-of-run summary row.
- An outage at the extra route's provider stops the retries at once. If the provider declines further requests, the run stops sending them for the rest of the run instead of spending up to 90 seconds per price-less product on attempts that cannot succeed. The affected rows keep their honest
price: null either way, and misses are still never charged.
- The extra route's internal spending cap is now exact under parallel fetches. It could previously be overshot by one attempt when two products were in flight at once. This cap is our own vendor budget — it never was, and never is, on your bill.
Initial release.
- Paste ASINs or Amazon product URLs and get one complete product row each: price, currency, list price, stock, buy-box seller, rating, review count, bought-in-past-month, variants, bestseller ranks, category path, images, bullet points and the specifications table.
- Accepts ASINs,
/dp/ and /gp/product/ links, short links and links copied out of search results, in any casing.
- Marketplaces: amazon.com, amazon.co.uk and amazon.de.
- One priced event per product and nothing else — no start fee, no per-field fee, no delivery-location fee.
- Blocked, missing, absent-from-that-marketplace and unreadable products are returned with an honest status and are never charged, and every run ends with a summary row that reconciles against the invoice.
- Amazon's own subscription plans (some of them rank in Best Sellers) come back as
not_a_product and say so plainly, instead of being reported as a page we could not read.
- One product is one row and one charge, however you reached it — the same listing sent as an ASIN, as a URL, as a short link, or reached by two redirects that only converge on the page itself, is never delivered or billed twice.
- Your limits are exact: the run stops cleanly, names the setting that stopped it, and hands back a resume cursor.
- Limits and billing survive a restart. If the platform migrates the run to another server, or you resurrect it, the run reads back what it already delivered and continues: already-delivered products are never sent twice and never billed twice, a cap of 10 stays a cap of 10, and "Max run seconds" counts seconds of the run rather than of each restart.