Amazon Reviews Scraper Pro
Pricing
from $3.00 / 1,000 results
Amazon Reviews Scraper Pro
Extract customer reviews from any Amazon product across 19+ domains with star-rating filtering and sort options. Same cookie-free, residential-proxy architecture as the base scraper.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
13 minutes ago
Last modified
Categories
Share
Amazon Reviews Scraper Pro is the Pro tier of our Amazon reviews scraper. Same anti-bot resilience, cookie-free architecture, and field set as the base scraper — packaged separately for users who want a distinct deployment slot.
Extract customer reviews from any Amazon product across 19+ Amazon domains worldwide. Returns structured review data including text, star rating, helpful count, date, location, sentiment hint, images, variant, and reviewer profile (optional, GDPR-aware).
This actor runs in cookie-free public-data mode by default and uses
the free Apify AUTO (datacenter) proxy group, automatically escalating to
a residential proxy only if it detects a block. There is nothing for you
to log into or maintain — give it product URLs, get reviews back. See
sourceMode below to force the cheapest strict inline-only path, or the
full authenticated paginated path.
What this actor does
- Extracts customer reviews (rating, title, text, date, location, helpful count, images, variant, sentiment hint) from any Amazon product URL or bare ASIN across 19+ Amazon domains
- Cookie-free by default, with automatic
amazon.ca/amazon.com.brmarketplace fallback whenamazon.com's inline review widget is walled - Filter and sort: star rating (1-5) and most-helpful / most-recent ordering; optional keyword/category auto-discovery when you don't already have product URLs
- Optional review aggregates: one
amazon_review_aggregaterecord per product with average rating, star histogram, and an AI "Customers say" summary - Empty fields are omitted — a field only appears on a record if Amazon's
own page actually populated it, never returned as
null
Key Features
- Multi-product support: Scrape reviews from many Amazon products in one run
- 19 Amazon domains: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .com.au, .co.jp, .in, .com.br, .com.mx, .nl, .sg, .ae, .sa, .pl, .se, .com.tr
- Smart filtering: filter by star rating (1-5)
- Flexible sorting: most helpful or most recent
- GDPR aware: optional inclusion of reviewer name / profile / avatar
- Image extraction: optional capture of reviewer-uploaded images
- Resilient by default: AUTO (datacenter, free) proxy first, automatically escalating to a residential proxy only on a detected block, with a handful of fresh-session retries on transient blocks
- Automatic marketplace fallback: retries a walled
amazon.comASIN viaamazon.ca/amazon.com.brwith zero configuration changes - Optional authenticated cookie mode: bring your own Amazon session cookie for up to 2,000 reviews/ASIN via paginated fetches
- Keyword / category auto-discovery: leave
productUrlsempty and supplykeywordsand/orcategoryUrlsinstead — the actor discovers products via Amazon's public search/category pages and reviews up tomaxProductsToDiscoverof them - Review aggregates: an optional
amazon_review_aggregaterecord per product (average rating, global ratings count, star histogram, AI "Customers say" summary + per-aspect sentiment breakdown) — enabled by default (includeAggregates) - Reviewer videos & Vine Voice badge:
reviewVideos[]andisVineVoiceare captured when Amazon's own page renders them - Verified-purchase filter (cookie mode):
verifiedPurchasesOnly/reviewerTypenarrow cookie-mode fetches to Verified Purchases only
Output per review
Each review is returned with the following fields (empty fields are omitted —
any field the source page did not populate is dropped, never returned as
null):
productAsin— Amazon ASIN of the reviewed productratingScore— star rating, 1-5reviewTitle,reviewDescription— review headline and full textreviewUrl— direct link to the individual reviewreviewReaction— raw "N people found this helpful" textreviewedIn— raw "Reviewed in <country> on <date>" textisVerified— Verified Purchase flagisVineVoice— Amazon Vine Voice reviewer flag (only when evidenced)variant— product variant purchased (e.g. size/color)reviewImages[]— reviewer-uploaded image URLs (includeImages)reviewVideos[]— reviewer-uploaded videos (url,thumbnailUrl), only when Amazon's own page renders themposition— rank of this review within its product's fetched setreviewId— Amazon's own review identifierhelpfulCount— parsed numeric helpful-vote countreviewDate— parsed ISO datereviewLocation— parsed reviewer country/regionsentimentHint— derivedpositive/neutral/negativelabelwordCount— review length (character count for CJK scripts)hasImages,imageCount,hasVideos,videoCount— derived countsreviewerName,reviewerProfile,reviewerAvatar— only present whenincludeGdprSensitiveistruecollectionCompleteness: "INLINE_SAMPLE"— only present whensourceMode=FULL_PAGEfell back to the cookie-free samplescrapedAt— UTC timestamp of the scrapesourceUrl— the product URL that was scraped
Example output: review record
{"productAsin": "B09X7MPX8L","ratingScore": 5,"reviewTitle": "Amazing product!","reviewUrl": "https://www.amazon.com/gp/customer-reviews/R1234567890","reviewReaction": "123 people found this helpful","reviewedIn": "Reviewed in the United States on January 15, 2024","reviewDescription": "This is the full review text...","isVerified": true,"isVineVoice": false,"variant": "Size: Large, Color: Blue","reviewImages": ["https://images-na.ssl-images-amazon.com/..."],"reviewVideos": [{"url": "https://www.amazon.com/vdp/abc123.m3u8", "thumbnailUrl": "https://m.media-amazon.com/images/thumb.jpg"}],"position": 1,"reviewId": "R1234567890","helpfulCount": 123,"reviewDate": "2024-01-15T00:00:00","reviewLocation": "United States","sentimentHint": "positive","wordCount": 150,"hasImages": true,"imageCount": 2,"hasVideos": false,"videoCount": 0,"scrapedAt": "2024-01-20T10:30:00Z","sourceUrl": "https://www.amazon.com/dp/B09X7MPX8L"}
reviewerName, reviewerProfile, and reviewerAvatar are returned only
when includeGdprSensitive is set to true. reviewVideos/isVineVoice are
only ever populated with real, evidence-backed data from Amazon's own page —
most reviews have neither.
Output per product (review aggregate)
When includeAggregates is true (default), the actor also pushes one
amazon_review_aggregate record per product, in addition to its individual
reviews:
type: "amazon_review_aggregate"— record-type markerproductAsin— Amazon ASINaverageRating— overall star rating shown on the product pageglobalRatingsCount— total number of ratings (not just fetched reviews)starsBreakdown— count/percentage per star (5 through 1)customersSay— Amazon's AI-generated "Customers say" summarycustomersSayAspects[]— per-aspect sentiment breakdown (label,sentiment,mentionCount,summary)productUrl— canonical/dp/{ASIN}product URLcollectionCompleteness: "INLINE_SAMPLE"— only present whensourceMode=FULL_PAGEfell back to the cookie-free samplescrapedAt— UTC timestamp of the scrapesourceUrl— the product URL that was scraped
Example output: aggregate record
{"type": "amazon_review_aggregate","productAsin": "B09X7MPX8L","averageRating": 4.7,"globalRatingsCount": 147735,"starsBreakdown": {"5": 83, "4": 10, "3": 3, "2": 1, "1": 3},"customersSay": "Customers say the product is easy to use and durable...","customersSayAspects": [{"label": "Quality", "sentiment": "positive", "mentionCount": 427, "summary": "Customers say the quality is great."}],"productUrl": "https://www.amazon.com/dp/B09X7MPX8L","scrapedAt": "2024-01-20T10:30:00Z","sourceUrl": "https://www.amazon.com/dp/B09X7MPX8L"}
Status records
When a run can't return real reviews for every requested product, the
actor still pushes exactly one typed status record (identified by a
type field) instead of leaving the dataset empty — so a "0 reviews"
outcome is always self-explanatory from the dataset alone, not just the
run log.
type | Meaning |
|---|---|
amazon_reviews_no_proxy | proxyConfiguration.useApifyProxy was not true. |
amazon_reviews_proxy_failed | Apify proxy configuration could not be created. |
amazon_reviews_walled_us | amazon.com is walled and countryFallback=false. |
amazon_reviews_no_star_match | Fetch succeeded but no reviews matched filterByStar — expected, not an error. |
amazon_reviews_blocked | No reviews recovered on any attempted marketplace. |
amazon_reviews_cookie_invalid | Cookie mode: cookieString couldn't be parsed / missing a session key. |
amazon_reviews_cookie_expired | Cookie mode: Amazon redirected to /ap/signin — session expired. |
amazon_reviews_cookie_robot_blocked | Cookie mode: Amazon served a robot/CAPTCHA challenge. |
amazon_reviews_auth_required | sourceMode=FULL_PAGE with no cookieString and onAuthRequired=FAIL. |
amazon_reviews_no_products_discovered | keywords/categoryUrls discovery found no products. |
Input
| Field | Type | Default | Description |
|---|---|---|---|
productUrls | array | - | Amazon product URLs, or bare ASINs (e.g. B09X7MPX8L, expanded using country). Leave empty to use keywords/categoryUrls instead |
keywords | array | [] | Search keywords to auto-discover products (used only when productUrls is empty) |
categoryUrls | array | [] | Amazon /s?...//b?node=... URLs to auto-discover products from (used only when productUrls is empty) |
maxProductsToDiscover | integer | 10 | Max products to discover from keywords/categoryUrls |
includeAggregates | boolean | true | Emit one amazon_review_aggregate record per product |
sourceMode | enum | AUTO | AUTO (cookie mode if cookieString set, else inline sample), INLINE_ONLY (always cheap cookie-free, never escalates proxy), FULL_PAGE (requires cookieString; see onAuthRequired) |
onAuthRequired | enum | RETURN_PARTIAL | FULL_PAGE only: FAIL (abort) or RETURN_PARTIAL (fall back to inline sample, tagged collectionCompleteness: "INLINE_SAMPLE") when no valid cookieString is supplied |
proxyConfiguration | object | AUTO | Apify proxy (required). AUTO (datacenter) first, auto-escalates to RESIDENTIAL on a detected block |
maxReviews | integer | 15 | Reviews per product (1–15, capped by inline render) |
sortBy | enum | helpful | helpful or recent |
filterByStar | enum | "" (all) | "", "1", "2", "3", "4", "5" |
includeImages | boolean | true | Extract reviewer-uploaded images |
includeGdprSensitive | boolean | false | Include reviewer name / profile / avatar |
country | enum | amazon.com | Amazon domain (19 supported) |
countryFallback | boolean | true | Auto-retry via amazon.ca / amazon.com.br when the requested marketplace is walled (cookie-free mode only) |
cookieString | string | "" (cookie-free) | Optional Amazon session cookie — switches to authenticated paginated mode when set |
verifiedPurchasesOnly | boolean | false | Cookie mode only: only return Verified Purchase reviews |
reviewerType | enum | "" | Cookie mode only: "", all_reviews, avp_only_reviews |
cookieModeMaxReviews | integer | 500 | Max reviews per product in cookie mode (1–2000) |
maxConcurrency | integer | 1 | Concurrent pages (1-5) |
requestTimeout | integer | 60 | Per-page timeout in seconds (30–180) |
retryCount | integer | 3 | Fresh-session retries on blocks (1–10) |
Example: default cookie-free scrape
{"productUrls": ["https://www.amazon.com/dp/B09X7MPX8L"],"maxReviews": 15,"sortBy": "helpful","filterByStar": "","includeImages": true,"includeGdprSensitive": false,"country": "amazon.com","sourceMode": "AUTO","proxyConfiguration": {"useApifyProxy": true}}
Example: discover products by keyword, 5-star only
{"keywords": ["wireless earbuds"],"maxProductsToDiscover": 5,"filterByStar": "5","sortBy": "recent","country": "amazon.co.uk","proxyConfiguration": {"useApifyProxy": true}}
Example: cheapest strict single-marketplace path
{"productUrls": ["B09X7MPX8L"],"sourceMode": "INLINE_ONLY","countryFallback": false,"country": "amazon.de","proxyConfiguration": {"useApifyProxy": true}}
Example: authenticated cookie mode, verified purchases only
{"productUrls": ["https://www.amazon.com/dp/B09X7MPX8L"],"cookieString": "session-id=123-4567890-1234567; ubid-main=123-4567890-1234567; at-main=Atza|...","verifiedPurchasesOnly": true,"cookieModeMaxReviews": 500,"proxyConfiguration": {"useApifyProxy": true}}
Cookie-Free Public-Data Mode
This actor never logs in to Amazon and never carries authenticated session cookies. That choice keeps it simple to run, but it imposes hard limits that are dictated by Amazon — not by the scraper itself.
What you get:
- Up to ~8–13 "top reviews" per ASIN — Amazon's inline review block on
the
/dp/{ASIN}product page - All public review fields (text, rating, date, location, helpful count, images, variant)
What is not supported:
- Pagination beyond the inline block. Amazon now redirects every
anonymous
/product-reviews/{ASIN}request to/ap/signin, regardless of country, TLS fingerprint, or warmup pattern (verified across 6 mitigation strategies in May 2026). Reviews are therefore extracted from the inline block on the product detail page, which renders 8–13 reviews and has no "next page". - Star-rating filter at fetch time. The
filterByStarinput still works, but is applied client-side to the inline block — expect 0–5 reviews per star. - The verified-purchase filter (
reviewerType=avp_only_reviews) requires an authenticated session and is therefore not exposed as an input. TheisVerifiedflag IS still populated per review.
Why a proxy is required, and the AUTO/RESIDENTIAL posture:
Amazon can block anonymous datacenter IPs, but usually renders the inline
block fine on the free AUTO (datacenter) proxy group too — so the actor
tries AUTO first by default. Only if that pass comes back with 0 reviews
and a block/wall signal does it automatically retry the whole batch once
more on a forced RESIDENTIAL proxy. This escalation is skipped when
sourceMode=INLINE_ONLY, or when you pin apifyProxyGroups: ["RESIDENTIAL"]
yourself. proxyConfiguration is required in the input schema either
way, and the actor exits cleanly with a typed status message if no proxy
at all is configured.
Amazon.com Sign-In Wall (July 2026)
In July 2026 Amazon extended its November 2024 /product-reviews/ login
wall to the inline "Top reviews" block itself on amazon.com/dp/{ASIN}.
The block now ships as an empty <div id="cr-top-reviews-card"></div> plus
a "Customer reviews require account verification. Sign in" prompt — for
anonymous sessions on AUTO and on a residential proxy alike. This is a
server-side gate, not a TLS/fingerprint/selector issue, and no amount of
stealth browsing recovers the missing data.
The wall is marketplace-specific, not universal: as of this writing,
amazon.ca and amazon.com.br still render the inline review block
cookie-free. See docs/plans/research-amazon-reviews-cookie-wall-2026-07.md
in this repo for the full empirical investigation (live probes, cloud
verification, and a survey of how other open-source/commercial scrapers
are affected by the same change).
Multi-Marketplace Fallback (countryFallback)
Enabled by default. When the requested country (e.g. amazon.com)
returns 0 review cards because of the sign-in wall above, the actor
automatically retries the same ASIN against amazon.ca then
amazon.com.br, each with a proxy country-matched to that marketplace
(same AUTO-first-then-escalate posture as the primary marketplace). The
run log shows exactly what happened:
Marketplace router: amazon.com is walled — trying next fallback (amazon.ca)Marketplace router: amazon.ca returned 13 reviews
Cross-listed international products (a large fraction of name-brand
catalog) keep working with zero configuration changes. Reviews recovered
this way may be in the fallback marketplace's language (e.g. Portuguese
from amazon.com.br) and reference local shipping/pricing context.
Set countryFallback=false if you need strict single-marketplace
matching — in that case a walled .com run returns a typed
amazon_reviews_walled_us status record instead of silently substituting
data from elsewhere.
Source Mode (sourceMode)
Controls which of the actor's two review-collection paths is used, and how strictly:
AUTO(default). Uses cookie mode automatically when you supply acookieString, otherwise the cookie-free inline sample. Same behavior as leavingsourceModeunset.INLINE_ONLY. Always uses the cheap cookie-free inline sample, even if you also supplied acookieString(ignored in this mode). Never escalates to a RESIDENTIAL proxy and disablescountryFallback— the strictest, cheapest, single-marketplace path, useful when you want predictable low-cost runs and don't need the marketplace-fallback substitution behavior.FULL_PAGE. Always uses the full paginated, authenticated/product-reviews/{ASIN}fetcher (same as settingcookieStringdirectly) and therefore requires a validcookieString. If none is supplied,onAuthRequireddecides what happens:FAIL— abort the run with a typedamazon_reviews_auth_requiredstatus message and no data.RETURN_PARTIAL(default) — fall back to the cookie-free inline sample instead, tagging every returned review (and its aggregate record)collectionCompleteness: "INLINE_SAMPLE"so downstream consumers can tell it isn't the full paginated set.
Optional Cookie Mode (cookieString)
For full paginated review history (up to 2,000 reviews per ASIN,
including the verified-purchase filter), supply your own Amazon session
cookies via the cookieString input:
- Log in to amazon.com in a normal browser.
- Open DevTools → Network tab, reload any page, click a request to
amazon.com. - Copy the literal
Cookie:request header value (e.g.session-id=123-...; ubid-main=...; at-main=...). - Paste it into
cookieString.
When set, the actor switches to paginated /product-reviews/{ASIN} fetches
and fans out across star filters once the 500-reviews-per-filter Amazon
pagination ceiling is hit, up to cookieModeMaxReviews (default 500, max
2,000).
Important:
- Paste only the session cookie value — never your Amazon password.
The actor rejects any
cookieStringcontaining the word "password" as a safety check. - The actor never stores or reuses cookies beyond the current run.
- If your session expires mid-run, the actor returns a typed
amazon_reviews_cookie_expiredrecord rather than failing silently. - Scraping while authenticated puts the activity under Amazon's Terms of Service for logged-in accounts — you are the data controller; use a lawful basis (e.g. scraping your own seller/brand's reviews) before enabling this mode at scale.
Supported Amazon Domains
| Domain | Country |
|---|---|
| amazon.com | United States |
| amazon.co.uk | United Kingdom |
| amazon.de | Germany |
| amazon.fr | France |
| amazon.it | Italy |
| amazon.es | Spain |
| amazon.ca | Canada |
| amazon.com.au | Australia |
| amazon.co.jp | Japan |
| amazon.in | India |
| amazon.com.br | Brazil |
| amazon.com.mx | Mexico |
| amazon.nl | Netherlands |
| amazon.sg | Singapore |
| amazon.ae | UAE |
| amazon.sa | Saudi Arabia |
| amazon.pl | Poland |
| amazon.se | Sweden |
| amazon.com.tr | Turkey |
GDPR Compliance
When includeGdprSensitive=false (the default) the scraper omits:
- Reviewer names
- Reviewer profile links
- Reviewer avatars
Set it to true only if you have a lawful basis to process that data.
Use cases
- Voice of customer analysis — pull real review text and star ratings for a product line to feed into sentiment/keyword analysis
- Competitive benchmarking — compare
averageRating/starsBreakdownand "Customers say" summaries across competing ASINs - Review monitoring — schedule daily runs on a watch-list of products and track new reviews, ratings, and helpful-vote counts over time
- Trust & quality signals — surface
isVerified/isVineVoiceflags and reviewer-uploaded images/videos for product-quality dashboards - Localization research — compare review tone and content across Amazon's 19+ country storefronts for the same product
- Brand/seller reputation tracking — bring your own
cookieStringfor deeper, paginated review history (up to 2,000 reviews/ASIN) on your own products
FAQ
Can I get more than ~13 reviews per product?
Not in cookie-free mode — reviews come from the inline block on the /dp/
product page, which caps at ~8-13 "top reviews" per ASIN with no "next
page". For more, supply a cookieString (see "Optional Cookie Mode"
above) — cookie mode returns up to cookieModeMaxReviews (default 500,
max 2,000) via paginated /product-reviews/.
Why is my .com run returning 0 reviews / reviews in French or
Portuguese?
Two possibilities: (1) proxyConfiguration.useApifyProxy was omitted or
false — check the log for an Apify proxy required message; or (2) amazon.com's inline review
block is walled (see "Amazon.com Sign-In Wall" above) and the
countryFallback fallback fired, substituting reviews from amazon.ca or
amazon.com.br. Check the log for a
Marketplace router: amazon.com is walled — trying next fallbackcountryFallback if you
need strict .com-only matching.
Why does the actor log say amazon.com's inline review widget is gated and countryFallback=true
(the default).
Can I scrape reviews translated into other languages?
Yes — pick the corresponding domain in country (e.g. amazon.de for
German). Reviews are returned in the language of the chosen storefront.
Do you support reviews from a specific verified-purchase filter?
No. That filter requires an authenticated Amazon session. The isVerified
field on each review is still populated, so you can filter the output
yourself in your downstream pipeline.
How is the data deduplicated?
Reviews are deduplicated by reviewId across products in a single run
(there is no per-page pagination in cookie-free mode, so pagination
duplicates cannot occur).
Are you respecting Amazon's robots.txt?
Yes. This actor only fetches /dp/{ASIN} product pages, which Amazon's
robots.txt does not disallow for User-agent: *. There is no
Crawl-delay directive on amazon.com; the actor still paces requests
via requestTimeout and a default 2 s inter-product delay.
Is this actor affiliated with Amazon? No. This is an independent, third-party actor that reads publicly available Amazon product/review pages. It is not operated, endorsed, or sponsored by Amazon.com, Inc.
Limitations
- ~8-13 reviews per ASIN in cookie-free mode (Amazon's inline
/dp/block ceiling). Anonymous/product-reviews/pages redirect to sign-in. Supply acookieStringfor up to 2,000 reviews/ASIN. - As of July 2026,
amazon.com's inline review block itself is walled for cookie-free requests; the actor automatically falls back toamazon.ca/amazon.com.br(see above) unlesscountryFallback=false. - Verified-purchase pre-filtering is unavailable in cookie-free mode;
isVerifiedis still set per review. Cookie mode does not add a separate verified-only URL parameter either — filter client-side onisVerifiedif needed. - Run-to-run review counts can vary by +/- 10% as Amazon shuffles the order of "Most helpful" reviews.
- An Apify proxy is required in both modes; running without one exits
cleanly with a typed status message and produces no records. AUTO
(datacenter) is tried first by default and escalates to RESIDENTIAL
automatically only on a detected block (skipped for
sourceMode=INLINE_ONLYor when you pin RESIDENTIAL yourself).
Integration
# Get results via APIcurl "https://api.apify.com/v2/datasets/{datasetId}/items?token={apiToken}"
Output formats supported by Apify: JSON, CSV, Excel, RSS, HTML table.
More Amazon Actors
Part of a full Amazon scraper suite — also check out:
- Amazon Category Scraper
- Amazon Product Scraper
- Amazon Best Sellers & Rankings Scraper
- Amazon Reviews Scraper
- Amazon Offers Scraper (All Offers Display)
- Amazon Seller & Shop Scraper
- Amazon Deals Scraper
- Amazon Brand Store Scraper
- Amazon Creator Shop Scraper
- Amazon Wishlist & Registry Scraper
- Amazon Keyword Suggestions Scraper