Amazon Scraper API

Docs

ChatGPT Claude

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-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 clean 404 with {"error":"product_not_found","retryable":false} instead of the misleading 502 target_unreachable it returned before. SDK consumers should treat 404 as a terminal failure; the ASIN won’t come back.
  • Skip the ?th=1 retry 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/search now detects Amazon’s Akamai bot-manager interstitial (a 2-3 KB JS shell carrying a bm-verify token and a triggerInterstitialChallenge script). Previously these silent challenges slipped past the captcha detector, the extractor saw zero ASINs, and the request returned 502 extraction_failed. They now classify as amazon-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/search adds an optional no_results: true flag (with total_results: 0) for the rare case where Amazon returns a real search page with zero matches. Pre-patch this surfaced as 502 extraction_failed; it now correctly returns HTTP 200 with an empty products array.
  • /v1/amazon/search field-extraction fixes (5 fields on every result card):
    • reviews_count: now populated. Pre-fix this was always null; the extractor was looking at a span class that Amazon hasn’t shipped in months. Source of truth is now the aria-label of 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%; null only when Amazon hides reviews on brand-new SKUs.
    • price_strikethrough: no longer captures per-unit prices. The historic bug surfaced as 0.23 on the Cremo cologne card (which is the $0.23/milliliter per-unit price, not a list price). The fix requires data-a-strike="true" and rejects any candidate whose surrounding text contains /fluid ounce, /milliliter, /Fl Oz, /Count, /Pound, /Ounce, /Each, /Pack, etc. Strikethrough is now null when 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%; null when Amazon doesn’t surface a velocity badge (low-traffic categories).
    • organic_position: guaranteed 1-indexed across non-sponsored cards. Sponsored cards get sponsored_position instead. 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 /docs site.

Docs

  • Launched /docs on 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 .md variant 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-go v0.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-* to Asa-*. 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_js and screenshot query params reserved. Passing either returns 501 not_implemented today; the real implementation is on the roadmap for Q3.
  • New response header Asa-Attempts reports 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.