Amazon Reviews Scraper — Customer Reviews & Ratings avatar

Amazon Reviews Scraper — Customer Reviews & Ratings

Pricing

Pay per event

Go to Apify Store
Amazon Reviews Scraper — Customer Reviews & Ratings

Amazon Reviews Scraper — Customer Reviews & Ratings

Customer reviews and rating data for any Amazon product, in any marketplace: star rating, review title and body, reviewer, country, date, verified-purchase flag and helpful votes, plus the product's overall rating and total rating count. Give ASINs or product URLs. Pay per review.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Tedj MEABIOU

Tedj MEABIOU

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

An amazon reviews scraper that returns amazon customer reviews and amazon product reviews for any product, in any marketplace, as structured rows: star rating, review body, reviewer, the country the review came from, date, Verified Purchase flag, helpful votes and the variation bought — plus a product row carrying amazon ratings and the total rating count.

It turns amazon product reviews into amazon review data you can query, with amazon ratings attached to every product. Give it ASINs or product URLs. No login, no amazon review api key, no browser. It bills per row, and three filters cut what you pay for before you are billed. Read the Scope section before you buy: this reads the reviews Amazon shows publicly, not its full archive.

Last verified working: 2026-08-29.

What does the Amazon reviews scraper do?

You give it products. It gives you their amazon product reviews as rows you can sort, filter and export.

  • review rowsrating (1–5), title, text, author, country, date_text, verified, helpful_votes, variant, and a permalink to the review.
  • product rowstitle, brand, rating, ratings_count, reviews_visible, availability, image, features, price and currency.
  • status rows — free: per product, what was delivered, how many were filtered, and why anything failed.

Amazon mixes international reviews into a product page, so country lets you separate domestic from imported opinion — a UK page returned reviews from three countries in testing.

Amazon reviews by ASIN, URL or marketplace

  • asins takes either form: a bare amazon asin like B0BSHF7WHW, or a full product URL from any marketplace.
  • A URL's marketplace is used automatically. https://www.amazon.co.uk/dp/B09G9FPHY6 is scraped from the UK site and priced in GBP without you setting anything.
  • domain sets the marketplace for bare ASINs. Twenty are supported: com, co.uk, de, fr, it, es, ca, com.au, co.jp, in, com.mx, com.br, nl, se, pl, sa, ae, sg, com.tr, com.be.

The same ASIN on two marketplaces is two products, because the reviews genuinely differ. An ASIN and its own URL are one product, fetched and billed once — so amazon reviews by marketplace comparisons are explicit rather than accidental.

Amazon negative reviews without paying for the five-star ones

Three filters run before billing:

  • minRating keeps only reviews at or below a star rating. 2 is the classic complaints feed.
  • verifiedOnly keeps only verified purchase reviews, which is the fastest way to strip noise.
  • requireText drops rating-only reviews with no written body.

Filtered rows are never charged. In a verified run, a product with 8 visible reviews delivered 0 rows under minRating: 3 — all its reviews were above the ceiling — and the run cost a fraction of a cent instead of billing for eight rows nobody asked for. That is what makes amazon negative reviews monitoring across a catalogue affordable.

Amazon review data for sellers, brands and analysts

  • Review monitoring. Schedule a run over your ASINs and your competitors' and track rating and review volume over time — every row is timestamped.
  • Amazon competitor reviews. Pull the visible review set for a rival's catalogue and read what their customers actually complain about.
  • Voice of customer. Rated, dated review text with the reviewer's country and the variation bought is the right shape for amazon review sentiment analysis or topic modelling.
  • Listing audits. verified and helpful_votes separate genuine purchase feedback from noise.
  • Amazon seller research. ratings_count and rating on the product row give you amazon product rating data for a whole ASIN list in one run.

Input

FieldWhat it does
asinsASINs (B0BSHF7WHW) or product URLs from any marketplace. A URL's marketplace is used automatically.
domainMarketplace for bare ASINs. Twenty supported, listed above.
minRating0 = everything. 15 = only reviews at or below that rating. Never charged for what it drops.
verifiedOnlyKeep only Verified Purchase reviews.
requireTextDrop rating-only reviews with no written body.
maxReviewsPerProduct0 = every review visible on the page. N = the first N.
includeProductRowEmit the per-product rating summary row.
sessions, perIpParallel proxy sessions and the pace of each. Leave alone unless a run is throttled.
proxyConfigurationApify Proxy. Required — Amazon captchas datacentre traffic that is not rotated. Datacentre is a fine starting point: the run escalates to residential by itself when Amazon pushes back.

Example: a complaints feed across a catalogue

{ "asins": ["B0BSHF7WHW", "B09B8V1LZ3"], "minRating": 2, "requireText": true, "verifiedOnly": true }

Example: the same product in two marketplaces

{ "asins": ["B0BSHF7WHW", "https://www.amazon.co.uk/dp/B09G9FPHY6"], "maxReviewsPerProduct": 0 }

Example: rating summaries only, no review rows

