Amazon Review Scraper - Ratings, Text, Verified, by ASIN avatar

Amazon Review Scraper - Ratings, Text, Verified, by ASIN

Pricing

from $3.00 / 1,000 reviews

Go to Apify Store
Amazon Review Scraper - Ratings, Text, Verified, by ASIN

Amazon Review Scraper - Ratings, Text, Verified, by ASIN

Extract Amazon reviews by ASIN: rating, full text, verified flag, reviewer, date, helpful votes, variant, plus aggregate rating and the 'Customers say' AI summary. Fast anonymous route needs no login. For more history use reviewDepth=deep with your own Amazon cookie (self-hosted).

Pricing

from $3.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Renzo Madueno

Renzo Madueno

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

Amazon Review Scraper — Ratings, Text, Verified, by ASIN

Extract real Amazon customer reviews for any product by ASIN. Returns one row per review with the star rating, title, full review text, verified-purchase flag, reviewer name and profile, date, helpful-vote count, product variant, and country.

Built on the same battle-tested HTTP + proxy + session-rotation stack as the Amazon Product Scraper.


What you get (one item per review)

FieldDescription
asinThe product ASIN the review belongs to
reviewIdAmazon's review id (e.g. R2ABC123XYZ)
titleReview headline
ratingStar rating as a number (1–5)
bodyFull review text, plain text
dateISO 8601 date when parseable
dateRawOriginal Amazon date string (e.g. Reviewed in the United States on March 5, 2024)
verifiedPurchasetrue if the "Verified Purchase" badge is present
reviewerNameDisplay name of the reviewer
reviewerProfileUrlLink to the reviewer's profile (when available)
helpfulVotesNumber of "found this helpful" votes (integer or null)
foundHelpfulTextRaw helpful-vote text
variantPurchased variant, e.g. Color: Black (when shown)
countryCountry the review was written in
source, marketplace, productUrl, scrapedAtProvenance metadata

Plus one ASIN-level summary row per product

In addition to the per-review rows, the actor emits one summary item per ASIN (type: "asin_summary") carrying product-wide signal that Amazon shows anonymously on the product page:

FieldDescription
typeAlways "asin_summary" (review rows have no type field)
asinThe product ASIN
aggregateRatingAverage star rating across all ratings (e.g. 4.2)
totalRatingsTotal number of ratings on the listing (e.g. 60175)
customersSayAmazon's AI review summary + most-mentioned aspects (see below), or null if absent
reviewsCountHow many individual review rows this run scraped for the ASIN

customersSay shape:

{
"summary": "Customers find the iPhone in excellent condition, working like new... battery life and durability receive mixed reviews...",
"aspects": [
{ "name": "Quality", "sentiment": "positive", "mentions": "1.8K" },
{ "name": "Battery life", "sentiment": "mixed", "mentions": "2K" },
{ "name": "Durability", "sentiment": "negative", "mentions": "591" }
]
}

sentiment is one of positive / mixed / negative. If a product has no "Customers say" widget, customersSay is null (never an error).


Input

{
"asins": ["B08N5WRWNW", "https://www.amazon.com/dp/B07ZPKBL9V"],
"marketplace": "amazon.com",
"maxReviewsPerAsin": 100,
"sortBy": "recent",
"filterByStar": "all",
"reviewDepth": "fast"
}
FieldTypeDefaultNotes
asinsarray of stringsrequiredASINs (B08N5WRWNW) or full product URLs — the ASIN is auto-extracted.
marketplaceenumamazon.comamazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.com.au, amazon.co.jp, amazon.in, amazon.com.mx, amazon.com.br
maxReviewsPerAsininteger100Upper bound per ASIN.
reviewDepthenumfastfast = anonymous route (~10-20 reviews/ASIN + aggregate rating + "Customers say"). deep = paginate past that ceiling using your own Amazon cookie. See Review depth below.
sortByenumrecentrecent or helpful.
filterByStarenumallall, five_starone_star, positive, critical.
amazonCookiesstring (secret)emptyOptional. Your own logged-in Amazon Cookie header. Unlocks deep pagination (up to ~100/ASIN per star filter). Empty = free anonymous route (~10-20/ASIN). See BYO-cookie section below.

Example output

{
"asin": "B08N5WRWNW",
"reviewId": "R2ABC123XYZ",
"title": "Excellent battery life",
"rating": 5,
"body": "Works great, sound is clear and setup was easy. Highly recommend.",
"date": "2024-03-05T00:00:00.000Z",
"dateRaw": "Reviewed in the United States on March 5, 2024",
"verifiedPurchase": true,
"reviewerName": "Jane D.",
"reviewerProfileUrl": "https://www.amazon.com/gp/profile/amzn1.account.ABC",
"helpfulVotes": 12,
"foundHelpfulText": "12 people found this helpful",
"variant": "Color: Black",
"country": "United States",
"source": "product-page",
"marketplace": "amazon.com",
"productUrl": "https://www.amazon.com/dp/B08N5WRWNW",
"scrapedAt": "2026-06-07T00:00:00.000Z"
}

