# Changelog of Amazon Best Sellers Scraper — Top 100 by Category & BSR (`kestrel/amazon-best-sellers-scraper`) Actor

- **URL**: https://apify.com/kestrel/amazon-best-sellers-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/kestrel/amazon-best-sellers-scraper.md

## Changelog

### 2026-08-30

- Reliability: a run that cannot act on its input — a URL from the wrong site, a name nothing resolves to, an empty target list, a number outside the documented range — now ends cleanly with the reason on the run card instead of as a failed run. Nothing is charged in either case; a blocked or throttled source still fails loudly.
- Store listing: moved into the categories buyers actually browse (the old `Business` category has no Store page).

### 1.1 — 2026-08-29

- **Automatic residential fallback.** The store refuses whole datacentre ranges for minutes at a time, which occasionally ended a run with `amazon page failed after 5 tries (last: 503)` even though the same input had just worked. A run now starts on the cheap proxies you chose and escalates only when it is pushed back: after the same page (or the chart's own load-more call) is refused twice in a row the sessions re-open on a residential proxy — routed through the marketplace's own country — and stay there for the rest of the run. Nothing to configure, no change to pricing, and a run that is never refused never leaves the cheap pool. Reported as `http.escalated` in the run's SUMMARY.

### 1.0 — 2026-08-29

First release.

- Amazon began answering 503 to the previous browser signature on 2026-08-29; the fetcher now presents a current Chrome build (verified on residential IPs).
- Best Sellers and New Releases charts for any category, in any of 20 marketplaces: rank, ASIN, title, price, rating, rating count, image and URL.
- **Every rank on every page.** Amazon renders 30 of a chart page's 50 entries and lazy-loads the rest; the run reads the complete ranked list from the page and makes the page's own load-more call for the remaining 20 (falling back to their product pages if that call is refused), so 2 pages really is the Top 100 for four requests.
- `maxResultsPerCategory` caps the chart at the top N and only fetches product pages for ranks you asked for.
- `minRating` filters **before** billing. Filtered rows, status rows, empty categories and failed jobs are never charged.
- An ASIN that appears in two categories' charts is delivered and billed once per run.
- Prices carry the currency Amazon actually rendered, not the marketplace's default.
- Reliability: the captcha page is detected and the session rotates to a fresh IP rather than being parsed as an empty chart.
