# Amazon Product Scraper · No Login · $0.28/1k (`alfalfa/amazon-product-scraper`) Actor

Amazon product scraper for search results, categories, Best Sellers lists and product pages in 22 Amazon stores: price, list price, rating, review count, BSR, brand, seller, images, variants, features and top reviews. No login. Export to Excel, CSV or JSON. $0.28 per 1,000 products, details $1.50.

- **URL**: https://apify.com/alfalfa/amazon-product-scraper.md
- **Developed by:** [Alfalfa](https://apify.com/alfalfa) (community)
- **Categories:** E-commerce, Marketing, Business
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.25 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Product Scraper: prices, ratings, BSR and details from 22 Amazon stores, no login

Search Amazon by keyword, paste category or Best Sellers pages, or give a list of ASINs, and get **one row per product** with the price, list price, rating, review count, Best Sellers Rank, brand, seller, images, variants, features, product details table and the top reviews. Works on amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.co.jp and 17 other stores, with prices in each store's currency. Export to Excel, CSV or JSON, or read it through the API.

**$0.28 per 1,000 products** from searches and lists. Full product details $1.50 per 1,000. No start fee, platform usage and proxies included.

### What you get

| Field | Example |
|---|---|
| `asin`, `title`, `brand`, `url` | `B09X7MPX8L`, `SANDISK 1TB Extreme microSD Card + Adapter…`, `Sandisk`, product page |
| `price`, `listPrice`, `discountPercent`, `coupon` | `{"value": 19.29, "currency": "USD"}`, `{"value": 32, "currency": "USD"}`, `40`, `Save $10.00` |
| `inStock`, `inStockText`, `condition` | `true`, `Only 10 left in stock - order soon.`, `NEW` |
| `stars`, `reviewsCount`, `starsBreakdown` | `4.8`, `148859`, `{"5 star": 87, "4 star": 9, …}` |
| `bestsellerRanks` | `[{"rank": 2, "category": "Micro SD Memory Cards", "url": …}]` |
| `monthlyPurchaseVolume` | `500+ bought in past month` |
| `isAmazonChoice`, `isBestSeller`, `bestSellerText`, `badges`, `isSponsored` | `false`, `true`, `Best Seller in Sleep Earbuds`, `["Limited time deal"]`, `false` |
| `breadCrumbs`, `categories` | `Electronics > Computers & Accessories > Memory Cards` |
| `thumbnailImage`, `highResolutionImages`, `videosCount` | main image, every gallery image in full size, `6` |
| `features`, `description`, `aPlusContent`, `productOverview`, `attributes` | About this item bullets, description, manufacturer content, the specification tables as key/value pairs |
| `parentAsin`, `variantAttributes`, `variantAsins`, `variantDetails` | all sizes and colours with their ASINs |
| `seller`, `shipsFrom`, `delivery`, `fastestDelivery`, `returnPolicy` | `{"id": "A9U9KYQU615N1", "name": "SiliconValleySeller (SN# Recorded)", "url": …}`, `FREE delivery Friday, September 18`, `30-day refund/replacement` |
| `aiReviewsSummary` | Amazon's "Customers say" text and the review topics with mention counts and sentiment |
| `productPageReviews` | the top reviews shown on the product page: rating, title, text, date, verified purchase, helpful votes |
| `author`, `bookDescription` | for books, music and films |
| `position`, `page`, `bestsellerRank`, `input`, `domain`, `scrapedAt` | where the product was found |

Two levels of detail:

- **Listing** (default, $0.28 per 1,000): the fields shown in the search results and lists (title, price, list price, rating, review count, bought in past month, badges, image, delivery). About 10 times faster.
- **Details** (option, plus $1.50 per 1,000): every product page is opened for the full record above. Products from ASINs and product URLs always come with details.

### Sources

- **Search keywords**: `wireless earbuds`, `standing desk`, in the store you pick. Sort by relevance, price, rating, newest arrivals or best sellers.
- **Amazon URLs** from any store: search results, categories (`/s?rh=n:…`, `/b?node=…`), **Best Sellers, New Releases, Movers & Shakers, Most Wished For** lists, product pages and `amzn.to` short links. Filters you set on Amazon (price range, brand, rating, Prime) stay in the URL and are respected.
- **ASINs**: a list of product IDs, looked up in the store you pick.

**Max products per source** caps each keyword, URL or list. A product found by two sources is saved and charged once. Sponsored products are skipped unless you switch **Include sponsored results** on.

### Use cases

- **Price monitoring**: a daily run over your ASINs or a category into Google Sheets; `price`, `listPrice` and `inStock` show every change.
- **Product research**: best sellers and new releases of a category with rank, rating, review count and monthly sales signal (`monthlyPurchaseVolume`).
- **Competitor tracking**: search positions of your product and rivals for your main keywords, organic and sponsored.
- **Catalog and listing audits**: titles, bullets, images, A+ content and specifications of your own listings across stores.
- **Review insight**: Amazon's review summary with topics like quality or value for money, plus the top reviews, without opening each page.

### Examples

Top 100 organic results for a keyword in the US store, full details:

```json
{ "keywords": ["wireless earbuds"], "domain": "amazon.com", "maxItems": 100 }
```

Best Sellers in Electronics, listing only (fast):

```json
{ "startUrls": [{ "url": "https://www.amazon.com/Best-Sellers-Electronics/zgbs/electronics/" }], "scrapeDetails": false, "maxItems": 100 }
```

A list of products in the German store, pages in German:

```json
{ "asins": ["B0D1XD1ZV3", "B09X7MPX8L"], "domain": "amazon.de", "language": "de_DE" }
```

Output row (shortened):

```json
{
  "asin": "B0BLCW7MBR",
  "title": "Cubiker Standing Desk, 48x24 Inches Sit Stand Home Office Desk, Electric Stand up Desk…",
  "brand": "Cubiker",
  "url": "https://www.amazon.com/dp/B0BLCW7MBR",
  "price": { "value": 79.99, "currency": "USD" },
  "listPrice": { "value": 89.99, "currency": "USD" },
  "discountPercent": 11,
  "inStock": true,
  "stars": 4.6,
  "reviewsCount": 4387,
  "isAmazonChoice": true,
  "amazonChoiceText": "Amazon's Choice: Overall Pick",
  "breadCrumbs": "Home & Kitchen > Furniture > Home Office Furniture > Home Office Desks",
  "seller": { "name": "Amazon.com" },
  "position": 1,
  "page": 1,
  "input": "standing desk",
  "domain": "amazon.com"
}
```

### Use it from code, n8n, Make, Zapier or an AI agent

- **API**: `POST https://api.apify.com/v2/acts/alfalfa~amazon-product-scraper/run-sync-get-dataset-items?token=…` with the JSON input above returns the rows directly (runs up to 5 minutes). Longer jobs: start the run, poll, read the dataset. Any Apify client library works.
- **n8n, Make, Zapier**: add the Apify node, pick `alfalfa/amazon-product-scraper`, paste the same JSON input and read the run's dataset in the next step. See the [Apify integrations docs](https://docs.apify.com/platform/integrations).
- **AI agents and MCP (Claude, Cursor, VS Code, ChatGPT)**: connect the Apify MCP server with this Actor as a tool, `https://mcp.apify.com/?tools=alfalfa/amazon-product-scraper`, and the agent can look up products, prices and ranks by describing what it wants. See [Apify MCP docs](https://docs.apify.com/platform/integrations/mcp).

### Pricing

| Event | Free plan | Starter | Scale | Business | Platinum / Diamond |
|---|---|---|---|---|---|
| Product (search results, lists, Best Sellers) | $0.28 / 1,000 | $0.27 | $0.26 | $0.25 | $0.25 |
| Product details (option; always for ASINs and product URLs) | $1.50 / 1,000 | $1.35 | $1.12 | $1.12 | $1.12 |
| Top reviews, review summary, variants, start fee, platform usage, proxies | included | | | | |

A run's **Maximum total charge** is honoured: the Actor reserves the cost of each product (with details if requested) before loading it, so the bill never exceeds the budget. Products whose page cannot be loaded are skipped and not charged.

### Limits and honesty

- **Full review lists** need an Amazon login since late 2024, so this Actor returns the top reviews shown on the product page (usually 8 to 13, local and from other countries) and Amazon's review summary, not every review.
- Prices, delivery dates and availability are the ones a shopper in the store's country sees (for amazon.com a US address picked by Amazon). A specific ZIP code is not supported yet.
- The other sellers' offers on a product (the "Other sellers" panel) and seller profile details are not included in this version; the buy box seller is.
- Amazon shows at most about 20 pages of results per search. For more products, split the search by category or price range in the URL.
- Brand store pages (`/stores/…`) are not supported; use the brand's search or category URL instead.
- The start page of the Best Sellers lists (`/gp/bestsellers`, amazon.co.jp `/ranking`) shows only a few products per department; paste a department list such as `/gp/bestsellers/electronics`.

### FAQ

**Is there an Amazon product API?** Amazon's Product Advertising API is for affiliates with qualifying sales and returns limited data. This Actor reads the public store pages without an account and returns the fields as a table.

**Which Amazon stores work?** amazon.com, .ca, .com.mx, .com.br, .co.uk, .de, .fr, .it, .es, .nl, .com.be, .ie, .se, .pl, .com.tr, .ae, .sa, .eg, .in, .co.jp, .sg and .com.au.

**Why are some prices `null`?** The product is currently unavailable or has no buy box offer; `inStockText` says why.

**In which language are the pages?** English where the store offers it, otherwise the store's language. Set **Language** (`de_DE`, `fr_FR`, …) to read a store in its own language.

**Is this legal?** The Actor reads public product pages without an account and stores nothing but the results in your dataset. Respect Amazon's and the sellers' rights when you reuse texts and images.

### Related Actors by the same author

| Actor | What it does | Price |
|---|---|---|
| [Google Maps Scraper](https://apify.com/alfalfa/google-maps-scraper) | places from any search and location with address, phone, website, rating and hours, plus reviews and website emails | $0.07 per 1,000 places |
| [Google Ads Transparency Scraper](https://apify.com/alfalfa/google-ads-transparency-scraper) | every ad of an advertiser or website domain from Google's Ads Transparency Center | $0.50 per 1,000 ads |
| [Facebook Ads Library Scraper](https://apify.com/alfalfa/facebook-ads-library-scraper) | ads from the Meta Ad Library by keyword, advertiser page or URL, with creatives, dates, platforms and EU reach | $0.50 per 1,000 ads |
| [YouTube Scraper](https://apify.com/alfalfa/youtube-scraper) | videos of a search, channel, playlist or URL list with views, likes, date, tags, plus transcripts and comments | $0.50 per 1,000 rows |
| [LinkedIn Jobs Scraper](https://apify.com/alfalfa/linkedin-jobs-scraper) | public LinkedIn job postings by keyword, location, date, company or URL | $0.50 per 1,000 jobs |
| [Facebook Posts Scraper](https://apify.com/alfalfa/facebook-posts-scraper) | posts of any public page or profile with reactions, comment counts, media, optional video transcripts | $2 per 1,000 posts |
| [Facebook Comments Scraper](https://apify.com/alfalfa/facebook-comments-scraper) | comments and replies of any public post | $0.50 per 1,000 comments |
| [Facebook Pages Scraper](https://apify.com/alfalfa/facebook-pages-scraper) | page details with email, phone, address, followers, rating, About text | from $3.50 per 1,000 pages |
| [Facebook Events Scraper](https://apify.com/alfalfa/facebook-events-scraper) | events by search, page or URL with dates, venue, tickets and organizer email | $5 per 1,000 events |

Not affiliated with, endorsed by or connected to Amazon.com, Inc. or Apify.

# Actor input Schema

## `keywords` (type: `array`):

What you would type into Amazon's search box, one per line: <code>wireless earbuds</code>, <code>standing desk</code>. Each keyword is searched in the store chosen under <b>Amazon store</b>, page by page, up to <b>Max products per source</b>.

## `startUrls` (type: `array`):

Links to Amazon pages from any Amazon store: search results (<code>/s?k=...</code>), categories (<code>/s?rh=n:...</code>, <code>/b?node=...</code>), Best Sellers, New Releases, Movers & Shakers and Most Wished For lists, product pages (<code>/dp/ASIN</code>) and short links (<code>amzn.to</code>, <code>a.co</code>). The store is taken from each URL.

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

Amazon product IDs, one per line: <code>B09X7MPX8L</code>. Looked up in the store chosen under <b>Amazon store</b>.

## `domain` (type: `string`):

Store used for search keywords and ASINs. URLs always use their own store. Prices come in the store's currency, as a shopper in that country sees them.

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

Maximum products per keyword, search or category URL and list. Amazon shows up to about 20 pages per search; Best Sellers lists have 100 products.

## `scrapeDetails` (type: `boolean`):

Open every product page for the full record: brand, Best Sellers Rank, rating breakdown, features, description, all images, variants, seller, delivery, product details table, review summary and top reviews. $1.50 per 1,000 products with details. Products from ASINs and product URLs always come with details. Off = the fields shown in the search results and lists (title, price, rating, review count, badges, image), about 10 times faster.

## `includeSponsored` (type: `boolean`):

Also save the sponsored products Amazon mixes into search results (marked <code>isSponsored</code>). Off = organic results only.

## `sort` (type: `string`):

Order of the results for search keywords, as in Amazon's Sort by menu.

## `language` (type: `string`):

Language of the pages, if the store offers it: <code>en\_GB</code>, <code>de\_DE</code>, <code>fr\_FR</code>, <code>es\_ES</code>. Empty = English where the store offers it, otherwise the store's own language.

## `maxConcurrency` (type: `integer`):

Product pages loaded in parallel (default 10).

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

Residential proxies in the store's country are included in the price. Leave the default unless you want your own proxy servers.

## Actor input object example

```json
{
  "keywords": [
    "wireless earbuds"
  ],
  "domain": "amazon.com",
  "maxItems": 20,
  "scrapeDetails": false,
  "includeSponsored": false,
  "sort": "relevance",
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `products` (type: `string`):

All scraped products as JSON. Append ?format=csv for CSV.

# 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 = {
    "keywords": [
        "wireless earbuds"
    ],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("alfalfa/amazon-product-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 = {
    "keywords": ["wireless earbuds"],
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("alfalfa/amazon-product-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 '{
  "keywords": [
    "wireless earbuds"
  ],
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call alfalfa/amazon-product-scraper --silent --output-dataset

```

## MCP server setup

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