Amazon Reviews Scraper
Under maintenancePricing
from $2.50 / 1,000 results
Amazon Reviews Scraper
Under maintenanceScrape 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
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours 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 fingerprints —
curl-cffiimpersonation (Chrome / Firefox / Safari) so Amazon sees a real browser's TLS handshake, not Python. - 🔁 We retry with exponential backoff on
408 / 429 / 5xxand honourRetry-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_purchaseandhelpful_vote_countalways resolve totrue/falseand a number, nevernull. - 🔗 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-startwarm-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
- Click Try for free at the top of the page.
- Add one or more ASINs and/or Product URLs — at least one of the two is required.
- 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). - Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
asins | array | no* | [] | 10-character Amazon ASINs, e.g. B0BSHF7WHW. |
productUrls | array | no* | [] | Amazon product URLs (/dp/..., /gp/product/..., /product-reviews/...) — the ASIN is extracted automatically; reviews are always fetched from the product's own page. |
maxReviewsPerProduct | integer | no | 10 | Cap on review rows emitted per ASIN (1-20) — a ceiling, not a guarantee. |
marketplaceDomain | string | no | "amazon.com" | Single-value enum; v1 is US-only. |
proxyConfiguration | object | no | {"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.
| Field | Type | Notes |
|---|---|---|
asin | string | 10-character Amazon ASIN. |
product_url | string | null | Canonical amazon.com/dp/<asin> URL. |
product_title | string | null | Product title, when present on the fetched review page. |
review_id | string | null | Amazon's internal review ID, when exposed. |
reviewer_name | string | null | Display name of the reviewer. |
rating | number | Star rating, 1-5. |
review_title | string | null | Review headline. |
review_text | string | Review body. |
verified_purchase | boolean | true/false, never null. |
review_date | string | ISO-8601 date. |
helpful_vote_count | integer | Defaults to 0 when the source shows none — never null. |
marketplace_domain | string | Echoes the input, e.g. "amazon.com". |
scraped_at | string | ISO 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:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.01 | One-off warm-up charge per run |
review-scraped | $0.0025 | Per 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.