Important: Amazon's anonymous-review ceiling (real limits, 2026)

Amazon limits how many reviews can be read without logging in. As of 2026 the dedicated /product-reviews/ page is a hard sign-in wall for anonymous traffic, so the anonymous (fast) route returns the recent, featured review "medley" embedded on the product page — typically about 10–20 reviews per ASIN, fully populated (rating, title, body, verified, reviewer, date, helpful votes, variant), together with the aggregate rating and Amazon's "Customers say" AI summary.

This is honest and deterministic: the fast route does not return a product's entire review history. It returns the reviews Amazon surfaces publicly without a login. When Amazon gates further pages the actor stops cleanly and records a warning — it never fabricates data and never crashes.

To read more than the public medley, use reviewDepth="deep" with your own Amazon cookie (next section).


Review depth — fast vs deep

  • fast (default) — anonymous scraper. Returns the recent featured medley (~10-20 reviews/ASIN) plus the aggregate rating and "Customers say" AI summary. No login, no extra setup, fully deterministic.
  • deep — pages past the anonymous ceiling (up to ~100 reviews per ASIN per star filter) by reusing your own logged-in Amazon session cookie. This is self-hosted: there are no paid third-party services involved. You supply your cookie in amazonCookies; the actor reads the page-scoped CSRF token and paginates Amazon's own medley-filtered-reviews endpoint, mapping every review into this actor's exact output schema (source: "product-reviews-ajax").
    • No cookie + deep → the run records a DEEP_NO_COOKIE warning and falls back to the fast route for all ASINs. It never crashes.

To page past the public medley you must request as a logged-in Amazon session. Paste your own Amazon session cookies into the optional amazonCookies input (and set reviewDepth="deep"). The actor reads the page-scoped reviewsCsrfToken from /dp/, then pages medley-filtered-reviews/get across every star bucket (5★→1★), deduping by review id, up to maxReviewsPerAsin.

  1. Log in to https://www.amazon.com in Chrome. This is your own session — use a throwaway account, never your primary login.
  2. Open DevTools (F12) → Application tab → Storage → Cookies → https://www.amazon.com. Copy these cookie name=value pairs and join them with ; into one line:
    • at-main, sess-at-main, session-id, session-id-time, session-token, ubid-main, x-main (optional: lc-main, i18n-prefs)
  3. Paste the resulting string into the amazonCookies field and set reviewDepth to deep, e.g.:
    session-id=131-1234567-...; ubid-main=133-...; x-main=Atza|...; at-main=Atza|...; sess-at-main="..."; session-token=...; session-id-time=...
    You can also paste the entire Cookie: request header straight from DevTools → Network → any amazon.com request → Request Headers → Cookie; the actor parses it as-is.

Behavior & limits

  • Valid cookie → paginated AJAX, up to ~100 reviews per ASIN per star filter (bounded by maxReviewsPerAsin). route: cookie-ajax in the summary.
  • Expired/rejected cookie → the run records a COOKIE_EXPIRED warning and falls back to the anonymous medley for that ASIN (no crash). Re-export fresh cookies and re-run.
  • Cookies are session-scoped (they expire — typically days to weeks). The amazonCookies field is stored as a secret input and is your own session, never shared.
  • IP soft-block vs. dead cookie are handled separately. If Amazon serves a 404/"Page Not Found" to a flagged residential IP (even with a perfectly valid cookie), the actor rotates to a fresh residential IP up to 4× before giving up, then falls back to the anonymous route — it does not mislabel the cookie as expired. A genuine sign-in wall is what triggers COOKIE_EXPIRED.

Robustness

  • No reviews / invalid ASIN → the run succeeds with a NO_REVIEWS warning (recorded under the WARNINGS key in the run's key-value store). No junk rows.
  • CAPTCHA / soft block → the session is retired and the request is retried on a fresh proxy IP. If every ASIN is blocked, the run fails with an actionable BLOCKED error and a FAILURES record.
  • Partial results → ASINs that succeed still return data even if others are gated or blocked.
  • Run summary → a SUMMARY record (per-ASIN extracted count, pages, blocked/gated flags) is written to the key-value store on every run.

Tips

  • Start with sortBy: "recent" to get the freshest signal, or helpful for the most-voted reviews.
  • Use filterByStar: "critical" to pull only 1–3★ reviews for complaint mining, or positive for testimonials.
  • Lower maxConcurrency (1–2) if you see blocks on large batches.