# Amazon Search Scraper (`scraptivo/amazon-scraper`) Actor

Fast Amazon search scraper. Extracts product titles, prices, ratings, URLs, and more from search results.

- **URL**: https://apify.com/scraptivo/amazon-scraper.md
- **Developed by:** [Scraptivo](https://apify.com/scraptivo) (community)
- **Categories:** E-commerce, Developer tools, MCP servers
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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 Search Scraper** collects product listings from Amazon search results and turns them into structured data for price monitoring, competitor analysis, and market research. Provide a search query and a marketplace domain, run the Actor, and export titles, prices, ratings, review counts, ASINs, and product URLs to JSON, CSV, Excel, or your preferred integration. Use it to build product catalogs, track competitor pricing, and spot sponsored placements. Scraping 1,000 products costs $1.50, with no browser required.

### What can you automate with Amazon Search Scraper?

- **Build product catalogs** — collect thousands of Amazon listings with structured fields for your e-commerce or price-comparison platform.
- **Monitor competitor prices** — track pricing and promotions across Amazon marketplaces for competitive intelligence.
- **Enrich product databases** — gather ASINs, ratings, review counts, and URLs to power recommendation engines or analytics.
- **Automate market research** — run scheduled searches on any keyword to discover trending products, sponsored placements, and pricing patterns.
- **Identify sellers and brands** — surface products in specific categories for supplier or partnership outreach.

### Who is this scraper for?

| Team | Workflow |
|---|---|
| E-commerce operators | Pull structured listings to seed or refresh a product catalog. |
| Pricing and market analysts | Track prices, ratings, and review counts across marketplaces. |
| Competitive intelligence teams | Monitor sponsored placements and category dynamics. |
| Lead-generation agencies | Discover brands and sellers for outreach in a niche. |

### What data can you collect from Amazon?

| Data group | Example fields | How it helps |
|---|---|---|
| Product identity | asin, title, url, imageUrl | Identify and link the listing. |
| Pricing | price, listPrice | Compare current and strikethrough prices. |
| Reputation | rating, reviewsCount | Qualify demand and popularity. |
| Placement | isSponsored, position, page, delivery | See ad placement and ranking. |
| Run metadata | searchQuery, domain, scrapedAt | Trace which search produced the record. |

### How to use Amazon Search Scraper

1. Open the Actor in the Scraptivo account.
2. Enter a search query (for example `wireless headphones`).
3. Choose the Amazon marketplace domain and set the page and product limits.
4. Run the Actor.
5. Export the dataset to JSON, CSV, Excel, or your integration.

```json
{ "searchQuery": "wireless headphones", "domain": "amazon.co.uk", "maxPages": 3, "maxProducts": 0, "pageDelayMs": 1500, "proxyConfiguration": { "useApifyProxy": true } }
```

### Example workflow

#### Track weekly prices for a product category

1. Run a category keyword search once a week.
2. Keep products whose rating or review count meets your threshold.
3. Send new prices to Google Sheets or a price-monitoring dashboard.
4. Deduplicate using the stable `asin` field.

### Automate and integrate your results

- **Schedule** daily or weekly runs per keyword using Apify's Scheduler or the API.
- **Webhooks** after a successful run to trigger your downstream pipeline.
- **Export** to Google Sheets, Make, Zapier, or a database.
- **Deduplicate** using the stable `asin` field.

```shell
curl "https://api.apify.com/v2/acts/scraptivo~amazon-scraper/run-sync" -H "Content-Type: application/json" -d '{"searchQuery":"wireless headphones","domain":"amazon.co.uk","maxPages":3,"maxProducts":0}'
```

### Input reference

| Field | Type | Required | Default | What it controls |
|---|---|---:|---|---|
| searchQuery | string | yes | — | Keyword to search on Amazon. |
| domain | string | no | amazon.de | Marketplace hostname (e.g. amazon.co.uk, amazon.in, amazon.fr). |
| maxPages | integer | no | 1 | Maximum search result pages to scrape. |
| maxProducts | integer | no | 0 | Maximum products to collect (0 = unlimited). |
| pageDelayMs | integer | no | 1500 | Delay between page requests in milliseconds. |
| proxyConfiguration | object | no | useApifyProxy | Proxy settings; recommended for Amazon scraping. |

### Output example

```json
{
  "asin": "B0BLHL2DML",
  "title": "Meltrck Kitchen Organiser - Pack of 2 Under Sink Shelf Organiser",
  "url": "https://www.amazon.de/dp/B0BLHL2DML",
  "price": "€24.98",
  "listPrice": "€12.49",
  "rating": 4.4,
  "reviewsCount": 1250,
  "imageUrl": "https://m.media-amazon.com/images/I/...",
  "isSponsored": true,
  "delivery": "FREE delivery",
  "position": 17,
  "page": 2,
  "searchQuery": "kitchen",
  "domain": "amazon.de",
  "scrapedAt": "2026-06-18T14:20:10.123456"
}
```

### How much does it cost to scrape Amazon?

Amazon Search Scraper uses pay-per-event billing on Apify:

- **$0.0015 per product scraped** (the headline result event).
- **$0.00005 per run** for the actor-start event.

Examples: 1,000 products cost about $1.50 plus the start fee; 10,000 products cost about $15. Apify platform plan discounts apply at higher volumes, and proxy traffic is billed separately by Apify according to your plan.

### Reliability and responsible use

- Fast HTTP-based scraping with no browser; automatic retries and a proxy configuration that is enabled by default.
- `listPrice`, `delivery`, and `isSponsored` are only present when Amazon shows them on the results page.
- Individual fields can be empty when a listing does not publish them.
- Scrape only public product data and follow Amazon's terms of service.

### Frequently asked questions

#### Can I scrape Amazon search results from any marketplace?

Yes. Set `domain` to any Amazon marketplace hostname such as `amazon.de`, `amazon.co.uk`, `amazon.in`, or `amazon.fr`. You can also pass a full URL.

#### Can I schedule Amazon Search Scraper to run automatically?

Yes. Use Apify's Scheduler or the API to run a keyword on a daily or weekly cadence and capture fresh prices.

#### What counts as one result?

One product listing. Each product on the results pages counts as a single result event.

#### Why are some fields empty?

`listPrice` and `delivery` are only present when Amazon displays them, and some listings do not publish a rating or review count.

#### How do I avoid duplicate records?

Deduplicate using the stable `asin` field before writing to your catalog or spreadsheet.

#### Do I need a proxy?

Amazon blocks datacenter traffic on many marketplaces, so a proxy is enabled by default and recommended.

### Related Scraptivo automations

- [Instacart Scraper](https://apify.com/scraptivo/instacart-scraper) — grocery and delivery catalog data from Instacart.
- [HomeDepot Scraper](https://apify.com/scraptivo/homedepot-scraper) — product data from HomeDepot by collection URL.
- [Etsy Scraper](https://apify.com/scraptivo/etsy-scraper) — marketplace listings from Etsy.
- [Publix Scraper](https://apify.com/scraptivo/publix-scraper) — store and product data from Publix.

### Support and custom workflows

Need a different field, source, or delivery workflow? Contact Scraptivo at scraptivo@gmail.com. Include the Actor name, a sample URL, the required fields, and expected volume so we can assess the request.

# Actor input Schema

## `searchQuery` (type: `string`):

Keyword to search on Amazon (e.g. kitchen, wireless headphones).

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

Any Amazon marketplace hostname (e.g. amazon.co.uk, amazon.in, amazon.fr, amazon.com.au). You may also pass www.amazon.de or a full https URL.

## `maxPages` (type: `integer`):

Maximum number of search result pages to scrape.

## `maxProducts` (type: `integer`):

Maximum number of products to collect (0 = unlimited).

## `pageDelayMs` (type: `integer`):

Delay between page requests in milliseconds.

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

Apify proxy configuration. Recommended for Amazon scraping.

## Actor input object example

```json
{
  "searchQuery": "kitchen",
  "domain": "amazon.co.uk",
  "maxPages": 1,
  "maxProducts": 0,
  "pageDelayMs": 1500,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "searchQuery": "kitchen",
    "domain": "amazon.co.uk"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraptivo/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 = {
    "searchQuery": "kitchen",
    "domain": "amazon.co.uk",
}

# Run the Actor and wait for it to finish
run = client.actor("scraptivo/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 '{
  "searchQuery": "kitchen",
  "domain": "amazon.co.uk"
}' |
apify call scraptivo/amazon-scraper --silent --output-dataset

```

## MCP server setup

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