Amazon Review Scraper
Pricing
from $0.003 / review
Amazon Review Scraper
Scrape Amazon product reviews at scale using a real browser — not proxies. Other scrapers return 0-10 reviews or fail silently. This one reliably extracts 500+ reviews per product with full text, ratings, dates, images, and helpful votes.
Pricing
from $0.003 / review
Rating
0.0
(0)
Developer
Jack
Actor stats
0
Bookmarked
3
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
Amazon Review Scraper — Deep Extract
Scrape Amazon product reviews at scale using a real Playwright browser session. No review cap. Bypasses the anti-bot detection that blocks every proxy-based scraper on the market.
Why this scraper works when others don't
Amazon aggressively blocks proxy-based scrapers in 2025-2026. Most review scrapers on Apify return 0-10 reviews or fail outright. This one uses a real Playwright browser with authenticated sessions on residential IPs — indistinguishable from a normal user browsing Amazon.
Result: reliable extraction of hundreds or thousands of reviews per product, even on heavily protected listings.
Features
- No review limit — scrape 10, 500, or 5,000+ reviews per product
- Multiple products per run — pass a list of URLs, scrape them all
- Sort by recent or helpful — choose your sort order
- Filter by star rating — scrape only 1-star, 5-star, positive, critical, or all
- Rich data extraction — rating, title, full text, date, verified purchase, Vine reviewer, variant, images, helpful count, reviewer profile, review URL
- Deduplication — no duplicate reviews in output
- Real browser — Playwright on residential IP, not HTTP requests through datacenter proxies
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
productUrls | array | Yes | — | List of Amazon product URLs or ASINs. Accepts full URLs or plain 10-character ASINs. |
maxReviews | integer | No | 200 | Max reviews to scrape per product. No cap. |
sort | string | No | recent | Sort order: recent or helpful. |
filterByRating | string | No | all_stars | Filter: all_stars, five_star, four_star, three_star, two_star, one_star, positive, critical. |
Example input
{"productUrls": [{ "url": "https://www.amazon.com/dp/B0D1XD1ZV3" },{ "url": "https://www.amazon.com/dp/B09V3KXJPB" }],"maxReviews": 500,"sort": "recent","filterByRating": "all_stars"}
Output
Each review in the dataset contains:
| Field | Type | Description |
|---|---|---|
reviewId | string | Unique Amazon review ID |
reviewTitle | string | Review headline |
reviewDescription | string | Full review text |
ratingScore | number | Numeric rating (1-5) |
reviewedIn | string | Full date string with location (e.g., "Reviewed in the United States on February 10, 2026") |
date | string | Parsed date portion |
isVerified | boolean | Verified purchase |
isAmazonVine | boolean | Amazon Vine reviewer |
variant | string | Product variant (color, size, etc.) |
reviewImages | array | URLs of images attached to the review |
reviewReaction | string | Helpful vote count |
reviewUrl | string | Direct link to the review |
userProfileLink | string | Link to reviewer's Amazon profile |
userId | string | Amazon user ID |
position | number | Position in scrape results |
productAsin | string | Product ASIN |
totalCategoryRatings | number | Total ratings for the product |
totalCategoryReviews | number | Total reviews for the product |
filterByRating | string | Rating filter used |
input | string | Original product URL |
country | string | Country (currently US) |
Example output
{"reviewId": "R2YPIEJ3LA31PS","reviewTitle": "This thing is incredible","reviewDescription": "I've tried three other brands and they all broke within a month. This one has lasted 6 months and counting. The pressure is perfect — not too soft, not painful.","ratingScore": 5,"reviewedIn": "Reviewed in the United States on February 10, 2026","date": "February 10, 2026","isVerified": true,"isAmazonVine": false,"variant": "Color: Black","reviewImages": ["https://images-na.ssl-images-amazon.com/images/I/..."],"reviewReaction": "42","reviewUrl": "https://www.amazon.com/gp/customer-reviews/R2YPIEJ3LA31PS","userProfileLink": "https://www.amazon.com/gp/profile/amzn1.account.ABC123","userId": "amzn1.account.ABC123","position": 1,"productAsin": "B0D1XD1ZV3","totalCategoryRatings": 2490,"totalCategoryReviews": 664,"filterByRating": "all_stars","input": "https://www.amazon.com/dp/B0D1XD1ZV3","country": "United States"}
Use cases
- Ad creative research — mine customer language for ad hooks and angles
- Competitor analysis — understand what customers love/hate about competing products
- Product validation — check real customer sentiment before sourcing
- Sentiment analysis — aggregate ratings and review text for ML workflows
- Review monitoring — track sentiment over time
- Market research — identify gaps and opportunities from customer feedback
- UGC content mining — find review images for ad creative inspiration
Supported URL formats
All of these work:
https://www.amazon.com/dp/B0D1XD1ZV3https://www.amazon.com/Some-Product-Name/dp/B0D1XD1ZV3https://www.amazon.com/product-reviews/B0D1XD1ZV3B0D1XD1ZV3(plain ASIN)
Limits
- US Amazon (amazon.com) only
- Scrape time scales with review count (~1-2 min for 200 reviews, ~5 min for 1000+)
FAQ
Why not just use the Amazon Product Advertising API? The Amazon PA API doesn't expose review text. This scraper gets the actual review content, images, and metadata.
Why does this work when other scrapers don't? Other scrapers use HTTP requests through datacenter proxies. Amazon fingerprints and blocks these. This scraper uses a full Playwright browser with residential IPs and real authenticated sessions — the same way a human browses Amazon.
Can I scrape multiple products in one run?
Yes. Pass multiple URLs in productUrls. Each product is scraped sequentially.
What if a product has fewer reviews than maxReviews? The scraper stops when it runs out of reviews and returns whatever it found.