Scrape Amazon products, search results and Best Sellers on 10 marketplaces: typed local prices, Buy Box, offers, BSR, stock, variants and a price/rank change monitor.
All notable changes to this Actor are documented here. Format: Keep a Changelog , versioning: SemVer .
[1.0.16] - 2026-10-24
Fixed
Amazon's "To continue, please click the Continue shopping button" checkpoint page is now recognised as a block. The run retires that session and retries on a new one, as with a CAPTCHA, and never submits the checkpoint form. Before, the page counted as a layout problem, so the product failed after 3 tries, and a run with many such pages could have been failed as a "layout change".
[1.0.15] - 2026-10-23
Added
After a clean run (everything requested was saved, nothing failed or incomplete), the final status message ends with a short request for a Store review. Runs with failures or partial results don't show it. The README ends with the same request and asks users to open an issue first if something didn't work.
[1.0.14] - 2026-10-22
Changed
Sessions now use one of three desktop browser profiles (Chrome on Windows, Firefox on Windows, Safari on macOS) for their request headers, instead of always Chrome. The profile stays the same for the whole session. Since 2026-10-21 Amazon EU often sent Chrome-profile sessions product pages without their product section. In a side-by-side test on the same 7 products, full product pages went from 3 of 14 to 11 of 14, and runs were faster. The search-results fallback from 1.0.13 still covers the rest.
[1.0.13] - 2026-10-22
Added
Search-results fallback. Since 2026-10-21 Amazon often serves product pages on amazon.de, amazon.co.uk, amazon.fr and amazon.in without their product section. When a product page stays like that through its retries, the Actor looks the ASIN up in Amazon search and fills price, list price, savings, rating, ratings count, brand, image and badges from the matching result. The new field dataSource is search-results on such records (otherwise product-page). Seller, stock, ranks and specifications stay empty and availability stays UNKNOWN. Records with a price are complete and charged as products; records without one stay free. The SUMMARY record counts these lookups in searchFallback: {used, recovered}.
[1.0.12] - 2026-10-21
Fixed
A request whose last attempt failed on a network or proxy error (a timeout, a dropped connection, the proxy's "status code 590") is now treated like an Amazon block. It gets the end-of-run second pass, and if it still fails, it is listed in FAILED_INPUT. A run in which nothing could be saved only because of blocks and network errors now ends SUCCEEDED with a warning (nothing charged) instead of FAILED.
[1.0.11] - 2026-10-19
Added
Diagnostics: when Amazon serves a product page without its "Deliver to" widget although a delivery postcode is set, the run saves one copy of that page as NO_LOCATION_SAMPLE_1 in its key-value store. deliveryLocation stays null on such records, as before, because the location cannot be confirmed from the page. No change to output or pricing.
[1.0.10] - 2026-10-13
Changed
When Amazon blocks every request in a run (CAPTCHA, WAF or 503 pages, including the second pass), the run now ends SUCCEEDED with a warning instead of FAILED. Nothing is charged, the status message says what happened, and FAILED_INPUT holds your input for a later retry. Runs still fail on invalid input, on a detected Amazon layout change, and when nothing was saved because of an error other than a block.
[1.0.9] - 2026-10-12
Fixed
A run that reaches its timeout no longer ends TIMED-OUT without a summary. About 45 s before the timeout (ACTOR_TIMEOUT_AT), the Actor stops, then saves SUMMARY and FAILED_INPUT and ends normally. FAILED_INPUT lists every target that delivered nothing yet, so you can continue from where it stopped. The end-of-run second pass is skipped when it would not finish in time.
[1.0.8] - 2026-10-08
Added
End-of-run second pass. A page Amazon kept blocking through all its retries is set aside instead of being given up. After the main crawl it is retried once more, after a short pause, on new sessions and residential proxy. Only pages that are still blocked count as failed and go into FAILED_INPUT. The run summary reports secondPass: { retried, recovered }.
[1.0.7] - 2026-10-06
Added
Fair charging: every record has isComplete. A product with neither a price nor a stock status after all retries, or a ranked list entry without a title, is saved with isComplete: false and is not charged (no product, listing-item or offers event). Out-of-stock, pre-order and no-featured-offer products are real states and stay charged.
The SUMMARY record has a completeness object (unit, requested, delivered, incomplete, failed, ratio). When something failed or was incomplete, the run saves FAILED_INPUT: your input with all settings kept and the ASINs, keywords and URLs reduced to the ones to rerun. The status message reports "N of M saved", failures and the rerun input.
New availability value NO_FEATURED_OFFER: Amazon shows no Buy Box price, but other sellers offer the product ("See All Buying Options"). It is recognised from the buy-box element, saved and charged right away, and no longer retried 3 times as a degraded page.
Monitoring: records carry lowestPrice, lowestPriceAt and isLowestPrice (lowest price since tracking began), and price change records carry isLowestPrice. Snapshots saved by older versions keep working: their last price starts the history.
Up to 2 degraded product pages per run are saved to the key-value store as DEGRADED_SAMPLE_1 and DEGRADED_SAMPLE_2, for diagnosis.
Changed
changePercent is rounded to 0.1 (was 0.01), and is null when the previous value was 0 or missing. Thresholds still compare the exact change.
A monitored product whose price and stock status could not be read is no longer compared with the last snapshot, so it no longer produces a false "price disappeared" change, and it does not overwrite the snapshot. MONITOR_REPORT counts these products as incomplete.
[1.0.6] - 2026-10-06
Changed
The built-in example (run with empty input), the input-form prefill and the README input examples now use B0113UZJE2 (Etekcity kitchen scale, sold by Amazon.com). The previous example product lost its featured offer on Amazon, so empty-input runs showed a product without a price.
[1.0.5] - 2026-10-05
Fixed
A degraded product page that showed the buy-box seller but no price and no availability was saved (and charged) as a product without a price. Any product page with no price and unknown availability is now retried on a new session, up to 3 times. Out-of-stock and unavailable products are unaffected.
[1.0.4] - 2026-10-05
Fixed
Amazon.com started answering some search requests with its "Sorry! Something went wrong" page served with HTTP 200 (a soft block). The Actor read it as a changed layout and gave up after 3 attempts. It is now treated as a block and retried on new sessions, switching to residential proxy after 3 attempts. The coffee grinder search returns results again.
Added
When a page still can't be parsed after its retries, up to 3 such pages per run are saved to the run's key-value store as LAYOUT_SAMPLE_1–LAYOUT_SAMPLE_3, so a layout change can be diagnosed from a single run.
[1.0.3] - 2026-10-04
Fixed
Amazon sometimes serves a stripped search, bestseller or product page that a new session loads normally. Such a page is now retried on a new session, up to 3 attempts instead of 2, before it is reported as a layout problem. A search no longer returns 0 results because of one bad page.
[1.0.2] - 2026-10-03
Fixed
Amazon sometimes serves a product page (often right after a CAPTCHA) with the title but no price, buy box or availability. The Actor now retries such a page on a new session, up to 3 times, instead of saving and charging for a product without a price. If every retry returns that page, the product is saved with a warning, and the run summary counts it as productsSavedWithoutPrice.
Product pages by ASIN or URL on 10 marketplaces (US, UK, DE, FR, IT, ES, CA, AU, JP, IN) with the local price as a number plus ISO currency, list price, discount, Buy Box seller and fulfilment, stock status, offers count, rating and star histogram, Best Sellers Ranks, categories, variants, features, description, specifications, images, badges and "bought in past month".
Search results by keyword or search/category URL, with position and sponsored flag.
Best Sellers, New Releases, Movers & Shakers, Most Wished For and Most Gifted lists, including lazily loaded ranks (up to 100 per list).
Optional "all offers" panel per product.
Optional scrapeProductDetails to open every search or list result.
Monitoring mode: last values per ASIN and marketplace kept in a named key-value store; change records for price, list price, stock, Buy Box seller, BSR, rating, ratings count, offers count and list position, with thresholds; MONITOR_REPORT record.
Anonymous "Deliver to" postcode per marketplace (configurable), so prices shown are the local ones.
Datacenter proxy with session warm-up, CAPTCHA, WAF and 503 detection and rotation, and a capped residential fallback.
Pay-per-event pricing: product, listing-item, offers; stops at the run's maximum cost.
Dataset views: Products, Search results, Best Sellers, Changes. Output schema. SUMMARY record per run.