# Amazon Reviews Scraper (`piotrv1001/amazon-reviews-scraper`) Actor

Scrape the Amazon reviews shown on product pages, across up to 21 marketplaces: rating, title, text, author, date, country, verified purchase, variant, helpful votes and images, deduplicated. Plus each product's star histogram and "Customers say" summary. Export to JSON/CSV.

- **URL**: https://apify.com/piotrv1001/amazon-reviews-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce, AI, SEO tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.00 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 🚀 Amazon Reviews Scraper: Customer Reviews from 21 Marketplaces

The **Amazon Reviews Scraper** collects the customer reviews Amazon shows publicly on a product's page and exports them as JSON, CSV or Excel: rating, title, full text, author, date, country, verified purchase, variant, helpful votes and review images. It can visit the same product on all 21 Amazon marketplaces and merge the results without duplicates, and it saves each product's star histogram and AI "Customers say" summary. Use it for Amazon review analysis, sentiment analysis or as a lightweight Amazon reviews API.

### 🎯 Use Cases

- **Amazon review checker**: read what buyers in the US, UK, Germany, Japan and more say about a product before you buy, sell or source it.
- **Review and sentiment analysis**: feed review text, ratings and countries into a spreadsheet, BI tool or LLM to find recurring complaints and praise.
- **Competitor research**: compare the reviews and "Customers say" aspects of rival products side by side.
- **Product development**: collect feedback on fit, durability, battery life or whatever your category cares about, per variant.
- **Download Amazon reviews**: export reviews to CSV or Excel for reporting, without copying them by hand.

### ✨ Features

- **Up to 21 marketplaces per product**: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .co.jp, .in, .com.au, .com.mx, .com.br, .nl, .se, .pl, .com.tr, .ae, .sa, .sg, .com.be and .eg. Pick some, or "All marketplaces".
- **Deduplicated**: the same review often appears on several marketplaces ("Top reviews from other countries"). Each review is saved and billed once.
- **Rich review rows**: star rating, title, full text with paragraphs, author, ISO date, reviewer country, verified purchase badge, purchased variant, helpful votes, review images and a video flag.
- **Product summary** (free): rating, ratings count, star histogram, "Customers say" summary and aspects with sentiment and mention counts, saved per product in the run's key-value store (`SUMMARIES`).
- **Fair billing**: a marketplace where the product is not sold is skipped and costs nothing.

### 🛠️ How It Works

1. **Paste ASINs or Amazon product URLs**, one per line.
2. **Pick marketplaces**: leave empty for the product's own site, choose a few, or choose "All marketplaces" for the most reviews.
3. **Run the scraper** and download the reviews as JSON, CSV or Excel. The product summaries are in the "Product summaries" output.

### ⚙️ Input

| Field | What it does |
| --- | --- |
| **ASINs or product URLs** | Amazon ASINs or product page URLs, one per line. A plain ASIN is looked up on amazon.com unless you pick marketplaces. |
| **Marketplaces** | Amazon sites to collect reviews from. Empty = the product's own site. "All marketplaces" = all 21. amazon.com now shows reviews only to signed-in users, so an amazon.com product gets its reviews from the other 20 marketplaces automatically. |
| **Max reviews per product** | Stop after this many reviews for each product. Default 100. |

```json
{
    "asins": ["B0BTYCJXBK"],
    "marketplaces": ["all"],
    "maxItems": 100
}
```

### 💰 Pricing

Pay only for the reviews you get. No monthly rental.

| Event | Price | What you get |
| --- | --- | --- |
| **Review** | $0.001 per review ($1.00 per 1,000) | One unique review with all fields below |
| **Actor start** | $0.00005 per run | Charged once when the run starts |

The product summaries are free. Examples: one product on its own marketplace (~13 reviews, outside amazon.com) = about $0.013 · one product on all marketplaces (~70–150 reviews) = about $0.07–$0.15 · 1,000 reviews = $1.00.

### 📊 Sample Output Data

```json
{
    "asin": "B0BTYCJXBK",
    "productTitle": "Soundcore by Anker P20i True Wireless Earbuds, 10mm Drivers with Big Bass, Bluetooth 5.3, 30H Long Playtime",
    "marketplace": "amazon.co.uk",
    "reviewId": "R25WEBN721S128",
    "rating": 5,
    "title": "Great value earbuds with strong sound and reliable performance",
    "text": "1. First impressions\nThe wireless earbuds look sleek and compact. The case feels sturdy, and the earbuds sit securely inside...",
    "author": "vicky",
    "authorProfileUrl": "https://www.amazon.co.uk/gp/profile/amzn1.account.AGU4LTOQUV2PMI7QNHWKFRQJIVIQ",
    "date": "2026-09-30",
    "dateText": "Reviewed in the United Kingdom on 30 September 2026",
    "country": "United Kingdom",
    "verifiedPurchase": true,
    "variant": "Colour Name: Light Blue",
    "helpfulVotes": 15,
    "images": [],
    "hasVideo": false,
    "scrapedAt": "2026-10-26T12:51:35.514Z"
}
```

