# Amazon Products & Search Scraper (`fetch_cat/amazon-products-search-scraper`) Actor

Extract Amazon product search results, pricing, availability, sellers, ratings, and product details across marketplaces.

- **URL**: https://apify.com/fetch\_cat/amazon-products-search-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 1 total users, 1 monthly users, 73.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.60 / 1,000 product rows

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/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 Products & Search Scraper

Export public Amazon search results into structured data for assortment research, price monitoring, sponsored-placement analysis, and product discovery. Search ten Amazon marketplaces and receive product rank, ASIN, title, price, rating, reviews, Prime status, image, and source provenance.

### Example input

```json
{
  "queries": ["wireless headphones"],
  "marketplace": "US",
  "sort": "relevance",
  "maxItems": 20,
  "enrichDetails": false
}
```

### Example output

```json
{
  "rank": 1,
  "sponsored": true,
  "asin": "B012345678",
  "productTitle": "Wireless noise-cancelling headphones",
  "brand": "Example Brand",
  "price": 79.99,
  "priceDisplay": "$79.99",
  "currency": "$",
  "prime": true,
  "rating": 4.5,
  "reviewCount": 1234,
  "imageUrls": ["https://m.media-amazon.com/images/I/example.jpg"],
  "sourceType": "search",
  "sourceQuery": "wireless headphones",
  "marketplace": "US",
  "url": "https://www.amazon.com/dp/B012345678",
  "scrapedAt": "2026-07-10T12:00:00.000Z",
  "diagnostics": { "detailEnriched": false, "pageNumber": 1 }
}
```

### What data can I export?

Each dataset row represents one Amazon product listing:

- **Search provenance:** organic rank, sponsored status, source query, and marketplace.
- **Product identity:** ASIN, parent and variant ASINs, title, brand, categories, URL, and image URLs.
- **Commercial signals:** numeric/display/list price, currency, deal, savings, Prime, shipping, availability, seller, and Buy Box seller.
- **Social proof:** numeric rating and review count.
- **Provenance:** source type/query, marketplace, page number, enrichment status, and scrape timestamp.

### Who is it for?

This Actor is designed for ecommerce analysts, marketplace sellers, brand-protection teams, pricing researchers, retail agencies, and developers building product intelligence workflows.

### Use cases

- Compare product assortment across Amazon marketplaces.
- Monitor visible prices and Prime placement for selected searches.
- Measure sponsored versus organic placement.
- Build product research and category-analysis datasets.
- Feed structured Amazon listings into spreadsheets, databases, agents, or BI tools.

### Input settings

| Field | Type | Description |
|---|---|---|
| `queries` | string\[] | Product names, brands, models, or keywords to search. |
| `startUrls` | request\[] | Amazon search or product detail URLs. |
| `asins` | string\[] | Direct ten-character product ASINs. |
| `marketplace` | string | One of `US`, `CA`, `UK`, `DE`, `FR`, `IT`, `ES`, `AU`, `IN`, or `JP`. |
| `sort` | string | Relevance, price ascending/descending, reviews, or newest. |
| `maxItems` | integer | Global maximum unique products, from 1 to 1,000. |
| `enrichDetails` | boolean | Visit details for brand, category, availability, seller, variants, and expanded pricing/images. |

### Verified public example tasks

These Apify Store tasks use small, QA-verified inputs and can be opened or cloned directly:

