# Amazon Product Scraper API (`antonio_cesar/amazon-product-scraper-api`) Actor

Collect live Amazon product prices, availability, ratings, images, ASINs, delivery details, and metadata from 22 marketplaces.

- **URL**: https://apify.com/antonio\_cesar/amazon-product-scraper-api.md
- **Developed by:** [Antônio César](https://apify.com/antonio_cesar) (community)
- **Categories:** E-commerce, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 amazon results

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/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

### What does Amazon Product Scraper API do?

**Amazon Product Scraper API** turns Amazon ASINs or product URLs into live, structured product records. It collects prices, availability, ratings, review counts, images, brands, delivery information, and other product metadata across 22 Amazon marketplaces. Free-plan and paid users can run the same complete workflow.

The Actor runs as a batch job on Apify, so you can call it through the API, schedule recurring collections, monitor runs, and send results to webhooks, Make, Zapier, Google Sheets, or your own data warehouse. Collection uses managed data infrastructure; you do not need to configure browsers, proxies, or a separate provider account.

### Why use Amazon Product Scraper API?

Use the Actor for price and stock research, catalog enrichment, assortment comparison, product intelligence, competitive monitoring, or marketplace analysis. Its stable normalized fields protect integrations from common provider-specific field-name changes, while optional sanitized `rawData` preserves additional fields for advanced use cases.

### How to scrape Amazon product data

1. Open the Actor and click **Try for free**.
2. Enter one or more ASINs or HTTPS Amazon product URLs.
3. Choose the marketplace used for ASIN-only inputs.
4. Optionally enter a postal code or language.
5. Start the run and open the **Products** dataset view.

### Input

`products` accepts up to 500 unique ASINs or URLs. `marketplace` is used only for ASINs; a full URL keeps its own domain. `postalCode` and `language` localize compatible fields. Enable `includeRawData` only when the normalized contract is not enough.

```json
{
  "products": ["B0CRMZHDG8", "https://www.amazon.de/dp/B0ABCDEFGHI"],
  "marketplace": "amazon.com",
  "includeRawData": false
}
```

### Output

```json
{
  "recordType": "product_details",
  "input": "B0CRMZHDG8",
  "marketplace": "https://www.amazon.com",
  "asin": "B0CRMZHDG8",
  "title": "Example product",
  "finalPrice": 34.99,
  "currency": "USD",
  "rating": 4.6,
  "reviewsCount": 1250,
  "sourceUrl": "https://www.amazon.com/dp/B0CRMZHDG8",
  "scrapedAt": "2026-08-21T12:00:00Z"
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

### Data table

| Field | Meaning |
|---|---|
| `asin` | Amazon product identifier |
| `title`, `brand` | Product identity |
| `finalPrice`, `currency` | Current normalized price |
| `rating`, `reviewsCount` | Product feedback summary |
| `availability` | Stock or availability text |
| `sourceUrl`, `imageUrl` | Product and primary image links |

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

The PPE price is **US$0.008 per delivered record**, or **US$8 per 1,000 results**. Five results cost US$0.04 and 100 cost US$0.80. The standard Apify Actor-start event is US$0.00005 per applicable start unit. Platform usage is included in the event price.

### Tips and advanced options

Start with five products to confirm marketplace coverage and fields. Deduplicate ASINs before scheduling, use postal codes only when localization matters, and keep raw data disabled for smaller exports. Errors are stored separately in `ERRORS` and are not mixed into the results dataset.

### FAQ, disclaimers, and support

**Unofficial — not affiliated with or endorsed by Amazon.** Make sure your use complies with applicable law, Amazon terms, privacy rules, and intellectual-property rights. Results can vary by marketplace, location, product availability, and Amazon page changes. Open the Actor **Issues** tab for support or to request a custom integration.

Need multiple data types? Use [Amazon Scraper API: Products, Reviews & Sellers](https://apify.com/antonio_cesar/amazon-data-suite).

# Actor input Schema

## `products` (type: `array`):

Enter 1–500 ASINs or HTTPS Amazon product URLs. A pasted URL determines its own marketplace.

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

Used when an input is an ASIN. Product URLs keep their own Amazon domain.

## `postalCode` (type: `string`):

Optional delivery location used for localized prices and availability.

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

Optional locale. Leave Automatic to use the marketplace default.

## `includeRawData` (type: `boolean`):

Keep the normalized contract and also include sanitized provider fields under rawData.

## Actor input object example

```json
{
  "products": [
    "B0CRMZHDG8"
  ],
  "marketplace": "amazon.com",
  "postalCode": "",
  "language": "",
  "includeRawData": false
}
```

# Actor output Schema

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

Successful normalized Amazon records. Validation and upstream errors are never mixed into this billable dataset.

## `summary` (type: `string`):

Live or final run status with requested, successful, failed, and charged counts.

## `errors` (type: `string`):

Structured validation or upstream errors, kept outside the results dataset.

# 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 = {
    "products": [
        "B0CRMZHDG8"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("antonio_cesar/amazon-product-scraper-api").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 = { "products": ["B0CRMZHDG8"] }

# Run the Actor and wait for it to finish
run = client.actor("antonio_cesar/amazon-product-scraper-api").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 '{
  "products": [
    "B0CRMZHDG8"
  ]
}' |
apify call antonio_cesar/amazon-product-scraper-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,antonio_cesar/amazon-product-scraper-api"
        }
    }
}

```

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/59I3LSGxbDVr8GJ6i/builds/Vca9AXbDznlyDf3vO/openapi.json
