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

Amazon Product Scraper: Enterprise-grade tool extracting real-time ASINs, pricing, reviews, specs & seller data from all Amazon marketplaces. No-cache API alternative with geo-targeting, smart proxy rotation & advanced captcha solving. Bulk processing for product/search URLs. 1000 URLs = $2.8.

- **URL**: https://apify.com/datascoutapi/amazon-product-scraper.md
- **Developed by:** [halam](https://apify.com/datascoutapi) (community)
- **Categories:** Integrations, MCP servers, Automation
- **Stats:** 42 total users, 2 monthly users, 92.1% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.98 / 1,000 results

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

## Advance Amazon Product Scraper

Extract comprehensive Amazon product data with our powerful, enterprise-grade scraper. Get real-time product information, pricing, reviews, and detailed specifications from any Amazon marketplace worldwide.

### 🚀 What You Can Extract

**Product Information**: Complete product details including ASIN, title, brand, category, description, and specifications
**Pricing Data**: Current prices, discounts, list prices, shipping costs, and availability status
**Customer Reviews**: Star ratings, review counts, detailed customer feedback, and sentiment analysis
**Product Images**: High-resolution product images and media content
**Inventory Data**: Stock levels, availability, and shipping information
**Seller Information**: Merchant details, ratings, and fulfillment options
**Product Variations**: All available colors, sizes, styles, and configuration options

### ✨ Key Features

**Multi-Marketplace Support**: Scrape from all Amazon domains (com, co.uk, de, fr, it, es, ca, au, jp, in, mx, br)
**Advanced Configuration**: Full control over scraping parameters and data extraction
**Real-Time Data**: Get fresh, up-to-date information directly from Amazon
**Bulk Processing**: Handle multiple URLs efficiently in single runs
**Smart Detection**: Automatically identifies product vs search URLs
**Geo-Targeting**: Location-specific pricing and availability data
**Anti-Detection**: Built-in proxy rotation and captcha handling

### Supported URL Formats

#### Product URLs

- `https://amazon.com/dp/B0CSZ7WBYW`
- `https://amazon.com/product-name/dp/B0CSZ7WBYW/ref=...`
- Any Amazon product page URL

#### Search URLs

- `https://amazon.com/s?k=iphone`
- `https://amazon.com/s?k=ninja+air+fryer`
- `https://amazon.com/s?k=iphone&crid=123&sprefix=ipho&ref=...`
- Any Amazon search page URL with additional parameters

### Features

- **Auto-detection**: Automatically detects product vs search URLs
- **Multi-marketplace**: Supports all Amazon domains (com, co.uk, de, fr, etc.)
- **Advanced Configuration**: Full control over scraping behavior
- **Batch processing**: Process multiple URLs in single run
- **Flexible Output**: Control what data to scrape

### 📋 How to Use

#### Quick Start

Simply provide Amazon URLs and configure your scraping parameters:

```json
{
  "urls": ["https://www.amazon.com/dp/B0C7HGFSN2"],
  "domain": "com",
  "maxItemsPerStartUrl": 10
}
```

### Configuration Parameters

#### Basic Settings

| Parameter | Description | Default |
|-----------|-------------|---------|
| `urls` | Array of Amazon URLs (product or search) | Required |
| `domain` | Amazon marketplace (com, co.uk, de, etc.) | "com" |
| `geo_location` | ZIP/postal code for localized pricing | "90001" |
| `language` | Language/locale (e.g., en\_US, de\_DE) | "en\_US" |

#### Scraping Control

| Parameter | Description | Default |
|-----------|-------------|---------|
| `maxItemsPerStartUrl` | Max products per URL | 10 |
| `maxSearchPagesPerStartUrl` | Max search pages (up to 9999) | 1 |
| `maxOffers` | Max offers per product | 0 |

#### Data Options

| Parameter | Description | Default |
|-----------|-------------|---------|
| `scrapeProductDetails` | Include detailed product info | true |
| `scrapeProductVariantPrices` | Include variant prices | false |
| `scrapeSellers` | Include seller information | false |
| `ensureLoadedProductDescriptionFields` | Ensure descriptions loaded | false |

#### Advanced Options

| Parameter | Description | Default |
|-----------|-------------|---------|
| `useCaptchaSolver` | Enable captcha solving | false |
| `proxyCountry` | Proxy country selection | "AUTO\_SELECT\_PROXY\_COUNTRY" |
| `country_code` | Delivery country code | "US" |
| `zip_code` | Delivery zip code | "90001" |
| `render` | Enable HTML rendering | false |

### 📊 Sample Output Data

Get clean, structured JSON data with comprehensive product information:

```json
{
  "asin": "B0C7HGFSN2",
  "title": "Example Product Name",
  "brand": "Brand Name",
  "price": "$99.99",
  "listPrice": "$129.99",
  "rating": "4.5 out of 5 stars",
  "reviewCount": "1,234 ratings",
  "availability": "In Stock",
  "description": "Complete product description...",
  "features": [
    "Key feature 1",
    "Key feature 2"
  ],
  "images": [
    "https://m.media-amazon.com/images/I/example1.jpg",
    "https://m.media-amazon.com/images/I/example2.jpg"
  ],
  "variations": {
    "color": ["Black", "White", "Red"],
    "size": ["Small", "Medium", "Large"]
  },
  "seller": {
    "name": "Seller Name",
    "rating": "98% positive"
  },
  "shipping": "FREE delivery by Thursday"
}
```

### Example Configurations

#### Basic Product Scraping

```json
{
  "urls": ["https://amazon.com/dp/B0CSZ7WBYW"],
  "domain": "com",
  "geo_location": "90001"
}
```

#### Advanced Search with Details

```json
{
  "urls": ["https://amazon.com/s?k=ninja+air+fryer"],
  "domain": "com",
  "maxItemsPerStartUrl": 50,
  "maxSearchPagesPerStartUrl": 5,
  "scrapeProductDetails": true,
  "scrapeProductVariantPrices": true,
  "scrapeSellers": true,
  "language": "en_US"
}
```

#### International Marketplace

```json
{
  "urls": ["https://amazon.de/s?k=smartphone"],
  "domain": "de",
  "language": "de_DE",
  "country_code": "DE",
  "zip_code": "10115",
  "proxyCountry": "DE"
}
```

#### High-Volume Scraping

```json
{
  "urls": ["https://amazon.com/s?k=electronics"],
  "maxItemsPerStartUrl": 100,
  "maxSearchPagesPerStartUrl": 10,
  "useCaptchaSolver": true,
  "render": true
}
```

#### Complete Configuration Example

```json
{
  "urls": ["https://www.amazon.com/s?k=iphone"],
  "domain": "com",
  "geo_location": "90001",
  "language": "en_US",
  "maxItemsPerStartUrl": 17,
  "maxSearchPagesPerStartUrl": 10,
  "maxOffers": 0,
  "scrapeProductDetails": true,
  "scrapeProductVariantPrices": true,
  "scrapeSellers": true,
  "ensureLoadedProductDescriptionFields": true,
  "useCaptchaSolver": false,
  "proxyCountry": "AUTO_SELECT_PROXY_COUNTRY",
  "country_code": "US",
  "zip_code": "90001",
  "render": false,
  "locationDeliverableRoutes": ["PRODUCT", "SEARCH", "OFFERS"]
}
```

### 💡 Use Cases

**E-commerce Analytics**: Monitor competitor prices, track product performance, and analyze market trends
**Price Monitoring**: Set up automated price tracking for products across different Amazon marketplaces
**Market Research**: Discover trending products, analyze customer reviews, and identify market opportunities
**Inventory Management**: Track product availability, stock levels, and shipping information
**Product Catalog Management**: Build comprehensive product databases with detailed specifications
**Competitive Intelligence**: Monitor competitor products, pricing strategies, and customer feedback
**Data Analysis**: Extract data for business intelligence, reporting, and strategic decision-making

### 🔧 Smart Features

**Automatic Proxy Rotation**: Built-in proxy management ensures reliable data extraction without blocks
**Geo-Targeting**: Get location-specific pricing and availability based on your target market
**Captcha Handling**: Advanced captcha solving ensures uninterrupted data collection
**Rate Limiting**: Smart request throttling prevents detection and ensures stable performance
**Data Validation**: Built-in validation ensures data accuracy and consistency

### 🌍 Supported Amazon Marketplaces

- **Amazon.com** (United States)
- **Amazon.co.uk** (United Kingdom)
- **Amazon.de** (Germany)
- **Amazon.fr** (France)
- **Amazon.it** (Italy)
- **Amazon.es** (Spain)
- **Amazon.ca** (Canada)
- **Amazon.com.au** (Australia)
- **Amazon.co.jp** (Japan)
- **Amazon.in** (India)
- **Amazon.com.mx** (Mexico)
- **Amazon.com.br** (Brazil)

### Output

Returns clean product data including:

- ASIN, title, price, rating
- Product images and descriptions
- Customer reviews and ratings
- Availability and shipping info
- Seller information (if enabled)
- Variant prices (if enabled)
- Localized pricing based on geo\_location

### 🚀 Getting Started

1. **Add URLs**: Input Amazon product or search URLs
2. **Configure Settings**: Set your scraping parameters
3. **Run Extraction**: Start the scraper and monitor progress
4. **Download Data**: Get results in JSON, CSV, or Excel format

### ✅ Data Quality & Reliability

**Real-Time Extraction**: Get fresh data directly from Amazon, not cached results
**High Accuracy**: Advanced parsing ensures precise data extraction
**Complete Coverage**: Extract all available product information and variations
**Error Handling**: Robust error recovery and retry mechanisms
**Scalable Performance**: Handle large-scale scraping operations efficiently

Ready to extract Amazon data? Start scraping now and unlock valuable e-commerce insights!

# Actor input Schema

## `urls` (type: `array`):

Supported formats:
• Product URLs: https://amazon.com/dp/B0CSZ7WBYW
• Search URLs: https://amazon.com/s?k=iphone
• Complex Search: https://amazon.com/s?k=iphone\&crid=123\&sprefix=ipho
• Any Amazon product or search page URL

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

Amazon marketplace domain

## `geo_location` (type: `string`):

ZIP/postal code for localized pricing

## `maxItemsPerStartUrl` (type: `integer`):

Maximum number of products to scrape per each start URL

## `maxSearchPagesPerStartUrl` (type: `integer`):

Maximum pages to scrape for search URLs (up to 9999)

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

Include detailed product information

## `scrapeProductVariantPrices` (type: `boolean`):

Include prices for product variants (colors, sizes, etc.)

## `scrapeSellers` (type: `boolean`):

Include seller information

## `ensureLoadedProductDescriptionFields` (type: `boolean`):

Ensure product description fields are fully loaded

## `useCaptchaSolver` (type: `boolean`):

Enable automatic captcha solving

## `render` (type: `boolean`):

Enable HTML rendering for JavaScript-heavy pages

## Actor input object example

```json
{
  "domain": "com",
  "geo_location": "90210",
  "maxItemsPerStartUrl": 10,
  "maxSearchPagesPerStartUrl": 1,
  "scrapeProductDetails": true,
  "scrapeProductVariantPrices": false,
  "scrapeSellers": false,
  "ensureLoadedProductDescriptionFields": false,
  "useCaptchaSolver": false,
  "render": false
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("datascoutapi/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 = {}

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

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/65JkmFq2QazHsUm7E/builds/7mECNsd09tpKy0aXT/openapi.json
