---
title: Changelog
description: Every visible change to the API, the SDKs, and the dashboard. Newest first. Breaking changes are flagged; we give 14 days of notice.
order: 90
---

# 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](/docs/guides/errors) and [billing policy](/docs/guides/billing) (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](/docs/guides/billing).

---

## Earlier

Older entries predate the public launch and aren't preserved here. If you need historical info (old behaviour of a specific endpoint), email <info@amazonscraperapi.com> and we'll pull it from internal records.

## Related

- [Getting started](/docs/getting-started)
- [Billing policy](/docs/guides/billing)
