# Amazon Product Details Scraper 🔍 (`premiumscraper/amazon-product-details-scraper`) Actor

Extracts comprehensive product details: titles, images, video download links, prices, discounts, stock availability, category paths, swatches/variations, Frequently Bought Together items, reviewsCount, specifications, rating, sales\_volume and customer reviews ✨ Amazon Product Details Scraper 🔍

- **URL**: https://apify.com/premiumscraper/amazon-product-details-scraper.md
- **Developed by:** [Premium Scraper](https://apify.com/premiumscraper) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 product details

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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.

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

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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 Details Scraper

The **Amazon Product Details Scraper** is a professional-grade web scraping tool built to collect comprehensive specifications, inventory data, media, variations, and reviews from any Amazon product page. 

By using the **Amazon Product Details Scraper**, you can instantly transform any product URL or ASIN into clean, structured data records. Whether you need to monitor competitor price fluctuations, build digital storefront catalogs, perform sentiment review analysis, or sync inventory metrics, the **Amazon Product Details Scraper** provides a robust, fast, and unblockable execution flow that formats data into unified structured schemas.

---

### 🚀 Why Use the Amazon Product Details Scraper? (Business Use Cases)

The **Amazon Product Details Scraper** is a crucial asset for e-commerce developers, retailers, data analysts, and brand managers. Here is what a customer can achieve using the **Amazon Product Details Scraper**:

1. **Competitor Catalog Monitoring & Synchronizations 📈**
   Keep your digital storefront synchronized with current Amazon inventory. The **Amazon Product Details Scraper** pulls titles, high-resolution Alt images, specifications, and descriptions, allowing you to easily map product portfolios.
2. **Dynamic Pricing & Discount Strategies 💵**
   Monitor listing prices, strike-through original prices, coupons, and discounts. You can feed **Amazon Product Details Scraper** data into dynamic repricing tools to stay competitive.
3. **Sentiment Analysis & Customer Opinions 💬**
   The **Amazon Product Details Scraper** extracts customer review distributions, full reviews lists (with user names, titles, ratings, and text), and Amazon's AI-generated review summaries. This allows you to track customer sentiment about your brand or competitors.
4. **Market Research & Niche Tracking 🔍**
   Track product sales volumes (e.g. `400+ bought in past month`) and category breadcrumb paths using the **Amazon Product Details Scraper** to evaluate market demands.
5. **Fulfillment & Buy-Box Metrics 🚚**
   Extract seller names (`soldBy`), shipping details (`shipsFrom`), Prime badges, and used box details to understand fulfillment dynamics and buy-box ownership.

---

### 📦 Data Fields Extracted by Amazon Product Details Scraper

For every product processed, the **Amazon Product Details Scraper** extracts the following attributes, populating them across both camelCase and snake_case properties to support three target schemas simultaneously:

#### 🆔 Core Identification & URL Fields
* **`asin` (string):** The unique 10-character code identifying the product.
* **`title` / `product_title` (string):** The full product title.
* **`productUrl` / `product_url` / `url` (string):** Cleaned canonical product link.
* **`input` (string):** The raw query URL or ASIN provided by the user.
* **`source` (string):** Always `"amazon"`.

#### 🎬 Media Asset Fields
* **`product_photo` / `mainImage` (string/object):** Main high-resolution product image and its resolution.
* **`product_photos` / `imageUrlList` / `images` (array of strings):** Full list of cleaned, high-resolution Alt images from the product gallery.
* **`product_videos` / `videoeUrlList` (array of objects/strings):** Embedded product video download links (MP4) and streaming files (M3U8).

#### 💵 Pricing & Discount Fields
* **`price` / `product_price` / `priceNum` (string/float):** The current listing price.
* **`retailPrice` / `list_price` / `listPriceNum` / `product_original_price` (string/float):** Strike-through list price.
* **`currency` (string):** Standard ISO currency code (e.g. `USD`, `GBP`, `CAD`, `EUR`).
* **`country` (string):** Origin country code (e.g. `US`, `GB`, `CA`, `DE`).
* **`priceSaving` (string):** Savings percentage text (e.g. `"-12%"`).
* **`discountPercent` (integer):** Calculated discount percentage.
* **`discountAmount` (float):** Calculated discount amount (list price - listing price).
* **`coupon` (string):** Coupon badge text when present.

#### ⭐ Ratings & Customer Review Fields
* **`rating` / `productRating` / `product_star_rating` / `rating_stars` (string):** Display rating text (e.g. `4.2 out of 5 stars`).
* **`ratingNum` (float):** The rating converted to a decimal float value.
* **`reviewsCount` / `countReview` / `product_num_ratings` / `rating_count` (integer):** The total number of ratings left for the product.
* **`rating_distribution` (object):** Stars percentage breakdown map (e.g. `{"5": 65, "4": 15, "3": 7, "2": 3, "1": 10}`).
* **`customers_say` / `customer_review_summary` / `reviewInsights` (string/object):** AI-generated text summary of customer reviews.
* **`top_reviews` / `reviews` / `globalReviews` (array of objects):** Recent customer reviews list, including review ID, stars, user, title, text, date, and selected variations.

#### 🚚 Shipping & Seller Details
* **`delivery` / `priceShippingInformation` / `delivery_date` / `fastest_delivery_date` (string):** Display shipping date and delivery fees.
* **`shipsFrom` (string):** Shipping carrier/source.
* **`soldBy` / `seller_name` (string):** Merchant seller name.
* **`isPrime` / `prime` (boolean):** `true` if eligible for Prime shipping.
* **`buyBoxUsed` (object):** Used buybox condition, seller, and pricing details.
* **`badge` (string):** Highlight badges (e.g. `Best Seller`, `Amazon's Choice`).
* **`sales_volume` / `pastSales` / `recent_purchases` (string):** Social proof sales volume text (e.g. `400+ bought in past month`).

#### 🛑 Specifications & Variations
* **`brand` / `product_byline` / `brand_name` (string):** Product manufacturer brand name.
* **`availability` / `product_availability` / `warehouseAvailability` (string):** Stock status (e.g. `Only 2 left in stock`).
* **`currentlyUnavailable` (boolean):** `true` if the item is out of stock.
* **`aboutThisItem` / `features` / `about_product` / `aboutProduct` (array of strings):** Product bullet points summary list.
* **`description` / `productDescription` (string):** Detailed description text.
* **`specifications` / `product_information` (object):** Complete technical detail table mappings.
* **`product_details` (object):** Brand, color, screen size specifications dictionary.
* **`product_variations` / `variations` (object/array):** Size/color variation swatches.
* **`frequently_bought_together` (array of objects):** Related products frequently bought together.
* **`category_path` / `categoriesExtended` / `breadcrumbs` (array of objects/string):** Full wayfinding breadcrumb categories.
* **`fetched_at` / `scrape_time` (string):** ISO timestamps.

---

### 📋 How to Configure and Run Amazon Product Details Scraper

Running the **Amazon Product Details Scraper** on the Apify Platform is straightforward:

1. Open the **Amazon Product Details Scraper** run configuration page.
2. Insert target product links or ASINs to the **Amazon Product Details Scraper** input parameters list.
3. Choose the geographic exit country for **Amazon Product Details Scraper** proxies.
4. Click **Start** to run the **Amazon Product Details Scraper**

#### Example Input Configuration:
```json
{
    "urls": [
        "https://www.amazon.com/dp/B00P8XQPY4",
        "B0DLHNWHRF"
    ],
    "proxyCountry": "US"
}
````

***

Deploy the **Amazon Product Details Scraper** today to get the most reliable, clean, and unique Amazon product details data!

# Actor input Schema

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

List of Amazon product detail URLs or 10-character ASIN strings (e.g. \['https://www.amazon.com/dp/B00P8XQPY4', 'B0DLHNWHRF']). Supports short and long search links from any regional Amazon marketplace.

## `proxyCountry` (type: `string`):

Choose the residential proxy exit country. US is recommended for widest catalog compatibility.

## Actor input object example

```json
{
  "urls": [
    "https://www.amazon.com/dp/B00P8XQPY4",
    "B0DLHNWHRF"
  ],
  "proxyCountry": "US"
}
```

# 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 = {
    "urls": [
        "https://www.amazon.com/dp/B00P8XQPY4",
        "B0DLHNWHRF"
    ],
    "proxyCountry": "US"
};

// Run the Actor and wait for it to finish
const run = await client.actor("premiumscraper/amazon-product-details-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 = {
    "urls": [
        "https://www.amazon.com/dp/B00P8XQPY4",
        "B0DLHNWHRF",
    ],
    "proxyCountry": "US",
}

# Run the Actor and wait for it to finish
run = client.actor("premiumscraper/amazon-product-details-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 '{
  "urls": [
    "https://www.amazon.com/dp/B00P8XQPY4",
    "B0DLHNWHRF"
  ],
  "proxyCountry": "US"
}' |
apify call premiumscraper/amazon-product-details-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Product Details Scraper 🔍",
        "description": "Extracts comprehensive product details: titles, images, video download links, prices, discounts, stock availability, category paths, swatches/variations, Frequently Bought Together items, reviewsCount, specifications, rating, sales_volume and customer reviews ✨ Amazon Product Details Scraper 🔍",
        "version": "1.0",
        "x-build-id": "e6QthaYn7Nc8hJQeZ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/premiumscraper~amazon-product-details-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-premiumscraper-amazon-product-details-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/premiumscraper~amazon-product-details-scraper/runs": {
            "post": {
                "operationId": "runs-sync-premiumscraper-amazon-product-details-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/premiumscraper~amazon-product-details-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-premiumscraper-amazon-product-details-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",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "🔗 Product URLs / ASINs",
                        "type": "array",
                        "description": "List of Amazon product detail URLs or 10-character ASIN strings (e.g. ['https://www.amazon.com/dp/B00P8XQPY4', 'B0DLHNWHRF']). Supports short and long search links from any regional Amazon marketplace.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "proxyCountry": {
                        "title": "🌐 Proxy Country",
                        "enum": [
                            "US",
                            "GB",
                            "AU",
                            "CA",
                            "DE",
                            "FR",
                            "NL",
                            "IT",
                            "ES",
                            "SE",
                            "NO",
                            "DK",
                            "FI",
                            "BE",
                            "AT",
                            "CH",
                            "IE",
                            "PL",
                            "PT",
                            "CZ",
                            "HU",
                            "RO",
                            "GR",
                            "JP",
                            "KR",
                            "SG",
                            "IN",
                            "BR",
                            "MX",
                            "AR",
                            "TR"
                        ],
                        "type": "string",
                        "description": "Choose the residential proxy exit country. US is recommended for widest catalog compatibility.",
                        "default": "US"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