{ "asins": ["B0BSHF7WHW", "B08N5M7S6K"], "maxReviewsPerProduct": 0, "minRating": 1, "requireText": true }

Output

{
"type": "review", "asin": "B0BSHF7WHW", "domain": "com", "marketplace": "US",
"product_title": "Apple 2023 MacBook Pro Laptop", "review_id": "RCA7TI5EBH5VK",
"rating": 5.0, "title": null,
"text": "I upgraded from the i9 Intel MacBook Pro from 2019, and this laptop seriously blows that away.",
"author": "Michael M", "country": "the United States", "date_text": "July 22, 2023",
"verified": true, "helpful_votes": 65, "variant": null,
"url": "https://www.amazon.com/gp/customer-reviews/RCA7TI5EBH5VK"
}

The product row carries the rating summary:

{
"type": "product", "asin": "B0BSHF7WHW", "domain": "com", "marketplace": "US",
"title": "Apple 2023 MacBook Pro Laptop", "brand": null,
"rating": 4.7, "ratings_count": 387, "reviews_visible": 13,
"price": null, "price_display": null, "currency": "USD",
"availability": null, "image": "https://m.media-amazon.com/images/I/example.jpg",
"features": ["Apple M2 Pro chip"], "url": "https://www.amazon.com/dp/B0BSHF7WHW?th=1&psc=1"
}

status rows carry target, asin, domain, status, reviews, filtered, duplicates, error and fetched_at.

How much does it cost?

Pay per event: one per delivered review row and one per product row. Free: status rows, every review removed by a filter, products with no visible reviews, and failed products. An ASIN and its URL are one product, fetched and billed once per run.

Verified runs behind this listing cost $0.0002–$0.0024 each in platform compute. Exact per-row pricing is on this page's pricing tab.

Amazon reviews scraper in Python, JavaScript, curl, n8n, Make or an AI agent

In Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("kestrel/amazon-reviews-scraper").call(run_input={
"asins": ["B0BSHF7WHW"], "minRating": 2, "verifiedOnly": True, "requireText": True,
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["type"] == "review":
print(row["rating"], row["country"], row["text"][:80])

In JavaScript (Node):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('kestrel/amazon-reviews-scraper').call({
asins: ['B0BSHF7WHW', 'https://www.amazon.co.uk/dp/B09G9FPHY6'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((i) => i.type === 'product').map((p) => [p.marketplace, p.rating, p.ratings_count]));

With curl, synchronously:

curl -X POST "https://api.apify.com/v2/acts/kestrel~amazon-reviews-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H 'Content-Type: application/json' \
-d '{"asins":["B0BSHF7WHW"],"minRating":2}'

For n8n, Make and Zapier, add the actor as a step through Apify's integration and map rating, text and date_text into an alert — "new one-star review on any of my ASINs" is two nodes. For AI agents, the actor is callable over Apify's MCP server. To get amazon reviews csv, run it and use the dataset's Export button, or append ?format=csv to the dataset items API.

Scope — read this before you buy

This reads the reviews Amazon publishes on the public product page, which is roughly 8–13 reviews per product, ordered by Amazon's own mix of recent and most-helpful. Amazon requires a signed-in session for its full review archive, and this actor deliberately does not attempt that — no account sharing, no cookie injection, no session resale. If you need every review a product has ever had, this is not the tool, and no honest listing should tell you otherwise.

What you do get for every ASIN is the complete rating summary (rating, ratings_count) plus that visible sample, which is enough for rating trends, complaint detection and competitor tracking across a large catalogue.

Likewise, price is best-effort. Amazon frequently withholds price markup from unauthenticated clients — on a 1.8 MB product page in testing there was no price element at all. When Amazon serves one, you get it; treat the field as a bonus, not a price-tracking feature. If you want prices and rank, use the companion Amazon Search & Best Sellers actor, which reads them from result pages where Amazon does render them.

This reads publicly visible product pages with no login and no account. Reviews are published deliberately for anyone to read, and hiQ v. LinkedIn is the usual US reference point for scraping public data.

Two caveats worth taking seriously. Reviews contain personal data — a display name, a country, someone's words — so under GDPR you are a controller once you store them: have a lawful basis, retain only as long as you need, and do not republish reviewer identities. This actor exposes no email, phone or full legal name, and has no input that would produce one. Separately, Amazon's Conditions of Use discourage automated access, making this a terms question rather than a criminal one, with the risk on whoever operates the run. None of this is legal advice; if your use is commercial or large, ask a lawyer.

Limits and honest notes

  • 8–13 reviews per product, as covered in Scope. reviews_visible on the product row tells you exactly how many were on the page.
  • title is often null. The compact review blocks Amazon renders on product pages frequently omit a headline; the body is always there.
  • Amazon serves a captcha to repeat callers. The run detects it and rotates to a fresh IP rather than parsing the captcha page as an empty product.
  • Cheap proxies first, residential only when Amazon pushes back. A run starts on the proxies you chose — datacentre is the cheapest — and rotates to a fresh IP on a captcha or a 503. When the same page is refused twice in a row that is the IP range being blocked, not the page, so the run stops trusting that pool: its sessions re-open on a residential proxy and stay there for the rest of the run. Nothing to configure, no run has to fail to teach it, and a run that is never refused never leaves the cheap pool — so a run costs the least that still succeeds. The run's SUMMARY reports it as http.escalated.
  • country is where the review was written, not where the reviewer lives — Amazon phrases it "Reviewed in …".
  • Rating is a float 1–5. Amazon renders "5.0 out of 5 stars"; the row carries 5.0.
  • brand and availability are frequently null on pages where Amazon does not render them.

FAQ

Does it need an Amazon API key or login?

No. There is no public amazon review api for product reviews, and Amazon's Product Advertising API requires an affiliate account with sales requirements and does not return review text. This uses neither — it reads the public product page.

Can I download Amazon reviews as CSV or Excel?

Yes. Every run writes an Apify dataset, exportable to CSV, Excel, JSON or XML from the Console or over the API with ?format=csv. That is the quick path to download amazon reviews for an ASIN list.

How do I get only Amazon negative reviews?

Set minRating to your ceiling (2 for one- and two-star) and add requireText: true so you only pay for reviews with actual words. verifiedOnly: true strips unverified noise. Everything above the ceiling is dropped before billing.

How many reviews will I get per product?

Roughly 8–13 — the set Amazon shows publicly. This is a real limit, not a setting, and it is the honest answer that some listings in this category avoid giving. reviews_visible on each product row reports the exact number.

Can I scrape Amazon reviews by ASIN in bulk?

Yes. Put as many ASINs in asins as you like; each is fetched once and billed once. Bulk amazon reviews are billed per delivered row, so cost scales with data rather than time, and the filters cut it directly.

Which marketplaces are supported?

Twenty, listed in the input section. A product URL selects its own marketplace automatically; bare ASINs use domain. The same ASIN in two marketplaces is treated as two products because the reviews and ratings genuinely differ.

Does it return prices?

Best-effort only — see Scope. Amazon commonly withholds price markup from unauthenticated clients. For prices and keyword rank, use the companion Amazon Search & Best Sellers actor.

Can I get the star-rating breakdown?

The product row carries rating and ratings_count for every ASIN. The 5/4/3/2/1 percentage split is included when Amazon renders it on the page, which is not always.

Can I scrape Amazon reviews without an API?

That is what this is — amazon reviews without api access, no key to apply for and no affiliate account. You call an Apify actor and read rows back.

Is there a free tier?

Products with no visible reviews, filtered reviews, status rows and failed products are always free, so a run that finds nothing costs nothing beyond a fraction of a cent of platform compute. Apify's free plan includes monthly credit you can spend here.

Product review data that keeps its structure

Three fields decide whether a review corpus is analysable or just text, and this actor keeps all three separate.

  • Rating apart from words. rating and text are distinct, so a four-star review with an angry paragraph reads differently from a four-star review saying "fine". Weight them independently.
  • Verified apart from unverified. verified is a boolean on every row. Filtering to Verified Purchase before analysis removes a large share of the noise that makes product review data unreliable.
  • Helpfulness as a signal. helpful_votes is the crowd's own weighting. Sorting by it surfaces the reviews that actually shape a buying decision, which is rarely the newest one.

Add country and variant and you can answer questions the Amazon interface will not: does the 128 GB variant generate more complaints than the 256, and are the complaints coming from one market?

Amazon ratings across a catalogue

Every product row carries rating and ratings_count, so a single run over an ASIN list gives you amazon ratings for the whole catalogue in one table. Schedule it weekly and ratings_count becomes review velocity — how fast each product is accumulating opinion — while rating shows whether that opinion is improving or slipping.

Because includeProductRow can be left on with maxReviewsPerProduct: 0 and a strict filter, you can run a cheap catalogue-wide rating sweep that delivers product rows and almost no review rows.

Comparing marketplaces properly

The same ASIN often sells in a dozen Amazon marketplaces, and its reception differs by market. Passing both B0BSHF7WHW and https://www.amazon.co.uk/dp/B09G9FPHY6 produces two product rows with their own ratings, currencies and review sets, because they genuinely are two different audiences.

That is why the run treats an ASIN plus a marketplace as the identity, rather than the ASIN alone. Mixing a bare ASIN with its own URL still collapses to one product — the de-duplication is on identity, not on string.

What this deliberately does not do

No login, no cookie injection, no session resale, and no attempt at Amazon's signed-in review archive. No seller contact details, no buyer emails. The public product page is the boundary, and there is no input that crosses it.

Ready-made runs

Each link opens this actor with the input already filled in — press Start and it runs. Every one is capped, so what it bills is on the page before you run it. What each returns is spelled out at mtedj.github.io/kestrel-actors-examples/recipes.html.

Reviews tell you what customers said. Search and charts tell you what ranks and what sells — feed the ASINs from one into the other:

All of them bill per delivered row, never charge for rows a filter or a spending limit removed, and write an Apify dataset you can export to CSV, Excel or JSON.