`marketplace` is the Amazon site the review was found on; `country` is where the reviewer is (a review from Germany can show on amazon.com). `variant` is the option the reviewer bought.

A product summary in `SUMMARIES` looks like this:

```json
{
    "asin": "B0BTYCJXBK",
    "marketplace": "amazon.com",
    "rating": 4.4,
    "ratingsCount": 117969,
    "ratingHistogram": { "1": 5, "2": 3, "3": 7, "4": 13, "5": 72 },
    "customersSay": "Customers find these earbuds to be of good quality, with impressive battery life that charges quickly...",
    "customersSayAspects": [{ "name": "quality", "sentiment": "positive", "mentions": 6477 }]
}
```

### 🔁 Schedule and Integrate

Amazon rotates the reviews it shows, so a **weekly** run per product picks up new reviews over time while the deduplication keeps each one once per run. Set it up in Apify **Schedules**, and send the reviews to **Google Sheets**, **Zapier**, **Make**, **n8n** or a webhook with Apify **integrations**.

### 🤖 Use with AI Agents (MCP)

This Actor works as a tool in Claude, ChatGPT, Cursor and other MCP clients through the Apify MCP server (`https://mcp.apify.com`). An agent can call it with:

```json
{ "asins": ["B0BTYCJXBK"], "marketplaces": ["amazon.com", "amazon.co.uk", "amazon.de"] }
```

### ❓ FAQ

**How many reviews do I get per product?** This Actor collects the reviews Amazon shows publicly on the product page: about 8–13 per marketplace. Across marketplaces that is typically 10–70+ unique reviews per product, and more for products sold worldwide (one pair of earbuds gave 146 across 20 marketplaces). It does not collect a product's full review history: Amazon shows the complete list only to signed-in users.

**Why do I get no reviews from the United States?** Since October 2026, amazon.com shows reviews only to signed-in users. For an amazon.com product the Actor still saves the star rating, histogram and "Customers say" summary, and collects the reviews the other 20 marketplaces show. A product sold worldwide typically gets 70–150 reviews this way. A product sold only in the US gets fewer (about 20 for one popular air fryer), from Canada, Mexico, Brazil, India and Japan. Reviewers from the US rarely appear among them.

**Does Amazon have an official reviews API?** No. Amazon's Product Advertising API does not return review text, and the Selling Partner API does not cover customer reviews of other sellers' products. This Actor needs no key or account.

**Do I need an Amazon account or cookies?** No. Nothing is collected behind a login.

**Why are some reviews in other languages?** Reviews from other countries keep their original language; `country` tells you where the reviewer is.

**Why did a marketplace return no reviews?** The product is not sold there (the run skips it at no cost), or it has no reviews yet.

**How do I analyze Amazon reviews?** Export the dataset to CSV or Google Sheets, or pass the review text to an LLM through the MCP server. The free `SUMMARIES` record already contains Amazon's own "Customers say" aspects with positive, negative and mixed mention counts.

### 🔗 Related Scrapers

- [Amazon Product Details Scraper](https://apify.com/piotrv1001/amazon-product-details-scraper): the full product page (price, BSR, images, variants, specs) for the same ASINs.
- [Amazon Search Scraper](https://apify.com/piotrv1001/amazon-search-scraper): find ASINs by keyword with prices, ratings and rankings.
- [Amazon Bestsellers Scraper](https://apify.com/piotrv1001/amazon-bestsellers-scraper): the best-selling products of any category, to pick products to review.
- [Amazon Storefront Scraper](https://apify.com/piotrv1001/amazon-storefront-scraper): every product of one seller or brand.

# Actor input Schema

## `asins` (type: `array`):

Amazon ASINs or product page URLs, one per line. A plain ASIN is looked up on amazon.com unless you pick marketplaces below.

## `marketplaces` (type: `array`):

Amazon sites to collect reviews from. Leave empty for the product's own site (amazon.com for a plain ASIN, or the site of the URL). "All marketplaces" visits all 21 and finds the most reviews. amazon.com shows reviews only to signed-in users, so for amazon.com the reviews come from the other marketplaces automatically.

## `maxItems` (type: `integer`):

Stop after this many reviews for each product.

## Actor input object example

```json
{
  "asins": [
    "B0BTYCJXBK"
  ],
  "maxItems": 100
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summaries` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "asins": [
        "B0BTYCJXBK"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/amazon-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "asins": ["B0BTYCJXBK"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/amazon-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "asins": [
    "B0BTYCJXBK"
  ],
  "maxItems": 100
}' |
apify call piotrv1001/amazon-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/amazon-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/z3t4y6G7k2pzW25Y1/builds/8diH7TRSpLkxtGaj7/openapi.json
