# Amazon Reviews Scraper - Ratings, Review Text + Images (`convertfleetdotonline/amazon-reviews-scraper`) Actor

Amazon reviews scraper - extract product reviews by ASIN or URL: star rating, title, review text, date, verified-purchase flag and images. Analyze sentiment and monitor competitors. No API key. Export CSV, JSON or Excel.

- **URL**: https://apify.com/convertfleetdotonline/amazon-reviews-scraper.md
- **Developed by:** [Hasnain Nisar](https://apify.com/convertfleetdotonline) (community)
- **Categories:** E-commerce, Marketing
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Amazon Reviews Scraper

Scrape and download detailed reviews from any Amazon product **without using the Amazon API**. Extract the rating score, review title and description, reviewer name, review date, verified-purchase badge, helpful votes (reactions) and review images. Download your data as JSON, CSV, Excel, XML or an HTML table straight from the dataset tab.

Works with any Amazon marketplace: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.com.au and more.

### What data does it extract?

For every product you also get a summary record with the product title, average star rating, total number of ratings and the star-rating histogram (% of 5★ / 4★ / 3★ / 2★ / 1★).

For every review:

| Field | Description |
|---|---|
| `rating` | Star rating of the review (1–5) |
| `title` | Review headline |
| `text` | Full review description |
| `date` / `location` | Review date and reviewer country |
| `reviewer_name` / `reviewer_profile` | Reviewer display name and profile URL |
| `verified_purchase` | Whether Amazon marked it as a Verified Purchase |
| `helpful_votes` | Number of "people found this helpful" reactions |
| `images` | Full-size URLs of photos attached to the review |
| `variant` | Purchased variant (color, size, style...) |
| `review_url` | Direct link to the review |

### Input

```json
{
  "productUrls": ["https://www.amazon.com/dp/B09B8V1LZ3"],
  "maxReviews": 50,
  "sortBy": "recent",
  "filterByStar": "all_stars",
  "verifiedOnly": false
}
```

You can paste full product URLs (`/dp/...`, `/gp/product/...`, `/product-reviews/...`) or bare 10-character ASINs.

### Important: how many reviews can it get?

Since late 2024 Amazon requires a **signed-in session** to browse the full paginated review history. This scraper handles both situations:

- **Without cookies** (default) — it extracts the top reviews Amazon shows on the product page (usually 8–10 per product) plus the complete rating summary and histogram.
- **With cookies** — paste the `Cookie` header from a logged-in Amazon browser session into the `cookies` input and the scraper paginates the full review history up to `maxReviews` (sorting and star filters are applied by Amazon itself).

To copy your cookies: open amazon.com logged in → DevTools → Network tab → click any request → copy the value of the `cookie` request header.

### Proxy

The actor uses Apify Proxy (datacenter) by default and automatically falls back to a direct connection or a stealth browser when Amazon serves a robot check. If your plan includes residential proxies, selecting the `RESIDENTIAL` group in `proxyConfiguration` gives the most reliable results.

### FAQ

**Is scraping Amazon reviews legal?** The actor only extracts publicly available data. Be mindful of personal data (reviewer names) and consult a lawyer for your specific use case.

**Why did I get fewer reviews than `maxReviews`?** Without login cookies Amazon only exposes the product-page top reviews; add cookies to unlock pagination. A warning is logged and stored in the product summary record when this happens.

**Do I need an Amazon API key?**
No — the scraper reads public product pages. Optional login cookies only unlock full review pagination.

**Which marketplaces are supported?**
All major ones: amazon.com, .co.uk, .de, .fr, .it, .es, .ca, .com.au, .in, .co.jp and more — just paste the product URL.

**Can I filter reviews?**
Yes — sort by recent/helpful, filter by star rating (`filterByStar`) or keep only Verified Purchases (`verifiedOnly`).

**How do I export the data?**
JSON, CSV, Excel, XML or an HTML table from the dataset tab, or via the Apify API.

# Actor input Schema

## `productUrls` (type: `array`):

One or more Amazon product URLs (https://www.amazon.com/dp/ASIN, /gp/product/ASIN or /product-reviews/ASIN) or bare 10-character ASINs. Any Amazon marketplace domain works (.com, .co.uk, .de, .fr, ...).

## `maxReviews` (type: `integer`):

Maximum number of reviews to extract per product. Note: without login cookies Amazon only exposes the top ~10 reviews on the product page; add the 'cookies' field to paginate the full review history.

## `sortBy` (type: `string`):

How Amazon sorts reviews before extraction (applies when paginating review pages with cookies).

## `filterByStar` (type: `string`):

Only keep reviews with this star rating.

## `verifiedOnly` (type: `boolean`):

Only keep reviews marked as Verified Purchase.

## `cookies` (type: `string`):

Optional Cookie header copied from a logged-in Amazon browser session (e.g. 'session-id=...; ubid-main=...; at-main=...'). Amazon requires sign-in to browse the full review history pages; with cookies the scraper paginates up to maxReviews, without them it extracts the top reviews shown on the product page.

## `proxyConfiguration` (type: `object`):

Routes requests through Apify Proxy. Amazon blocks some datacenter IPs with a captcha; residential proxies are the most reliable if your plan includes them.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.amazon.com/dp/B09B8V1LZ3"
  ],
  "maxReviews": 20,
  "sortBy": "recent",
  "filterByStar": "all_stars",
  "verifiedOnly": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "productUrls": [
        "https://www.amazon.com/dp/B09B8V1LZ3"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("convertfleetdotonline/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 = {
    "productUrls": ["https://www.amazon.com/dp/B09B8V1LZ3"],
    "proxyConfiguration": { "useApifyProxy": True },
}

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

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

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

```

## CLI example

```bash
echo '{
  "productUrls": [
    "https://www.amazon.com/dp/B09B8V1LZ3"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call convertfleetdotonline/amazon-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=convertfleetdotonline/amazon-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/e8Mds7LnLI449Z56s/builds/UpeHWqzfhweQ0hVK3/openapi.json
