Amazon Reviews Scraper avatar

Amazon Reviews Scraper

Pricing

Pay per event

Go to Apify Store
Amazon Reviews Scraper

Amazon Reviews Scraper

Scrape the top customer reviews from an Amazon product page by ASIN or URL — rating, title, body, verified-purchase flag, date, and helpful-vote count per review. Pay-Per-Event, no login, no API key.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share


🎯 What this scrapes

Amazon doesn't publish a public reviews API, and its dedicated all-reviews listing page requires a signed-in session — so this Actor targets the real, keyless surface every visitor sees without logging in: the "Top reviews" widget embedded right on a product's own page (amazon.com/dp/<ASIN>). This Actor takes a list of ASINs or product URLs and returns one clean row per top review — reviewer name, star rating, title, body, verified-purchase flag, date, and helpful-vote count — up to the cap you set.

Honest scope: a product page typically embeds 6-10 top reviews, not Amazon's full review history. If you need the full corpus you'd have to be logged in to Amazon yourself — this Actor doesn't pretend otherwise. What it gives you is real, structured, no-login top-review data across as many ASINs as you throw at it in one run.

🔥 Features

  • 🛡️ We rotate browser fingerprintscurl-cffi impersonation (Chrome / Firefox / Safari) so Amazon sees a real browser's TLS handshake, not Python.
  • 🔁 We retry with exponential backoff on 408 / 429 / 5xx and honour Retry-After — up to 5 attempts per page.
  • 🌐 We rotate proxy sessions through Apify Proxy on every block — a fresh session and fingerprint the moment one gets flagged.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 dates, verified_purchase and helpful_vote_count always resolve to true/false and a number, never null.
  • 🔗 Dedupe built in — any duplicate review block is collapsed to a single dataset row.
  • 💰 You pay only for results that land. No reviews, no per-review charge — only the small actor-start warm-up fee.

💡 Use cases

  • Product research — pull each competitor ASIN's top reviews before a launch or a pricing decision.
  • Voice-of-customer analysis — feed top-review text and ratings into your own sentiment or topic-modeling pipeline.
  • Review monitoring — re-run against the same ASINs on a schedule to track how the surfaced top reviews shift.
  • Catalog QA — spot-check verified-purchase ratios and helpful-vote signals across a product line's top reviews.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Add one or more ASINs and/or Product URLs — at least one of the two is required.
  3. Set Max reviews per product (a ceiling — most ASINs surface 6-10 top reviews) and leave Marketplace domain at amazon.com (the only supported marketplace in v1).
  4. Click Start. Output streams into the run's dataset.
  5. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
asinsarrayno*[]10-character Amazon ASINs, e.g. B0BSHF7WHW.
productUrlsarrayno*[]Amazon product URLs (/dp/..., /gp/product/..., /product-reviews/...) — the ASIN is extracted automatically; reviews are always fetched from the product's own page.
maxReviewsPerProductintegerno10Cap on review rows emitted per ASIN (1-20) — a ceiling, not a guarantee.
marketplaceDomainstringno"amazon.com"Single-value enum; v1 is US-only.
proxyConfigurationobjectno{"useApifyProxy": true}Standard Apify Proxy block — escalate to RESIDENTIAL if you ever see a block.

* At least one of asins / productUrls must be non-empty.

Example input

{
"asins": ["B0BSHF7WHW"],
"productUrls": [],
"maxReviewsPerProduct": 10,
"marketplaceDomain": "amazon.com",
"proxyConfiguration": {"useApifyProxy": true}
}

📤 Output

Every row is one review.

FieldTypeNotes
asinstring10-character Amazon ASIN.
product_urlstring | nullCanonical amazon.com/dp/<asin> URL.
product_titlestring | nullProduct title, when present on the fetched review page.
review_idstring | nullAmazon's internal review ID, when exposed.
reviewer_namestring | nullDisplay name of the reviewer.
ratingnumberStar rating, 1-5.
review_titlestring | nullReview headline.
review_textstringReview body.
verified_purchasebooleantrue/false, never null.
review_datestringISO-8601 date.
helpful_vote_countintegerDefaults to 0 when the source shows none — never null.
marketplace_domainstringEchoes the input, e.g. "amazon.com".
scraped_atstringISO 8601 UTC timestamp when the row was fetched.

Example output

{
"asin": "B0BSHF7WHW",
"product_url": "https://www.amazon.com/dp/B0BSHF7WHW",
"product_title": "Example Wireless Noise-Cancelling Headphones",
"review_id": "R2X9EXAMPLE123",
"reviewer_name": "J. Rivera",
"rating": 4.0,
"review_title": "Great sound, so-so battery",
"review_text": "Comfortable fit and clear mids. Battery drains faster than advertised after a few months.",
"verified_purchase": true,
"review_date": "2026-06-14",
"helpful_vote_count": 12,
"marketplace_domain": "amazon.com",
"scraped_at": "2026-07-30T00:00:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.05One-off warm-up charge per run
review-scraped$0.0025Per review row written to the dataset — $2.50 / 1 000 results

No subscription, no minimum, no card required to start — Apify gives every new account $5 of free credit.

🚧 Limitations

This Actor returns the top reviews Amazon embeds on the product page itself — typically 6-10 per ASIN — not Amazon's full, paginated review history (that listing requires a signed-in Amazon session, which this Actor deliberately does not use). maxReviewsPerProduct is a ceiling, not a guarantee, and a run can legitimately return fewer rows than requested when a product's page embeds fewer. v1 covers amazon.com only (no other country marketplaces), product reviews only (no seller/marketplace-offer reviews), and excludes review images/video, product-detail fields beyond title/URL, rating-histogram summaries, and any login-gated or Amazon Vine-exclusive content.

❓ FAQ

Do I need an Amazon account or API key?

No. This Actor reads the same public product page a signed-out visitor sees — no login, no key.

Can I pass a product URL instead of an ASIN?

Yes — productUrls accepts standard Amazon product links (/dp/..., /gp/product/..., /product-reviews/...); the ASIN is extracted automatically and its reviews are fetched from the product's own page.

Does this return every review a product has, or just some?

Just the top reviews Amazon surfaces on the product page — typically 6-10 per ASIN. Amazon's full paginated review archive sits behind a signed-in session; this Actor stays keyless by design rather than faking a login.

What happens if a product has fewer reviews than my maxReviewsPerProduct?

The run still succeeds — the status message reports the actual count scraped per ASIN rather than treating an under-fill as a failure.

Which countries does this cover?

amazon.com (United States) only in v1. Other Amazon marketplaces are a future addition, not yet supported.

💬 Your feedback

Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.