- [Enrich Amazon Product Search Results](https://apify.com/fetch_cat/amazon-products-search-scraper/tasks/enrich-amazon-product-search-results) — verified run `6S71PHVBgdtnLxpCj` produced 5 dataset items.
- [Find Lowest Price Usb C Chargers](https://apify.com/fetch_cat/amazon-products-search-scraper/tasks/find-lowest-price-usb-c-chargers) — verified run `ptSxQtqxjqbzdau4R` produced 10 dataset items.
- [Research Top Reviewed Coffee Grinders](https://apify.com/fetch_cat/amazon-products-search-scraper/tasks/research-top-reviewed-coffee-grinders) — verified run `BrewwM2UIWfcYJJAv` produced 10 dataset items.
- [Search Amazon Uk Products](https://apify.com/fetch_cat/amazon-products-search-scraper/tasks/search-amazon-uk-products) — verified run `6xPlzxoEb1AmDDX11` produced 10 dataset items.
- [Search Amazon Wireless Headphones](https://apify.com/fetch_cat/amazon-products-search-scraper/tasks/search-amazon-wireless-headphones) — verified run `Dq5a3KRb4QAQomi5H` produced 10 dataset items.

### Input recipes

**US product research**

```json
{ "queries": ["standing desk"], "marketplace": "US", "maxItems": 20 }
```

**UK brand monitoring**

```json
{ "queries": ["Sony headphones"], "marketplace": "UK", "maxItems": 10, "enrichDetails": true }
```

### Pricing

The Actor uses pay-per-event pricing: one run-start event, one primary event for each product row successfully saved, and an additional detail event only when a product detail enrichment is successfully saved. Failed products and failed optional enrichments do not receive a result charge. See the live **Pricing** tab for current rates.

Amazon requests always use a residential proxy in the selected marketplace country to reduce blocks and keep regional results consistent. Apify platform residential-proxy traffic is billed separately from Actor events, so detail enrichment and larger runs use more proxy traffic.

### Tips

- Begin with 10 products to validate the fields for your workflow.
- Use a specific brand or model when you need focused results.
- Keep the marketplace consistent when comparing ranking over time.
- Use small limits first because Amazon access can vary and residential proxy traffic has a separate platform cost.
- Export JSON for automation or CSV/XLSX for spreadsheet analysis.

### Legality, limits, and responsible use

Amazon can vary visible products, prices, delivery promises, and rankings by time and location. Treat the output as a point-in-time observation. The Actor collects public product search information and does not require an Amazon account. Scrape only data you have a lawful purpose to use, respect applicable privacy and database laws, and comply with Amazon's terms.

### API usage

```bash
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~amazon-products-search-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries":["wireless headphones"],"marketplace":"US","maxItems":10}'
```

**Node.js**

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/amazon-products-search-scraper').call({
  queries: ['wireless headphones'], marketplace: 'US', maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Python**

```python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/amazon-products-search-scraper').call(
    run_input={'queries': ['wireless headphones'], 'marketplace': 'US', 'maxItems': 10}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

The run response includes a dataset ID. Download rows through the dataset API after the run succeeds.

### MCP and agents

Connect through Apify MCP at `https://mcp.apify.com/?tools=fetch_cat/amazon-products-search-scraper` and ask an agent to research products for a marketplace and query.

**Example prompts:**

- “Search Amazon US for `wireless headphones`, return 10 products, and include sponsored placement and price.”
- “Compare the first 20 Amazon UK results for `standing desk` with detail enrichment enabled.”

```bash
claude mcp add apify-amazon -- npx -y @apify/actors-mcp-server --actors fetch_cat/amazon-products-search-scraper
```

Example MCP client configuration:

```json
{
  "mcpServers": {
    "apify-amazon": {
      "command": "npx",
      "args": ["-y", "@apify/actors-mcp-server", "--actors", "fetch_cat/amazon-products-search-scraper"],
      "env": { "APIFY_TOKEN": "YOUR_APIFY_TOKEN" }
    }
  }
}
```

### Related actors

Combine this dataset with [Google Shopping Results Scraper](https://apify.com/fetch_cat/google-shopping-results-scraper) for cross-channel product discovery or [eBay Marketplace Scraper](https://apify.com/fetch_cat/ebay-marketplace-scraper) for marketplace comparisons.

### FAQ

#### Does it require an Amazon login?

No. It collects publicly visible search listings.

#### Why can results change between runs?

Amazon rankings and sponsored placements are dynamic and may vary by marketplace, time, inventory, and delivery location.

#### What happens when Amazon returns a challenge page?

The run fails with a clear error instead of reporting a misleading successful zero-item dataset.

### Support

If a run fails or a field is missing, open an issue on the Actor page. Include the run ID, your input JSON, expected output, actual output, and a reproducible public URL from Amazon. Do not include passwords, cookies, or other private credentials.

# Actor input Schema

## `queries` (type: `array`):

Product names, brands, keywords, or models to search for.

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

Amazon search pages or public product detail URLs. These can be combined with queries and ASINs.

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

Ten-character Amazon Standard Identification Numbers for direct product extraction.

## `marketplace` (type: `string`):

Amazon marketplace used for queries and ASINs.

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

Sort order applied to generated query searches.

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

Maximum unique product rows saved across all queries, URLs, and ASINs.

## `enrichDetails` (type: `boolean`):

Visit product pages to add brand, category, list price, savings, availability, seller, variants, and more images. This is slower and uses more proxy bandwidth.

## Actor input object example

```json
{
  "queries": [
    "wireless headphones"
  ],
  "marketplace": "US",
  "sort": "relevance",
  "maxItems": 20,
  "enrichDetails": false
}
```

# Actor output Schema

## `overview` (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 = {
    "queries": [
        "wireless headphones"
    ],
    "marketplace": "US",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/amazon-products-search-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 = {
    "queries": ["wireless headphones"],
    "marketplace": "US",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/amazon-products-search-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 '{
  "queries": [
    "wireless headphones"
  ],
  "marketplace": "US",
  "maxItems": 20
}' |
apify call fetch_cat/amazon-products-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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