Amazon Product & Reviews Scraper avatar

Amazon Product & Reviews Scraper

Pricing

$3.00 / 1,000 product returneds

Go to Apify Store
Amazon Product & Reviews Scraper

Amazon Product & Reviews Scraper

Scrape Amazon product details (title, price, rating, review count, bullets, hi-res images), search results, and on-page top reviews from server-rendered HTML. No login, no key. Give ASINs for product+reviews or queries for paginated listings. 7 marketplaces.

Pricing

$3.00 / 1,000 product returneds

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 hours ago

Last modified

Share

Scrape Amazon product details, search-result listings, and on-page top customer reviews from server-rendered HTML. No login and no API key required. Give the actor a list of ASINs for full product details + reviews, or a list of search queries for paginated result listings. Supports 7 marketplaces (com, co.uk, de, fr, it, es, ca), and forces each marketplace's native currency/language via an i18n cookie so prices come back consistently.

What it does

  • ASIN / product mode — for each ASIN, returns title, price, currency, rating, review count, brand, availability, feature bullets, hi-res images, and the top reviews embedded in the product page.
  • Search mode — for each query, paginates through Amazon's result pages (up to maxItems) and returns asin, title, price, currency, rating, reviewCount, a thumbnail image (~200px), sponsored flag, and url.

Input

{
"asins": ["B0BS1PRC4L"],
"searchQueries": ["wireless earbuds"],
"domain": "com",
"maxItems": 50,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Provide asins, searchQueries, or both. At least one is required — an empty input returns an uncharged BAD_INPUT diagnostic row (it does not crash the run).

Residential proxies are strongly recommended: Amazon captcha-checks datacenter IPs quickly. Use a proxy country matched to the marketplace (e.g. US residential for amazon.com).

Sample output

Product row (ASIN mode):

{
"ok": true,
"type": "product",
"asin": "B0BS1PRC4L",
"url": "https://www.amazon.com/dp/B0BS1PRC4L",
"title": "Example Wireless Earbuds",
"price": "$49.99",
"currency": "USD",
"rating": "4.5",
"reviewCount": "1,234 ratings",
"brand": "ExampleBrand",
"availability": "In Stock",
"featureBullets": ["40h battery life", "IPX5 water resistant"],
"images": ["https://m.media-amazon.com/images/I/hi-res-1.jpg"],
"reviews": [
{ "id": "R1", "author": "Jane", "rating": "5.0", "title": "Great", "date": "...", "verifiedPurchase": true, "helpfulVotes": "3 people found this helpful", "body": "..." }
],
"reviewsParsed": 1
}

Search row (search mode):

{
"ok": true,
"type": "search",
"query": "wireless earbuds",
"asin": "B0XXXXXXXX",
"title": "Example Wireless Earbuds",
"price": "$49.99",
"currency": "USD",
"rating": "4.5",
"reviewCount": "1,234",
"images": ["https://m.media-amazon.com/images/I/thumb-200px.jpg"],
"sponsored": false,
"url": "https://www.amazon.com/dp/B0XXXXXXXX"
}

Both modes expose images as an images array so the output schema is uniform downstream. The difference is content: product mode yields hi-res image URLs, search mode yields a single ~200px thumbnail URL.

Nullable fields

These fields can be null/empty when Amazon does not render them for a given product or listing: price, rating, reviewCount, brand, availability, images (empty array), and reviews (empty array). Plan downstream pipelines to tolerate nulls.

Pricing

Pay-per-result: you are charged once per successfully parsed product/search row (ok: true). Blocked, failed, truncated, or empty results are never charged — those come back as ok: false diagnostic rows with an errorCode (BLOCKED, RATE_LIMITED, SERVER_ERROR, NETWORK, NO_RESULTS, BAD_INPUT).

Troubleshooting

  • BLOCKED / robot check — Amazon served a captcha/robot-check page. Use a residential proxy (or one in the marketplace's country) and retry. Datacenter IPs get blocked quickly.
  • Truncated search results — if a later page (page 2+) is blocked mid-run, the actor returns the rows it already collected and adds a diagnostic row explaining the truncation. Add/rotate a residential proxy and retry for the full set.
  • NO_RESULTS — the page loaded but nothing matched your input; check the ASIN/query and the selected domain.
  • BAD_INPUT — you provided neither ASINs nor search queries.