Amazon Reviews Scraper avatar

Amazon Reviews Scraper

Pricing

$1.50 / 1,000 review returneds

Go to Apify Store
Amazon Reviews Scraper

Amazon Reviews Scraper

Scrape Amazon customer reviews by ASIN: star rating, title, full review text, author, date, verified-purchase badge and helpful votes, plus the product's overall rating and how many ratings it rests on. One row per review, across any Amazon marketplace.

Pricing

$1.50 / 1,000 review returneds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 hours ago

Last modified

Share

Amazon Reviews Scraper: what buyers actually wrote, by ASIN

This amazon reviews scraper takes a list of ASINs and returns the customer reviews as structured JSON: the star rating, the headline, the full review text, who wrote it, when, whether Amazon confirmed they bought it, and how many people found the review useful. One row per review.

Every row also carries the product's overall rating and the number of ratings behind it, so a single row tells you both what one buyer said and how much that opinion counts against the rest.

What you get

  • The full review text (body), not a truncated preview. Amazon hides part of a long review behind an expand control; the whole thing comes back.
  • The headline and the star rating as separate fields (title, rating), so a one-star complaint and its subject line are both queryable.
  • Verified-purchase status (verified_purchase) as a real boolean, which is the fastest filter for separating buyers from commenters.
  • Helpful votes (helpful_votes) as a number, parsed out of Amazon's localised phrasing.
  • The reviewer's marketplace (reviewer_country). Amazon mixes reviews written on other marketplaces into a product page, and that field is what tells you which ones.
  • The product's aggregate on every row: product_average_rating and product_total_ratings.
  • Any Amazon marketplace, by two-letter country code.

Why scrape Amazon reviews

Reviews are the only place a product's real failure modes are written down. A spec sheet says the battery is 5000 mAh; the reviews say it drops to half after four months, and they say it in the buyer's own words with a date attached. For anyone selling, sourcing, or competing against a product, that text is the research.

The reason it needs scraping is that Amazon stopped serving its dedicated reviews page to anyone without an account. A request for it now returns a page-shaped response with no reviews in it, no error, and no sign that anything was withheld, which is the worst possible failure for a pipeline: it looks like the product has no reviews. This actor reads them where they are still served.

That does set the ceiling. What comes back is the set Amazon shows on the product page, a mix of most-helpful and most-recent, typically eight to thirteen per product. It is a representative sample with the aggregate attached, not the complete review history.

Input

FieldTypeRequiredDefaultDescription
asinsarray of stringsyesOne ASIN per line, e.g. B0BXLJ936Z.
countrystringnodeMarketplace country code: de, nl, us, uk, fr, it, es.
maxReviewsPerProductintegerno20Cap per product, 1 to 50.

The ASIN is in every Amazon product URL, directly after /dp/. Pick the marketplace the product is actually sold in: an ASIN that does not exist on that marketplace is reported rather than returned empty.

Output

One row per review.

{
"asin": "B0BXLJ936Z",
"marketplace": "www.amazon.de",
"product_average_rating": 4.5,
"product_total_ratings": 771,
"review_id": "R1N3PB2BWLOARX",
"rating": 5.0,
"title": "Sound-Revolution für das Wohnzimmer – Aber mit einem kleinen „Aber\"",
"body": "Design & Erster Eindruck. Das Design des Era 300 ist eigenwillig ...",
"author": "In recensione veritas",
"date": "Bewertet in Deutschland am 29. April 2026",
"reviewer_country": "Deutschland",
"verified_purchase": true,
"helpful_votes": 23
}

Use cases

Finding the real objections before you sell. Pull the reviews for the products you compete with and read the one- and two-star bodies. What buyers complain about is the copy your own listing needs to answer, and it is written in their vocabulary rather than yours.

Sourcing and quality control. Before committing to a supplier's product, read what buyers of the equivalent listings say breaks. Filter on verified_purchase to drop the noise, then sort by helpful_votes to find the complaints other buyers recognised.

Tracking sentiment after a change. Run the same ASIN on a schedule and watch date and rating move. A packaging change, a supplier switch or a firmware update shows up in reviews within weeks, well before it shows up in the aggregate, because the aggregate is diluted by every rating that came before.

Feeding a summarisation pipeline. Each row is a complete review with its rating, date and credibility signals attached. That is enough context for a model to weigh a review rather than just read it, and the aggregate on every row gives it the baseline to compare against.

How it compares

This actorTypical alternative
Review textFull body, expand control's hidden text removedOften truncated at the fold
Verified purchaseBoolean fieldSometimes absent
Helpful votesParsed to a number from localised textLeft as a raw string, or missing
Reviewer marketplaceReturned per reviewNot distinguished
Product aggregateOn every rowSeparate call, or absent
DepthThe product page's set, typically 8-13Claims of full pagination, which now needs an account

Be sceptical of any Amazon review scraper advertising unlimited pagination today. The paginated reviews page requires a signed-in session, so a tool reaching it is either using someone's account credentials or quietly returning the same product-page set this one does.

Pricing

Priced per review returned. Products with no reviews are reported in the run summary and cost nothing. All pricing is pay-per-event, so you only pay for results you receive. There are no per-compute-unit charges.

Limits and gotchas

  • Roughly 8 to 13 reviews per product, not the full history. Amazon's paginated review pages require an account and are not used here.
  • The selection is Amazon's, weighted to most-helpful and most-recent. Treat it as a sample, and use product_total_ratings for the population size.
  • date is the line Amazon printed, in that marketplace's language and format, rather than a normalised timestamp. reviewer_country is extracted from it.
  • rating and helpful_votes come from localised text ("4,5 von 5", "1.234 Personen"). Where a value cannot be parsed cleanly it is left empty rather than guessed at.
  • An ASIN absent from the chosen marketplace returns an error for that row, not an empty review list. Change country rather than retrying.
  • Free Apify plans are capped at 10 rows per run. Split larger lists across runs or upgrade to remove the cap.

FAQ

Where do I find a product's ASIN? In the product URL, straight after /dp/. For amazon.de/dp/B0BXLJ936Z the ASIN is B0BXLJ936Z.

Can I get every review a product has? No, and be wary of anything claiming otherwise. Amazon's full review history is behind a signed-in session. This returns the set shown on the product page, with the aggregate so you know what fraction that is.

Why is a review in a different language than the marketplace I asked for? Amazon shows reviews written on other marketplaces alongside local ones. reviewer_country tells you which, so you can filter them out.

Can I sort or filter by star rating? Not at fetch time; the actor returns what the product page shows. Filter the dataset on rating afterwards.

Does it work for any Amazon country? Yes, pass the two-letter code in country. The product must exist on that marketplace.