# Amazon Scraper & Amazon API: Products, Prices, Reviews (`crustapi/amazon-scraper`) Actor

Extract Amazon product data in bulk: title, brand, price, rating, review count, availability, image, and features. Paste product URLs or ASINs. No login, no cookies.

- **URL**: https://apify.com/crustapi/amazon-scraper.md
- **Developed by:** [CrustAPI](https://apify.com/crustapi) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$7.00 / 1,000 product scrapeds

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?

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 Scraper & Amazon API: Products, Prices, Reviews

### What is Amazon Scraper?

Get full Amazon product data in bulk. Paste product URLs or ASINs to scrape those exact products, or type a search term to pull every matching product. Every product comes back with the complete record: price, list price and discount, rating, review count and star breakdown, the top reviews with their text, seller, Best Sellers Rank, specifications, variants, and images. No login, no cookies, no API key.

- 🔎 **Two ways in:** product URLs / ASINs, or a search keyword (like `wireless earbuds`)
- 💵 Price, **list price and discount %**, coupon, and currency
- ⭐ Rating, review count, the **full star distribution**, and the **top reviews with their text**
- 🏷️ Seller, **Best Sellers Rank**, brand, **specifications** (dimensions, weight, model, manufacturer), **variants**, and the **image gallery**
- 🧹 **Deduplicated** - the same product is never scraped or charged twice
- ✅ **You only pay for products we actually return.** No charge for a blocked, missing, or duplicate item
- 🔑 **No Amazon account, no login, no cookies**

### What data do I get?

**Per product:**

| Field | Example |
|---|---|
| ASIN / Title / Brand | `B0BDHWDR12` · Apple AirPods Pro (2nd Gen) · Apple |
| Price / List price / Discount | $249.00 · $263.86 · 6% off |
| Rating / Reviews / Distribution | 4.7 · 57,920 · `{5★:87%, 4★:7%, 3★:3%, ...}` |
| **Top reviews** | rating, title, full text, author, date, verified, helpful count, Vine |
| Seller / Ships from | Amazon.com |
| **Best Sellers Rank** | `#896 in Books` |
| Specifications | dimensions, weight, model number, manufacturer, ... |
| Variants | size / color options with their ASINs |
| Images | full hi-res gallery |
| Availability / Badges | In Stock · Amazon's Choice, Best Seller |

**Per search result:** ASIN, title, price, rating, review count, image, sponsored flag, and the product URL (feed those URLs back in to get the full record).

### A straight answer about reviews

Amazon shows the **top reviews** on a product page (the most-helpful and most-recent, with full text), and that is exactly what this scraper returns, along with the rating, total review count, and the complete star breakdown. Amazon gates the **full** review archive behind a login, so **nobody returns all of a product's reviews without an account** - the big data vendors cap at the same top set, and we do not log in because that would mean handling your Amazon credentials. You get the reviews that drive decisions, honestly.

### Pricing

**$7.00 per 1,000 products** (about $0.007 each). You pay only for products we actually return, with the full record each time. No start fee, no monthly rental, and never a charge for a blocked, missing, or duplicate item.

| Run | Actor cost |
|---|---|
| 1,000 products | $7.00 |
| 10,000 products | $70.00 |
| 100,000 products | $700.00 |

### How it works

1. In **Products**, paste Amazon product URLs or ASINs (one per line). Or in **Search terms**, add keywords and set **Max results**.
2. Run it. Export to CSV, Excel, JSON, or Google Sheets, or pull it from the API.

### Output sample

```json
{
  "asin": "0593135202",
  "title": "Project Hail Mary: A Novel",
  "brand": null,
  "price": 19.29,
  "listPrice": 32.00,
  "discountPercent": 40,
  "currency": "USD",
  "rating": 4.7,
  "reviewsCount": 278984,
  "ratingBreakdown": { "5star": 77, "4star": 15, "3star": 5, "2star": 2, "1star": 1 },
  "bestSellersRank": [{ "rank": 896, "category": "Books" }],
  "topReviews": [
    { "rating": 5, "title": "A Fantastic and Entertaining Sci-Fi", "author": "deepspacekitten",
      "date": "March 1, 2026", "verified": true, "helpfulCount": 9, "isVine": false,
      "body": "If I could give this more stars, I would..." }
  ],
  "url": "https://www.amazon.com/dp/0593135202"
}
```

### Who uses it

- 🛒 Sellers and brands tracking competitor prices, ranks, and ratings
- 📊 Market and pricing researchers
- 🤖 Builders feeding live product data into apps, sheets, and agents
- 🧠 E-commerce teams reading review sentiment before sourcing a product

### FAQ

#### Do I need an Amazon account?

No. There is no login and no cookies. This reads public product pages only.

#### Do I get all of a product's reviews?

You get the **top reviews with full text** plus the rating, count, and star distribution. Amazon requires a login to page through the full review archive, so no logged-out tool (ours or the large vendors) returns every review - we return the top set honestly rather than pretend otherwise.

#### Which country's Amazon?

The US site (amazon.com) with US pricing by default.

#### Can I search, not just scrape known products?

Yes. Add search terms and it returns matching products; paste any of those URLs back in for the full record.

#### Can I schedule it?

Yes. Use Apify Schedules to re-pull prices, ranks, and ratings on any cadence.

### More from CrustAPI

| Actor | What it does |
|---|---|
| Walmart Scraper | Product data in bulk, with the marketplace seller and reviews |
| Zillow Scraper | Every property in an area or one link, with the listing agent |
| Indeed Scraper | Job listings in bulk with full descriptions |

Need this data as a managed feed or a large one-time dataset? See [crustapi.com/wholesale](https://crustapi.com/wholesale).

### Support and feedback

Found a bug or want a field added? Open an issue on the Issues tab, or email support@crustapi.com. We read every one.

***

*This is an independent tool for collecting public Amazon data. It is not affiliated with, endorsed by, or sponsored by Amazon. Amazon is a trademark of its respective owner.*

# Actor input Schema

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

One per line. Paste an Amazon product URL (amazon.com/dp/ASIN) or a bare 10-character ASIN. Leave empty if you only want search.

## `search` (type: `array`):

One keyword or phrase per line (like wireless earbuds). Returns matching products with price, rating, and review count.

## `maxResults` (type: `integer`):

How many products to return for each search term.

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

Order the search results.

## `minPrice` (type: `integer`):

Only search results at or above this price.

## `maxPrice` (type: `integer`):

Only search results at or below this price.

## `minRating` (type: `string`):

Only search results at or above this star rating.

## `excludeSponsored` (type: `boolean`):

Drop ads (sponsored products) from search results.

## Actor input object example

```json
{
  "asins": [
    "B09B8V1LZ3",
    "https://www.amazon.com/dp/B0BDHWDR12",
    "0593135202"
  ],
  "search": [],
  "maxResults": 50,
  "sortBy": "featured",
  "minRating": "",
  "excludeSponsored": false
}
```

# Actor output Schema

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

One row per product returned from your search terms and product links.

# 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": [
        "B09B8V1LZ3",
        "https://www.amazon.com/dp/B0BDHWDR12",
        "0593135202"
    ],
    "search": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("crustapi/amazon-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": [
        "B09B8V1LZ3",
        "https://www.amazon.com/dp/B0BDHWDR12",
        "0593135202",
    ],
    "search": [],
}

# Run the Actor and wait for it to finish
run = client.actor("crustapi/amazon-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": [
    "B09B8V1LZ3",
    "https://www.amazon.com/dp/B0BDHWDR12",
    "0593135202"
  ],
  "search": []
}' |
apify call crustapi/amazon-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,crustapi/amazon-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/atjgzyRoSx3Eaw4C1/builds/dOoAIRMSOtyzf8v3d/openapi.json
