# Amazon Product Scraper (`khadinakbar/amazon-product-scraper`) Actor

Scrape Amazon product data — price, BSR, rating, seller, FBA status, variants — from search, category, URL, or ASIN input across 18 marketplaces. Flat JSON output optimized for AI agents and MCP.

- **URL**: https://apify.com/khadinakbar/amazon-product-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** E-commerce, MCP servers, Agents
- **Stats:** 3 total users, 3 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 product scrapeds

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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

**Scrape Amazon product data at scale — by keyword, ASIN, or URL — across 18 marketplaces.** This actor returns clean, flat JSON for every product: title, price, list price, discount %, rating, review count, Best Sellers Rank, seller, FBA/Prime status, images, variants, bullets, and full description. Output is MCP-friendly, so you can call this actor directly from Claude, ChatGPT, or any AI agent that speaks the [Model Context Protocol](https://modelcontextprotocol.io/).

Built for ecommerce sellers, arbitrage hunters, price trackers, brand analysts, and AI agents that need reliable, predictable Amazon data at **$0.004 per product** — no setup fees, no per-offer upcharges, no surprise bills.

### What does Amazon Product Scraper do?

The actor runs on [Apify](https://apify.com) and scrapes Amazon product pages without hitting any restricted or proprietary API. You can feed it:

- A **search keyword** — e.g. `wireless earbuds` — and it paginates search results up to your page limit.
- A list of **ASINs** — and it resolves each one on your chosen marketplace.
- Direct **Amazon URLs** — product, search, or category pages.

For each product found it returns a structured record with every commercial signal you actually use for pricing, ranking, and competitive research. You get the output as JSON, CSV, Excel, or via the Apify API.

Supports **18 Amazon marketplaces**: US, UK, DE, FR, CA, ES, IT, JP, AU, IN, MX, BR, NL, SE, PL, TR, AE, SG.

### Why use this Amazon scraper?

- **Flat, agent-friendly JSON** — no deeply nested objects that LLMs get lost in.
- **Predictable pricing** — one billable event per product ($0.004). No hidden per-offer, per-seller, or per-delivery upcharges.
- **Residential proxies by default** — datacenter IPs are blocked by Amazon in 2026; this actor ships with the right defaults.
- **Session pooling with auto-retirement** — 403/429/captcha pages retire sessions cleanly and retry with a fresh IP, keeping success rate high.
- **Works for every use case**: price tracking, arbitrage research, catalog enrichment, brand monitoring, review signal analysis, training data for AI models.
- **MCP-ready** — call the actor directly from Claude or any MCP client via `apify--amazon-product-scraper`.

### How to use Amazon Product Scraper

1. Click **Try for free** on the [actor page](https://apify.com/khadinakbar/amazon-product-scraper).
2. Open the **Input** tab.
3. Pick **one** input mode:
   - **Search query** — type a keyword like `running shoes`.
   - **ASIN list** — paste 10-character ASIN codes (e.g. `B08N5WRWNW`).
   - **Start URLs** — paste Amazon product, search, or category page URLs.
4. Choose your **marketplace** (defaults to `US`).
5. Set **Max products** (start small — 10 or 25 — to verify output).
6. Click **Start** and wait. Typical run: 5–20 seconds per product with residential proxies.
7. Download the dataset as JSON, CSV, Excel, or XML from the Output tab, or pull it via the [Apify API](https://docs.apify.com/api/v2).

### Input

The actor accepts the following fields. You can provide any combination of `searchQuery`, `asins`, and `startUrls` — they all feed into the same output dataset.

```json
{
    "searchQuery": "wireless earbuds",
    "asins": ["B08N5WRWNW", "B09G9HD6PD"],
    "startUrls": [
        { "url": "https://www.amazon.com/dp/B0B3BVWJ6Y" },
        { "url": "https://www.amazon.com/s?k=mechanical+keyboard" }
    ],
    "country": "US",
    "maxResults": 50,
    "maxSearchPages": 3,
    "scrapeProductDetails": true,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": ["RESIDENTIAL"]
    }
}
````

| Field | Type | Purpose |
|---|---|---|
| `searchQuery` | string | Keyword to search Amazon with. Paginated. |
| `asins` | array of strings | 10-char ASIN codes to resolve on the selected marketplace. |
| `startUrls` | array | Direct product / search / category URLs; domain overrides `country`. |
| `country` | enum | One of 18 marketplace codes (US, UK, DE, FR, CA, ES, IT, JP, AU, IN, MX, BR, NL, SE, PL, TR, AE, SG). |
| `maxResults` | integer | Hard cap on products returned. 1 billable event per product. |
| `maxSearchPages` | integer | Max search/category pages paginated per seed URL. |
| `scrapeProductDetails` | boolean | Fetch each product's full detail page. `false` = search-page preview only (faster, cheaper, shallower). |
| `proxyConfiguration` | object | Defaults to Apify Residential. Datacenter proxies are blocked by Amazon. |

### Output

Each product is pushed to the dataset as a single flat JSON object. Example:

```json
{
    "asin": "B08N5WRWNW",
    "title": "Apple AirPods Pro (2nd Generation) Wireless Earbuds",
    "url": "https://www.amazon.com/dp/B08N5WRWNW",
    "marketplace": "US",
    "brand": "Apple",
    "price": 199.99,
    "listPrice": 249.00,
    "currency": "USD",
    "discountPercent": 20,
    "rating": 4.7,
    "reviewCount": 85432,
    "boughtInPastMonth": "100K+ bought in past month",
    "availability": "In Stock",
    "inStock": true,
    "isPrime": true,
    "seller": "Amazon.com",
    "isFBA": true,
    "bestSellerRank": [
        { "category": "Electronics", "rank": 1 },
        { "category": "Earbud & In-Ear Headphones", "rank": 1 }
    ],
    "bullets": [
        "Active Noise Cancellation reduces unwanted background noise",
        "Adaptive Transparency lets outside sounds in while reducing harsh noises"
    ],
    "description": "Redesigned for even more magic…",
    "images": [
        "https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_SL1500_.jpg"
    ],
    "thumbnail": "https://m.media-amazon.com/images/I/61SUj2aKoEL._AC_SL1500_.jpg",
    "variants": [{ "asin": "B0BDHWDR12", "label": "White" }],
    "breadcrumbs": ["Electronics", "Headphones", "Earbud Headphones"],
    "sourceType": "search",
    "scrapedAt": "2026-04-24T04:20:00.000Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel from the Apify Console Output tab, or retrieve it via the [dataset API](https://docs.apify.com/api/v2#tag/Datasets).

### Data table

| Field | Type | Notes |
|---|---|---|
| `asin` | string | Amazon Standard Identification Number (always present) |
| `title` | string | Product title |
| `url` | string | Canonical product URL |
| `marketplace` | string | US, UK, DE, FR… |
| `brand` | string | null | Brand / manufacturer |
| `price` | number | null | Current price in marketplace currency |
| `listPrice` | number | null | Original (strike-through) price |
| `currency` | string | ISO currency code |
| `discountPercent` | number | null | Computed from price vs listPrice |
| `rating` | number | null | 0–5 |
| `reviewCount` | integer | null | Total customer ratings |
| `boughtInPastMonth` | string | null | Amazon's purchase-frequency badge |
| `availability` | string | null | Stock status text |
| `inStock` | boolean | null | Parsed stock flag |
| `isPrime` | boolean | null | Prime eligibility |
| `seller` | string | null | Merchant name |
| `isFBA` | boolean | null | Fulfilled by Amazon |
| `bestSellerRank` | array | null | `[{category, rank}]` |
| `bullets` | string\[] | null | Feature bullet points |
| `description` | string | null | Long description |
| `images` | string\[] | null | Hi-res image URLs |
| `thumbnail` | string | null | Primary image URL |
| `variants` | array | null | Size / colour / style variants |
| `breadcrumbs` | string\[] | null | Category path |
| `sourceType` | enum | `search` | `category` | `product` | `asin` |
| `scrapedAt` | ISO 8601 | UTC timestamp |

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

Billing is **pay-per-event**:

| Event | Price | Charged when |
|---|---|---|
| Actor start | $0.00005 | Once per run, per GB RAM (effectively free) |
| Product scraped | **$0.004** | Per product successfully returned to the dataset |

Example runs:

- **25 products** for a competitive-pricing check → **~$0.10**
- **100 products** for a brand catalog audit → **~$0.40**
- **1,000 products** for a keyword-category deep-dive → **~$4.00**

No per-offer, per-seller, or per-delivery-location upcharges. What you see is what you pay.

Apify's Free plan includes **$5/month in platform credits** — enough to scrape ~1,250 products for free every month.

### Tips & advanced options

- **Start small.** Run with `maxResults: 5` first to confirm the output shape matches what your pipeline expects.
- **Use `scrapeProductDetails: false`** for rapid keyword-scale runs when you only need search-page fields (title, price, rating, thumbnail). Roughly 3× faster.
- **Residential proxies are mandatory** for reliable Amazon scraping in 2026. The default proxy config ships correct — override only if you know what you're doing.
- **Cap `maxSearchPages` at 7** for search queries — Amazon caps most keyword searches at ~7 pages of results anyway, so higher values waste compute.
- **Mix inputs freely.** You can pass `searchQuery` + `asins` + `startUrls` in the same run; all products feed the same dataset.
- **For category pages**, pass the category URL in `startUrls` rather than scraping the search endpoint — deeper and more consistent pagination.

### Use with AI agents and MCP

This actor is exposed on the [Apify MCP server](https://mcp.apify.com/) as `apify--amazon-product-scraper`. Any Claude, ChatGPT, or Cursor agent connected to Apify MCP can call it like any other tool. Output is intentionally flat and bounded per record for agent-friendly consumption.

Pair with:

- [`khadinakbar/amazon-reviews-scraper`](https://apify.com/khadinakbar/amazon-reviews-scraper) for customer review and sentiment data
- [`khadinakbar/google-shopping-scraper`](https://apify.com/khadinakbar/google-shopping-scraper) for cross-channel price comparison

### FAQ

**Is scraping Amazon legal?** Scraping publicly visible product pages for personal research, price comparison, and competitive analysis is generally accepted. You are responsible for complying with Amazon's Conditions of Use, applicable laws (GDPR/CCPA), and any robot-exclusion directives relevant to your jurisdiction and use case. This actor does not bypass logins, paywalls, or DRM.

**Why is my run returning fewer results than `maxResults`?** Amazon caps search pagination at ~7 pages, category pages at varying limits, and some products are blocked mid-scrape. The actor pushes every successful scrape even if it can't hit the target exactly.

**Why should I use residential proxies?** Amazon's bot detection actively blocks datacenter IP ranges. Residential proxies rotate real consumer IPs and consistently yield 95%+ success on product and search pages.

**Can I scrape Amazon reviews with this actor?** No — this actor focuses on product data. For customer reviews, use [`khadinakbar/amazon-reviews-scraper`](https://apify.com/khadinakbar/amazon-reviews-scraper).

**Which currencies are supported?** Whatever currency the marketplace sells in — USD, GBP, EUR, CAD, AUD, JPY, INR, MXN, BRL, SEK, PLN, TRY, AED, SGD.

### Support

Found a bug, missing field, or a marketplace you need? Open an issue on the Apify Store listing (the **Issues** tab under this actor). Feature requests with specific use cases get prioritized.

***

**Disclaimer:** This actor is not affiliated with, endorsed by, or sponsored by Amazon.com, Inc. All trademarks and registered trademarks are the property of their respective owners. Use responsibly and in compliance with Amazon's Terms of Service.

# Actor input Schema

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

Free-text keyword search run on Amazon (e.g. 'wireless earbuds'). Opens the search results page for the selected marketplace and extracts each product. NOT an Amazon URL — paste URLs into 'startUrls' instead. Leave empty if you use 'asins' or 'startUrls'.

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

Specific Amazon Standard Identification Numbers (e.g. \['B08N5WRWNW','B09G9HD6PD']). Each ASIN is resolved against the selected marketplace domain. NOT a URL list — for URLs use 'startUrls'. NOT a keyword — for keywords use 'searchQuery'.

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

Direct Amazon URLs — product pages ('/dp/ASIN'), search result pages ('/s?k=...'), or category pages. The domain inside each URL overrides the 'country' setting below. Use this when you already have the exact URLs to scrape.

## `country` (type: `string`):

Which Amazon marketplace to use when you pass 'searchQuery' or 'asins'. Ignored when 'startUrls' contains a different Amazon domain. Defaults to US (amazon.com).

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

Maximum products to scrape across all inputs combined (searchQuery + asins + startUrls). Each product returned is billed as one 'product-scraped' event at $0.004. Start small (5–25) to verify output before large jobs.

## `maxSearchPages` (type: `integer`):

Maximum search or category result pages to paginate through per start URL or search query. Each page has ~48 products. Amazon caps most searches at ~7 pages — higher values are silently clipped.

## `scrapeProductDetails` (type: `boolean`):

When true, every product found on a search/category page is fetched again on its own product page for full data (bullets, A+ content, BSR, variants, seller). When false, the scraper returns only the summary fields visible on the search page — faster and cheaper but shallower.

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

Amazon blocks datacenter IPs — residential proxies are required and are the default. Override only if you have a specific compliance reason.

## Actor input object example

```json
{
  "searchQuery": "wireless earbuds",
  "asins": [],
  "startUrls": [],
  "country": "US",
  "maxResults": 25,
  "maxSearchPages": 3,
  "scrapeProductDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "country": "US",
    "maxResults": 25,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/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 = {
    "country": "US",
    "maxResults": 25,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Product Scraper",
        "description": "Scrape Amazon product data — price, BSR, rating, seller, FBA status, variants — from search, category, URL, or ASIN input across 18 marketplaces. Flat JSON output optimized for AI agents and MCP.",
        "version": "0.1",
        "x-build-id": "KaGjZgeWfKCqcoRbK"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~amazon-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-amazon-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/khadinakbar~amazon-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-amazon-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/khadinakbar~amazon-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-amazon-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search query",
                        "type": "string",
                        "description": "Free-text keyword search run on Amazon (e.g. 'wireless earbuds'). Opens the search results page for the selected marketplace and extracts each product. NOT an Amazon URL — paste URLs into 'startUrls' instead. Leave empty if you use 'asins' or 'startUrls'."
                    },
                    "asins": {
                        "title": "ASIN list",
                        "type": "array",
                        "description": "Specific Amazon Standard Identification Numbers (e.g. ['B08N5WRWNW','B09G9HD6PD']). Each ASIN is resolved against the selected marketplace domain. NOT a URL list — for URLs use 'startUrls'. NOT a keyword — for keywords use 'searchQuery'.",
                        "items": {
                            "type": "string",
                            "pattern": "^[A-Z0-9]{10}$"
                        },
                        "default": []
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Direct Amazon URLs — product pages ('/dp/ASIN'), search result pages ('/s?k=...'), or category pages. The domain inside each URL overrides the 'country' setting below. Use this when you already have the exact URLs to scrape.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "country": {
                        "title": "Amazon marketplace",
                        "enum": [
                            "US",
                            "UK",
                            "DE",
                            "FR",
                            "CA",
                            "ES",
                            "IT",
                            "JP",
                            "AU",
                            "IN",
                            "MX",
                            "BR",
                            "NL",
                            "SE",
                            "PL",
                            "TR",
                            "AE",
                            "SG"
                        ],
                        "type": "string",
                        "description": "Which Amazon marketplace to use when you pass 'searchQuery' or 'asins'. Ignored when 'startUrls' contains a different Amazon domain. Defaults to US (amazon.com).",
                        "default": "US"
                    },
                    "maxResults": {
                        "title": "Max products",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum products to scrape across all inputs combined (searchQuery + asins + startUrls). Each product returned is billed as one 'product-scraped' event at $0.004. Start small (5–25) to verify output before large jobs.",
                        "default": 50
                    },
                    "maxSearchPages": {
                        "title": "Max search pages",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum search or category result pages to paginate through per start URL or search query. Each page has ~48 products. Amazon caps most searches at ~7 pages — higher values are silently clipped.",
                        "default": 3
                    },
                    "scrapeProductDetails": {
                        "title": "Scrape full product pages",
                        "type": "boolean",
                        "description": "When true, every product found on a search/category page is fetched again on its own product page for full data (bullets, A+ content, BSR, variants, seller). When false, the scraper returns only the summary fields visible on the search page — faster and cheaper but shallower.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Amazon blocks datacenter IPs — residential proxies are required and are the default. Override only if you have a specific compliance reason.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
