Changelog
Every visible change to the API, the SDKs, and the dashboard. Newest first. Breaking changes are flagged; we give 14 days of notice.
Changelog
Breaking API changes are announced 14 days in advance via email + this page. In-flight requests are always settled under the old contract.
2026-10-27
API
/v1/amazon/product: Amazon started showing some requests a “Continue shopping” checkpoint page. It wasn’t recognised as a block, so affected requests returned502 extraction_failedafter a single attempt. They are now retried automatically, like any other block. If you saw a rise inextraction_failedfrom about Oct 22, this is why; none of those requests were charged./v1/amazon/product: Apple-brand listings (iPhone, MacBook, AirPods, Beats and similar) on several marketplaces, including amazon.ae, amazon.it and amazon.pl, returned502 target_unreachablewithlast_block_reason: "degraded-render:no-detail-block"on every request. These pages have no product-details table, which our completeness check wrongly treated as an incomplete page. They now return full data (product_detailsandsales_rankstay empty because the page has none).- The
502 target_unreachablemessage now recommends waiting 60 seconds or more before retrying, matching the error codes table. It previously said about 10 seconds.
SDKs, CLI and MCP server (0.1.6)
- All packages: default request timeout raised from 60s to 120s, so slow but successful scrapes are no longer cut off client-side.
- Node, Python and Go SDKs: errors now expose the API’s error code (
err.code,e.code,Error.Code()) for both error shapes, and the message shows it (previously the Node SDK printed[object Object]). The Go client keeps the HTTP status even when a proxy in between returns a non-JSON error page. - CLI: new
--pageflag for search; help text and README corrected. - MCP server: upgraded to the current MCP SDK (clears high-severity advisories);
amazon_searchdocumentsstart_pageand no longer advertisespages;amazon_productacceptscountry. - Install names: the CLI is
amazon-scraper-api-cliand the MCP server isamazon-scraper-api-mcpon npm. Some of our pages listed other names that do not exist; those are fixed.
Docs
- Search endpoint:
pagesis accepted but currently ignored; each call returns one page, so paginate withstart_page. - Error codes: corrected the error body example to match what the API returns, clarified that the request ID is sent in the
X-Request-Idheader, and added how to tell an API error from one generated by a proxy or CDN in between. - Getting started: 502 retry advice aligned to 60 seconds or more.
- SDK quick-starts: corrected the feature list. The SDKs handle auth, request building, typed errors and webhook verification, but do not retry or rate-limit on their own, so add a retry loop around your calls. Fixed the Go example to read fields from the returned map.
2026-05-19
API
- New error code:
404 product_not_found. When Amazon returns a 404 for the requested ASIN (product delisted, ID malformed, or never existed on the chosen marketplace), the API now returns a clean404with{"error":"product_not_found","retryable":false}instead of the misleading502 target_unreachableit returned before. SDK consumers should treat 404 as a terminal failure; the ASIN won’t come back. - Skip the
?th=1retry strategy on confirmed Amazon 404s. Saves 1 paid-residential rotation per delisted ASIN. - See updated error codes table and billing policy (404s remain free).
/v1/amazon/searchnow detects Amazon’s Akamai bot-manager interstitial (a 2-3 KB JS shell carrying abm-verifytoken and atriggerInterstitialChallengescript). Previously these silent challenges slipped past the captcha detector, the extractor saw zero ASINs, and the request returned502 extraction_failed. They now classify asamazon-robot-or-human, triggering the standard residential-IP rotation; you weren’t charged before and still aren’t, but the failure is now both rarer (rotation almost always recovers) and more honest when it does happen./v1/amazon/searchadds an optionalno_results: trueflag (withtotal_results: 0) for the rare case where Amazon returns a real search page with zero matches. Pre-patch this surfaced as502 extraction_failed; it now correctly returns HTTP 200 with an emptyproductsarray./v1/amazon/searchfield-extraction fixes (5 fields on every result card):reviews_count: now populated. Pre-fix this was alwaysnull; the extractor was looking at a span class that Amazon hasn’t shipped in months. Source of truth is now thearia-labelof the rating wrapper (“5,054 ratings”), which gives the precise integer rather than the rounded “(5K)” display value. Coverage on a typical search page: ~95-100%;nullonly when Amazon hides reviews on brand-new SKUs.price_strikethrough: no longer captures per-unit prices. The historic bug surfaced as0.23on the Cremo cologne card (which is the$0.23/milliliterper-unit price, not a list price). The fix requiresdata-a-strike="true"and rejects any candidate whose surrounding text contains/fluid ounce,/milliliter,/Fl Oz,/Count,/Pound,/Ounce,/Each,/Pack, etc. Strikethrough is nownullwhen the product isn’t on sale, and strictly greater than the current price when it is.highest_price: mirrors the fixed strikethrough on search cards (real multi-tier ranges only surface on PDPs).sales_volume: now populated. Returns the verbatim Amazon string ("5K+ bought in past month","200+ bought in past week"). Coverage on popular categories: ~80-100%;nullwhen Amazon doesn’t surface a velocity badge (low-traffic categories).organic_position: guaranteed 1-indexed across non-sponsored cards. Sponsored cards getsponsored_positioninstead. The first organic card after any run of sponsored cards still gets position 1.
2026-04-21
Dashboard
/app/settings/billing: PAYG top-up calculator now updates the “Credits you’ll get” and “Basic scrapes” fields live as you type.- Loading skeletons added to dashboard home, billing, usage, and API keys routes - no more blank flash on first navigation.
- Sidebar “Documentation” link now points at the new
/docssite.
Docs
- Launched
/docson the marketing site. 11 pages to start: Getting started, 3 endpoints (product / search / batch), 6 guides (auth, errors, rate limits, SDKs, billing, country & language), and this changelog. - Added
/docs/llms.txt,/docs/llms-full.txt, and an.mdvariant for every doc URL so LLMs / coding agents can ingest the full corpus cheaply.
SDKs
amazon-scraper-api-sdk(Node) v0.1.4 - README updated with 5-credit pricing, removed claims about “no credit system”.amazonscraperapi-sdk(Python) v0.1.4 - same.amazon-scraper-api-sdk-gov0.1.4 - same.
2026-04-16
API
- Credit rebase: 1 basic scrape is now priced at 5 credits (was 1). Plan allowances and PAYG packages scaled x5 accordingly - your dollar-cost-per-scrape is unchanged. The “1 credit = 1 scrape” pre-launch shorthand only applied to internal testing.
- Headers prefix changed from
Spb-*toAsa-*. Old prefix will keep returning values for 90 days, then be removed.
Dashboard
- Live credit balance now read from authoritative ledger on every page load - no more stale numbers from cached mirrors.
- Monthly usage graph restyled with visible bars even on zero-credit days.
2026-04-10
API
- Shipped production success-rate improvements for Amazon’s latest A/B layout. Measured SR jumped from ~87% to ~97% on a 30-query mixed international set.
- Parser hardening: gift-card and subscription-plan Amazon product templates now extract correctly instead of hitting
extraction_failed.
2026-04-01
API
render_jsandscreenshotquery params reserved. Passing either returns501 not_implementedtoday; the real implementation is on the roadmap for Q3.- New response header
Asa-Attemptsreports how many internal retries we used to fetch your page.
Billing
- Non-2xx responses are now guaranteed free - no edge case where a partial 502 is charged. See Billing policy.
Earlier
Older entries predate the public launch and aren’t preserved here. If you need historical info (old behaviour of a specific endpoint), email [email protected] and we’ll pull it from internal records.