Amazon Reviews Scraper (US): Export & Monitor Reviews avatar

Amazon Reviews Scraper (US): Export & Monitor Reviews

Pricing

from $1.60 / 1,000 reviews

Go to Apify Store
Amazon Reviews Scraper (US): Export & Monitor Reviews

Amazon Reviews Scraper (US): Export & Monitor Reviews

Scrape Amazon.com reviews with no login. Filter by star rating, date and verified purchase, get up to about 1,000 reviews per product including photo and video reviews, and export CSV, JSON or Excel. Schedule it to get only new reviews.

Pricing

from $1.60 / 1,000 reviews

Rating

0.0

(0)

Developer

Stan Van Rooy

Stan Van Rooy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

Share

Amazon Reviews Scraper (US): Export & Monitor Reviews โญ

Free-plan sample: Apify Free accounts can collect up to 100 result rows total per run, shared across all inputs. Upgrade your Apify plan for larger runs. Normal Actor charges apply. The sample resets each run; it is not a daily or monthly quota.

The Amazon Reviews Scraper exports Amazon.com product reviews to CSV, JSON or Excel with no Amazon login, no cookies and no API key. Extract clean, structured review rows with 1 to 5 star ratings, review headlines, full text, dates, verified purchase status, helpful votes, and reviewer photo and video URLs.

Built with an automated incremental review monitor: schedule runs on Apify using a collectionId to track customer sentiment over time. The engine automatically deduplicates against past runs and only delivers newly posted reviews. Easily monitor negative reviews (1 and 2 stars) on your own products or competing brands to spot product defects, quality issues, and customer complaints as soon as they appear.

Built for brand protection, Amazon FBA sellers, product engineering teams, market research, and LLM sentiment analysis.

๐Ÿ’Ž Scraper Capabilities and Features

FeatureVerified CapabilityTechnical Notes
Extraction DepthUp to ~1,000 reviews per productCombines public Woot review feed (up to 100/star) with product-page media reviews
Media ExtractionCustomer photos and video URLsFull resolution images and video streams attached to customer reviews
Precision FilteringKeywords, media, helpful votes, Vine exclusionFilter by required/excluded words, media presence, helpfulness, and Vine status
Automated MonitoringStateful deduplication via collectionIdRemembers delivered reviews across runs; schedule to collect only new reviews
Authentication & Safety100% AnonymousNo customer Amazon login, cookies, or external API keys required
Strict Data SchemaStandardized JSON, CSV, and ExcelValidated star ratings (1-5), ISO dates, review country, verified purchase flag
Run DiagnosticsDetailed SUMMARY and OUTCOMES recordsExplicit accounting of fetched counts, deduplication, and stoppage reasons
Transparent BillingPay only for delivered reviewsPay-per-result model; runs with zero new reviews charge zero review events

๐Ÿš€ How to scrape Amazon reviews

  1. Paste one or more Amazon.com product URLs or ASINs (up to 50 per run).
  2. Choose how many reviews you want per product and, if you like, which star ratings (for example [1, 2] for negative reviews).
  3. Click Start, then download the results as CSV, JSON or Excel.

Try it with 10 reviews on one product first to see what the data looks like.

๐Ÿ“ How many reviews do you get?

Amazon hides most reviews from visitors who are not logged in, so no login free scraper can promise every review on a product. This scraper combines two public sources and removes duplicates between them:

  • The Amazon.com review feed that Amazon publishes on Woot (an Amazon company). It shows up to 100 reviews per list, with one list for each star rating and sort order.
  • The photo and video reviews on the Amazon product page: every review where the customer added a photo or video. On popular products that is often several hundred reviews.
SettingReviews per product
Newest reviews (default)Up to 100 of the newest reviews
Newest reviews with star ratings, for example [1, 2]Up to 100 of the newest reviews for each star you pick, so up to 200 for 1 and 2 stars
Maximum coverageThe newest and the most helpful reviews for every star, plus all photo and video reviews, duplicates removed: often 500 to 1,000

In September 2026 tests on Apify, Maximum coverage returned 1,036, 999 and 749 unique reviews for three popular products, with the oldest going back to 2023. Before photo and video reviews were added, the same products gave about 650, 650 and 595. Products with fewer reviews return fewer.

Amazon shows the photo and video reviews on most products (9 of 10 in our test batch). When it does not, the product still returns its regular reviews and the run report says so.

Maximum coverage reads every star rating separately, so 1 star reviews can make up as much of the result as 5 star reviews. That is great for reading complaints and praise side by side, but it is not a random sample, so do not use it to calculate a product's average rating.

๐Ÿ”” Monitor new Amazon reviews

Add a collectionId to your input and schedule the run (daily, weekly, whatever you need) in Apify. The scraper remembers every review it has delivered for that collection and skips them next time. You are only charged for new reviews, so a run with nothing new costs nothing for reviews.

