Amazon Product Scraper API
One GET request turns any ASIN into a full Amazon product listing as structured JSON. Roughly 55 fields, 20 marketplaces, residential proxies, and you pay only for requests that return data.
curl "https://api.amazonscraperapi.com/api/v1/amazon/product?api_key=YOUR_KEY&query=B0CHX3QBCH&domain=com" {
"asin": "B0CHX3QBCH",
"title": "Apple AirPods Pro (2nd Generation)",
"brand": "Apple",
"price": 199.00,
"price_strikethrough": 249.00,
"currency": "USD",
"rating": 4.7,
"reviews_count": 18342,
"stock": "In Stock",
"is_prime": true,
"sales_rank": [{ "name": "Electronics", "rank": 3 }],
"images": ["https://m.media-amazon.com/images/I/..."],
"variations": [ ... ],
"product_details": { ... }
} What is Amazon Product Scraper API
The Amazon Product Scraper API is a GET endpoint - /api/v1/amazon/product?api_key=&query=ASIN&domain= - that returns one Amazon listing as structured JSON. It handles the residential proxies, locale-aware parsing, and extraction, so you send an ASIN and get back about 55 clean fields. Start free with 1,000 requests a month, then pay as you go $0.90 per 1,000 successful requests, or opt in for cheaper monthly plans at up to $0.50 per 1,000 results.
One request returns ~55 structured product fields
Every successful call returns the listing the way a logged-out shopper sees it, already parsed into typed JSON. You never touch Amazon HTML. The fields group into twelve blocks:
Need a single ASIN to test by hand first? The free ASIN lookup tool runs the same extraction with no signup.
Every Amazon marketplace, parsed locale-aware
Set the marketplace with the domain parameter. The Amazon Product Scraper API covers all 20 marketplaces and parses each one in its own locale. A German listing shown as "1.234,56 EUR" returns the number 1234.56, a French "4,5 sur 5" rating returns 4.5, and a Japanese yen price returns a clean integer. Currency is set from the marketplace, not guessed from a symbol.
How the Amazon Product Scraper API works
Three parameters, one JSON response. Under the hood the request goes through the same pipeline that powers every paid scrape:
- Authentication. Pass your key as
?api_key=, anx-api-keyheader, or a Bearer token. - Country-matched residential proxies. Each request exits from a residential IP in the marketplace country, so amazon.de is scraped from a German IP. This is the main reason the success rate stays high on the first attempt.
- Locale-aware extraction. Prices, strikethrough prices, ratings, and review counts are parsed in the marketplace locale and returned as typed numbers.
- JSON response in about 3 seconds. Median end-to-end latency is around 3 seconds, with the heavier A+ and variation-rich listings sitting at the slower end.
The full parameter list, response schema, and field-by-field reference live in the product endpoint documentation.
Built for batches and data pipelines
A single product call is fine for a quick lookup. For catalogs and monitoring, the batch endpoint takes up to 1,000 ASINs in one async request and returns every result together, so you are not managing 1,000 separate calls and retries. The official SDKs wrap both:
Pricing: pay only for successful requests
Billing is success-only. A request that returns a 2xx with data costs credits; a 404 product-not-found, a block, or a timeout costs zero. That matters for the Amazon Product Scraper API specifically, because product lists almost always contain some delisted or wrong-marketplace ASINs, and you should not pay for those.
- Free: 1,000 requests per month, no daily cap.
- Pay as you go: $0.90 per 1,000 successful requests.
- Monthly plans: opt in for cheaper monthly plans at up to $0.50 per 1,000 results.
See the full breakdown on the pricing page.
Clear errors when a product is not found
When an ASIN does not resolve, the Amazon Product Scraper API returns an HTTP 404 with a structured body instead of a vague failure:
{
"error": "product_not_found",
"message": "Amazon returned 404 for this ASIN. The product is
delisted, the ID is malformed, or it never existed on this
marketplace. You were not charged.",
"retryable": false
}
The retryable: false flag tells your client not to waste a retry, and the explicit not-charged note removes any billing doubt. Whether scraping Amazon is allowed for your use case is covered in our guide to Amazon scraping and the law.