Example: watch two products for new verified 1 and 2 star reviews.

{
"products": [
"https://www.amazon.com/dp/B0BN7M8CH4",
"B0CP9YB3Q4"
],
"ratings": [1, 2],
"verifiedOnly": true,
"mode": "expanded",
"maxReviewsPerProduct": 200,
"collectionId": "my-negative-reviews"
}

Good to know:

  • Use one collection ID per watch list. A new collection ID starts with a clean history.
  • Let each run finish before the next one starts. If two runs use the same collection at the same time, the second one stops with a clear message.
  • A collection remembers up to 200,000 reviews.
  • Want alerts? Connect the run to Apify integrations (Slack, email, Zapier, Make or a webhook) so new reviews reach you as soon as the run finishes.
  • Already have results from earlier runs? Pass their review_id values in knownReviewIds to skip them without a collection.

๐Ÿ“Š What data can you scrape from Amazon reviews?

  • Star rating (1 to 5), review title and full review text
  • Review date, plus the country the review was written in
  • Verified purchase and Vine review flags
  • Helpful vote count (Woot feed reviews)
  • Photo and video URLs attached to the review
  • Reviewer name (optional, off by default)
  • ASIN, Amazon product URL and a stable review_id for each review, plus Amazon's own review ID for photo and video reviews

๐Ÿ“ฅ Input

FieldTypeNotes
productsarrayAmazon.com product URLs or 10 character ASINs, 1 to 50 per run. Required.
maxReviewsPerProductintegerMost new reviews to collect per product, 1 to 3,000. Default 100.
modestringrecent for the newest reviews, expanded for Maximum coverage. Default recent.
includePhotoVideoReviewsbooleanIn Maximum coverage, also read the photo and video reviews from the product page. Default true.
ratingsarrayStar ratings to keep, for example [1, 2]. Empty means all stars.
verifiedOnlybooleanOnly verified purchase reviews. Default false.
excludeVinebooleanExclude Amazon Vine Voice incentivized reviews. Default false.
keywordsarrayLiteral words or phrases that must appear in the review text or title.
excludeKeywordsarrayLiteral words or phrases to exclude from results.
keywordMatchstringRequire any (default) or all inclusion keywords to match.
mediaTypestringFilter reviews by media: all (default), any, images, videos, or none.
minHelpfulVotesintegerMinimum helpful votes a review must have received. Default 0.
dateFrom, dateTostringKeep reviews from this date range (YYYY-MM-DD, both days included).
collectionIdstringName of a watch list for monitoring. Each run skips reviews already delivered to it.
knownReviewIdsarrayreview_id values from earlier results to skip, up to 10,000.
includeAuthorbooleanAdd the reviewer's public name. Default false.
failOnPartialbooleanMark the run as failed when a product could not be read correctly. Collected reviews are always kept. Default true.

The input form also has advanced settings for speed, time limits and proxy use. The defaults work for most runs.

Basic input:

{
"products": ["B0BN7M8CH4"],
"maxReviewsPerProduct": 100
}

Advanced keyword and media filtering:

{
"products": ["B0BN7M8CH4"],
"mode": "expanded",
"keywords": ["battery", "charging"],
"excludeKeywords": ["gift"],
"mediaType": "any",
"minHelpfulVotes": 2,
"excludeVine": true,
"maxReviewsPerProduct": 100
}

๐Ÿ“ค Output

One row per review. A real row from a September 2026 run:

{
"review_id": "amz-us-0e7f7b5f02f489828a5439089bc2ffb428a968e0cb4cafae470b593a3be48692",
"asin": "B0BN7M8CH4",
"marketplace": "amazon.com",
"rating": 1,
"title": "FIRE HAZARD!",
"body": "DO NOT BUY UNLESS YOU WANT TO BURN YOUR PLACE DOWN!!! We bought these and liked how powerful they are to froth our milk. We've had it less than a month and the charging port melted while charging...",
"published_date": "2026-09-11",
"published_date_raw": "Reviewed in the United States on September 11, 2026",
"review_origin_country": "the United States",
"verified_purchase": true,
"vine_review": false,
"helpful_votes": 2,
"images": ["https://m.media-amazon.com/images/I/615vz1la93L.jpg"],
"videos": [],
"author": null,
"product_url": "https://www.amazon.com/dp/B0BN7M8CH4",
"source": "woot_amazon_us_reviews",
"source_url": "https://www.woot.com/review/Reviews/B0BN7M8CH4?filter=0&sort=1&isVerified=false&page=1",
"scraped_at": "2026-09-26T20:29:19.966377+00:00"
}

Field descriptions

  • review_id: Stable ID for the review. See below.
  • asin, product_url: The product you asked for.
  • rating: Star rating from 1 to 5.
  • title, body: Review headline and full review text.
  • published_date: Review date as YYYY-MM-DD.
  • published_date_raw, review_origin_country: The date line exactly as Amazon shows it, and the country it names.
  • verified_purchase, vine_review: Amazon's Verified Purchase and Vine flags.
  • helpful_votes: How many people found the review helpful.
  • images, videos: Media the reviewer attached.
  • author: Reviewer's public name when includeAuthor is on, otherwise null.
  • source, source_url: Where the review was read from.
  • scraped_at: When the review was collected (UTC).

Reviews from the product page's photo and video list have source set to amazon_product_page_media, Amazon's own review ID in amazon_review_id, and no helpful vote count. Rows also include id_type, date_status and schema_version for pipelines that need them.

About review_id: the Woot feed does not include Amazon's own review IDs, so the scraper builds a stable ID from the review's content for every row. The same review always gets the same ID, which is what makes deduplication and monitoring work. Use it as the key when you load reviews into your own database. If a reviewer edits their review, it gets a new ID.

Run report

Every run also saves a report in the Output tab: SUMMARY for the whole run and OUTCOMES for each product. For every product you see how many reviews were delivered, the date range they cover, and why collection stopped:

coverage_statusMeaning
limit_reachedYou got the number of reviews you asked for.
source_limitedThe feed had nothing more to give. This is the normal end for products with many reviews.
available_feed_exhaustedEvery review in the feed for this product was read.
page_budget_reachedThe page limit in the advanced settings stopped collection.
budget_reachedThe run hit the maximum charge you set.
incompleteStopped early because the source slowed the scraper down or a time limit was reached. Run again later or resurrect the run to continue.
unavailableThe source did not answer for this product, so nothing was collected.
partial_errorSome reviews were collected, but part of the product could not be read correctly.
extraction_failedThe product could not be read correctly at all.

Each product also has a media section showing whether its photo and video reviews were collected, and why not if they were not.

โœจ Why this Amazon review scraper

  • No login, no cookies, no API key. You never hand over an Amazon account.
  • Up to about 1,000 reviews per product. Maximum coverage combines the newest and most helpful reviews for every star with every photo and video review, well beyond the handful of reviews on a product page.
  • Built in monitoring. Reuse a collection ID and each run returns only new reviews.
  • Pay only for new reviews. Duplicates across lists, reviews from earlier runs and IDs you already have are skipped for free.
  • Filters that matter. Star ratings, verified purchases and date range.
  • Checked data. Every row has a valid 1 to 5 star rating and a real review date. Reviews that cannot be read cleanly are left out and counted in the run report instead.
  • Clear reports. Each product tells you how many reviews it delivered and why it stopped, so an empty result is never a mystery.
  • Safe to resume. If a run is interrupted, resurrect it in Apify and it continues where it left off without delivering or charging for the same review twice.
  • Fast where it counts. The newest 100 reviews of a product arrive in under 10 seconds.

๐Ÿ’ก Use cases

  • Brand and seller monitoring: Catch new negative reviews on your listings and respond quickly.
  • Competitor research: See what buyers praise and complain about in competing products.
  • Product development: Mine complaints and feature requests before your next version.
  • Review analysis and AI: Feed clean, labelled reviews into sentiment analysis, topic models or an LLM summary.
  • Marketing copy: Borrow the words real customers use in ads and product pages.

๐Ÿ”Œ Amazon reviews API: run it from code

Every Apify Actor is also an API. Call the scraper from Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("stanvanrooy6/amazon-review-scraper-us").call(run_input={
"products": ["B0BN7M8CH4"],
"mode": "expanded",
"maxReviewsPerProduct": 500,
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["rating"], review["published_date"], review["title"])

Or with cURL, getting the reviews back in one request:

curl -X POST \
'https://api.apify.com/v2/acts/stanvanrooy6~amazon-review-scraper-us/run-sync-get-dataset-items?format=json' \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"products": ["B0BN7M8CH4"], "maxReviewsPerProduct": 10}'

See the API tab above for JavaScript and more ready made snippets. This is the Apify API, not an official Amazon API.

โš ๏ธ Limits and good to know

  • Amazon.com (US) only. Links from amazon.co.uk, amazon.de and other marketplaces are rejected with a clear message. Some Amazon.com reviews were written in other countries; review_origin_country tells you which.
  • Not every review on big products. See How many reviews do you get? above.
  • Variants share reviews. Amazon groups reviews across colors and sizes, so you cannot filter by one exact variant.
  • Date filters do not reach further back. They filter the reviews the feed returns. They do not unlock older ones.
  • Maximum coverage takes time. The scraper paces its requests so the sources keep answering, which works out to about 40 seconds per product. In our tests 10 products took about 5.5 minutes and 43 products about 29 minutes; the default run time limit (60 minutes) fits a full batch of 50.
  • Output is not sorted. Reviews arrive as they are collected. Sort by published_date in your export.
  • An empty result is not proof of zero reviews. A product can have reviews on Amazon that the feed does not show. The run report tells you what happened.
  • Slowdowns do not fail the run. If the source slows the scraper down, the affected products are reported as incomplete and the run still succeeds with everything collected. A product that cannot be read correctly (for example after a format change) marks the run as failed by default, and every review already collected is kept. Set failOnPartial to false to let it succeed anyway.

๐Ÿ’ฐ Pricing

This Actor uses pay per event: no subscription, you pay for the reviews you get.

  • Reviews: $2.00 per 1,000 new reviews ($0.002 each). $1.80 per 1,000 on the Apify Silver plan and $1.60 on Gold and higher.

Skipped duplicates, reviews from earlier runs in a collection and the run report are free, so a scheduled run that finds no new reviews is not charged for any. Collecting 500 reviews costs $1. Set a maximum charge per run in Apify and the scraper stops cleanly when it reaches it. New Apify accounts include monthly free usage credit, which is enough to try the scraper at no cost.

โ“ FAQ

Can I scrape all reviews of an Amazon product?

Not on products with thousands of reviews. Amazon only shows its full review history to logged in shoppers. Without a login this scraper gets up to about 1,000 reviews per product with Maximum coverage, and the run report tells you exactly how many it found.

Is there a free Amazon review scraper?

You can run this one for free within the monthly free usage credit that comes with every Apify account. After that it is $2.00 per 1,000 reviews with no subscription.

Do I need an Amazon account or login?

No. The scraper runs without any Amazon account, cookies or API key.

How do I export Amazon reviews to CSV or Excel?

Run the scraper, open the Output tab and download the dataset as CSV, Excel, JSON or XML. You can also read it straight from the Apify API.

Can I get only negative reviews?

Yes. Set ratings to [1, 2]. Add verifiedOnly: true to keep only verified purchases.

How do I get alerts for new Amazon reviews?

Create a task with a collectionId, schedule it in Apify, and connect it to an integration such as Slack, email, Zapier, Make or a webhook. Each run delivers only the reviews you have not seen yet.

Does it work for Amazon UK, Germany or other countries?

No, only Amazon.com (US) products are supported for now.

Why did my run return zero reviews?

The feed may have no reviews for that product, your star or date filters may have excluded all of them, or every review was already in your collection. The run report (SUMMARY) tells you which one it was.

Are these Amazon's own review IDs?

review_id is a stable ID built from the review's content, the same across runs and sources, so use it to deduplicate. Reviews from the photo and video list also carry Amazon's own review ID in amazon_review_id; the Woot feed does not include it.

The scraper only collects publicly visible reviews, without logging in or bypassing access controls. Reviewer names are off by default. Reviews can still contain personal data, so handle them in line with GDPR, CCPA and your own use case. If you are unsure, consult a lawyer.

Is this Actor made by Amazon?

No. It is an independent tool and is not affiliated with Amazon or Woot.

๐Ÿค Feedback and feature requests

I actively maintain this Actor. Found a bug or need a field? Open an issue on the Issues tab with the run ID and the ASIN.

  • TikTok Shop Scraper: TikTok Shop reviews, star ratings and product data from any product URL, up to 25,000 reviews per product.
  • Universal Shopify Review Scraper: detects the review app (Judge.me, Loox, Yotpo, Okendo, Stamped and more) on any Shopify store and extracts all reviews.

Built with โค๏ธ for the Apify community

Select reviews by content and media

Use keywords to keep reviews whose title or body contains any supplied word or phrase. Set keywordMatch to all to require every phrase. excludeKeywords removes reviews containing any excluded phrase. Matching is case-insensitive and supports Unicode text; phrases are literal substrings, not regular expressions.

mediaType accepts all, any (photos or videos), images, videos, or none. For broader media coverage, use mode: "expanded" with includePhotoVideoReviews: true. minHelpfulVotes keeps reviews at or above a helpful-vote threshold; zero disables it. When positive, reviews without a helpful-vote count are excluded, including the Amazon product-page media source. excludeVine excludes reviews explicitly marked as Vine reviews.

All filters combine with ratings, verified purchase and date controls. Only matching new reviews are delivered and charged. The scraper continues through available pages after excluded reviews, subject to source, page and time limits. Keywords filter the retrieved sample; they do not search Amazon's entire review history or add other marketplaces. A filtered run can correctly return no reviews. The coverage report includes filtered_observations, which counts observations across overlapping source lists, not distinct reviews.

{
"products": ["B0BN7M8CH4"],
"mode": "expanded",
"maxReviewsPerProduct": 50,
"keywords": ["battery", "sound"],
"keywordMatch": "any",
"excludeKeywords": ["replacement"],
"mediaType": "any",
"excludeVine": true
}