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

Effortlessly scrape comprehensive Amazon product details, including pricing, reviews, ratings, availability, and more. Ideal for market analysis, competitor tracking, and data-driven decision-making. 🚀

- **URL**: https://apify.com/delicious\_zebu/amazon-product-details-scraper.md
- **Developed by:** [ВAH](https://apify.com/delicious_zebu) (community)
- **Categories:** E-commerce, Automation, Integrations
- **Stats:** 448 total users, 57 monthly users, 100.0% runs succeeded, 47 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$1.50 / 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.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Amazon Product Details Scraper – ASIN & Product URL Data Extractor

Effortlessly scrape **rich, structured Amazon product details** from any product page using **ASINs or product detail URLs**.
Perfect for **price monitoring, catalog enrichment, competitor tracking, product sourcing, and e-commerce automation**.

***

### 🔍 What This Actor Does

You already know which products you care about. This Actor turns that list into **clean, structured data** — **45 fields per product** — in a downloadable dataset (JSON, CSV, Excel via Apify).

You can:

- Paste **ASINs** (e.g. `B09SFPJS27`)
- Paste **product detail URLs** (e.g. `https://www.amazon.de/dp/B09SFPJS27`)
- **Mix both in the same run**, even across different Amazon country websites

No Amazon account, no Amazon API key — the Actor reads the same public product pages you see in your browser.

***

### 🌍 Which Amazon Country Website Gets Scraped

This is the single most important rule, and it is simple:

| What you paste | Which Amazon site is used |
|---|---|
| **A bare ASIN** (`B09SFPJS27`) | The site chosen in the **Country website** setting — **`amazon.com` by default** |
| **A full product URL** (`https://www.amazon.co.jp/dp/B09SFPJS27`) | **The URL's own domain always wins** — here, Amazon Japan — no matter what **Country website** is set to |

Because of that, **one run can cover several marketplaces**: put your US ASINs in as bare ASINs with **Country website = United States**, and add full `amazon.de` / `amazon.co.jp` URLs alongside them.

> ⚠️ The **same ASIN can be a completely different product on a different country site**. If your ASINs came from Amazon UK, set **Country website** to United Kingdom — otherwise you will get whatever that ASIN happens to be on amazon.com.

***

### 🌟 Key Features

- **Two input types, freely mixed**
  - **ASIN** — the fastest way to feed in a list from a spreadsheet, database, or another Actor
  - **Product detail URL** — any `/dp/`, `/gp/product/` style Amazon product page URL
  - Duplicates in your list are scraped only once
- **20 Amazon country websites**
  - **Amazon.com, UK, Germany, Canada, Australia, India, Singapore, Ireland, Mexico, Spain, Brazil, Saudi Arabia, UAE, Egypt, Italy, Japan, Netherlands, Poland, Sweden and Turkey** — each exactly as its local buyers see it (local language, currency and delivery)
- **Language, currency & delivery location settings**
  - Same options as Amazon's own **Change language** / **Change currency** / **Deliver to** menus
  - **16 languages**, **83 currencies**, and the exact buy box shown to buyers in any of Amazon's **240 ship-to countries** — or at a precise **zip code** (works on every website, using its own postal system)
- **45 structured fields per product**, all from the pages Amazon already serves — no extra requests
  - Input source (the ASIN/URL each row came from), ASIN, product URL, title, brand & brand page, breadcrumbs
  - Price (as text **and** a numeric `price_value` + `currency` code), list price, discount %, unit price, Subscribe & Save price, coupon
  - Rating stars, rating count, rating distribution, Best Sellers Rank, "bought in past month", badge (Amazon's Choice / Best Seller)
  - Default variant **and all variants** (every variant ASIN + attributes)
  - Buy box: availability, delivery & fastest delivery date, ships from, seller name & page, returns policy, **other sellers** (offer count + lowest price)
  - Full-size images, **product videos** (title, duration, stream URL, creator type)
  - About this item, the complete **Product information** table, model number, manufacturer, what's in the box, important information (ingredients / directions / safety)
  - Product description **and** the A+ "From the manufacturer" text
  - Amazon's AI review summary, "Customers say" aspect tags (mentions, positive / negative), top reviews (local + international)
  - Scrape timestamp
- **Clean, analysis-ready output**
  - Ideal for **BI tools, spreadsheets, data warehouses, and ML pipelines**
- **Built for recurring monitoring**
  - Same ASIN list, same 45 fields, every run — schedule it daily or weekly to track price, stock and rank changes

***

### ⚖️ Why Choose This Amazon Product Details Scraper

| Capability | This Actor | Typical ASIN scrapers |
|---|---|---|
| Input types | **ASINs and product URLs, mixed in one run** | Usually one or the other |
| Country websites | **20** (US, UK, DE, JP, CA, AU, IN, ES, IT, BR, MX, and more) | Usually US only |
| Multiple marketplaces in a single run | ✅ via full URLs | Rare |
| Language & currency | Per-website language + currency options | Rare |
| Price as a number + currency code | ✅ `price_value` + `currency` | Often a raw string only |
| All product variants (ASIN + attributes) | ✅ | Often default variant only |
| Coupons & badges (Best Seller / Amazon's Choice) | ✅ | Rare |
| AI customer review summary + "Customers say" aspects + top reviews | ✅ | Rare |
| Product videos, other-seller offers, A+ manufacturer text | ✅ | Rare |
| No Amazon API key needed | ✅ | ✅ |

***

### 📥 Input Parameters

There is **one required field** (`Params`) and **five optional settings**. That's the whole input.

#### 🛒 What to scrape

- **`Params`** – **required**. Amazon product **ASINs or product detail URLs**, one per line. You can mix both.
  - ASIN, e.g. `B09SFPJS27` → scraped from the site in **Country website** below.
  - Product URL, e.g. `https://www.amazon.de/dp/B09SFPJS27` → **the domain in the URL wins**, so this one is scraped from Amazon Germany whatever **Country website** says.
  - Duplicates are scraped only once.
- **`website`** – **Country website (for bare ASINs)**. Which Amazon country site bare ASINs are scraped from, same as Amazon's *Change country/region* menu. 20 sites: United States, Germany, United Kingdom, Canada, Australia, India, Singapore, Ireland, Mexico, Spain, Brazil, Saudi Arabia, UAE, Egypt, Italy, Japan, Netherlands, Poland, Sweden, Turkey. Default `amazon.com`. **Ignored for inputs that are full URLs.**
- **`language`** – page language, same as Amazon's *Change language* menu (16 languages). `Site default` keeps each country site's own language. A URL that already carries a language (e.g. `/-/en/` in the path) keeps that language.

#### 📍 Delivery & currency

These live in the Amazon session, so they apply to **ASINs and URLs alike** — a URL cannot carry them.

- **`deliverTo`** – **Deliver To**: delivery country for **amazon.com**, same as the *Deliver to* location in the top-left of Amazon pages (Amazon's full 240-entry ship-to list). It changes prices, availability and which offers appear — pick the country your buyers are in. Other country websites always deliver domestically.
- **`zipCode`** – optional postal code for a precise *Deliver to* location, in the selected site's own format (e.g. `10010` on amazon.com, `160-0022` on amazon.co.jp). A code Amazon rejects falls back to the site's default location (noted in the run log). On amazon.de and amazon.co.uk the location follows a local IP instead, so zip codes can't be applied there.
- **`currency`** – same as Amazon's *Change currency* menu (83 currencies). `Site default` keeps the site's own currency. Amazon converts prices where it supports the chosen currency; otherwise they stay in the site's currency. On amazon.com, conversion only applies when **Deliver to** is outside the US. The output's `currency` field always reflects the **actual** currency of each price.

**Example input:**

```json
{
  "Params": [
    "B09SFPJS27",
    "B00091S3K4",
    "https://www.amazon.de/dp/B077Z99YGY"
  ],
  "website": "amazon.com",
  "language": "default",
  "currency": "default",
  "deliverTo": "US",
  "zipCode": "10010"
}
```

The first two ASINs are scraped from **amazon.com**; the third input is scraped from **Amazon Germany**, because its URL says so.

***

### 📋 What Data You Can Extract

Each product returns the following **45 fields**, in this order:

| Field | Type | Description |
|---|---|---|
| `search_source` | string | The ASIN or URL from your input that this row came from — join your results back to your list |
| `asin` | string | Amazon product ID |
| `product_url` | string | Product detail page URL (on the scraped website) |
| `title` | string | Product title |
| `brand_name` | string | Brand / store name |
| `brand_page_url` | string | Brand store URL, if any |
| `breadcrumbs` | string | Category path |
| `price` | string | Price as shown, with currency symbol |
| `price_value` | number | Price as a number, ready for sorting/analysis |
| `currency` | string | Currency code of the price (e.g. `USD`, `EUR`, `JPY`) |
| `list_price` | string | Original / list price when discounted |
| `discount_percent` | string | Discount shown next to the price, e.g. `-37%` (empty if none) |
| `unit_price` | string | Price per unit for consumables, e.g. `$0.80 / ounce` |
| `subscribe_save_price` | string | Subscribe & Save price when offered |
| `coupon` | string | Coupon on the product, if any (e.g. `Apply $3 coupon`) |
| `rating_stars` | string | Average rating (e.g. `4.5`) |
| `rating_count` | string | Number of ratings |
| `rating_distribution` | object | % of 5/4/3/2/1-star reviews |
| `best_sellers_rank` | string | Best Sellers Rank |
| `recent_purchases` | string | "X bought in past month", if shown |
| `badge` | string | Badge on the product page (`Amazon's Choice`, `#1 Best Seller`) |
| `default_variant` | array | The selected variant's attributes, e.g. `["Style: Classic", "Color: Black"]` |
| `variants` | array | Every variant of the product (ASIN + attributes) |
| `availability` | string | Stock/availability text |
| `delivery_date` | string | Estimated delivery date |
| `fastest_delivery_date` | string | Fastest delivery date |
| `ships_from` | string | Buy-box "Ships from" |
| `seller_name` | string | Seller name |
| `seller_page_url` | string | Seller profile URL, if any |
| `returns` | string | Buy-box returns policy, e.g. `FREE 30-day refund/replacement` |
| `other_sellers` | object | "Other sellers on Amazon" link under the buy box: `{text, count, from_price, url}`; `{}` when there is only one offer |
| `images` | array | Full-size product image URLs (all gallery images, including the ones hidden behind "+N") |
| `videos` | array | All videos on the page — gallery videos, the "Product Videos" section and the A+ hero video: `{title, duration_seconds, url, thumbnail, creator, creator_type}` — `creator_type` is Vendor / Seller / Influencer / Customer; `url` is an HLS stream (`.m3u8`) |
| `about_item` | string | "About this item" bullet points |
| `product_information` | object | Every row of Amazon's **Product information** tables (specs, item details, dimensions…), keyed by Amazon's own labels — varies by category |
| `model_number` | string | Model number |
| `manufacturer` | string | Manufacturer |
| `whats_in_the_box` | array | "What's in the box" items |
| `important_information` | object | Ingredients / Directions / Safety information sections (consumables) |
| `product_description` | string | Product description (when Amazon shows A+ content under the "Product description" heading instead of plain text, that text lands here) |
| `manufacturer_description` | string | Text of the A+ "From the manufacturer" (or "From the Publisher") section — headings and paragraphs, one per line; empty when the brand's A+ content is images only |
| `customer_review_summary` | string | Amazon's AI review summary (English pages) |
| `customer_review_aspects` | array | "Customers say" aspect tags: `{aspect, mentions, positive, negative, sentiment}` (sentiment: positive / mixed / negative) |
| `top_reviews` | array | Top reviews shown on the page (local + international): reviewer, rating, title, date, country, variant, verified\_purchase, helpful\_votes, body |
| `scrape_time` | string | When the product was scraped |

**Fields Amazon doesn't show for a product — or doesn't show on that marketplace — come back empty (`""`, `[]`, `{}`). That is normal, not an error:** the output mirrors exactly what a real buyer on that country site would see.

***

### 📤 Example Output

A **real result** for ASIN `B09SFPJS27` on `amazon.com` (long text and lists trimmed with `...`):

```json
{
    "search_source": "B09SFPJS27",
    "asin": "B09SFPJS27",
    "product_url": "https://www.amazon.com/dp/B09SFPJS27",
    "title": "UGREEN Wireless Mouse 2.4G with USB Receiver, 5-Level 4000 DPI 6 Buttons,18 Months Battery Life Cordless Mouse, Ergonomic Computer Mice for Laptop, Computer, PC, MacBook, Chromebook Black",
    "brand_name": "UGREEN",
    "brand_page_url": "https://www.amazon.com/stores/UGREEN/page/0F31675B-CB83-4FA9-8BE4-A1BC3A4763C2?lp_asin=B09SFPJS27&ref_=ast_bln",
    "breadcrumbs": "Electronics › Computers & Accessories › Computer Accessories & Peripherals › Keyboards, Mice & Accessories › Mice",
    "price": "$9.49",
    "price_value": 9.49,
    "currency": "USD",
    "list_price": "$14.99",
    "discount_percent": "-37%",
    "unit_price": "",
    "subscribe_save_price": "",
    "coupon": "",
    "rating_stars": "4.5",
    "rating_count": "13233",
    "rating_distribution": { "5star": "78%", "4star": "7%", "3star": "8%", "2star": "3%", "1star": "4%" },
    "best_sellers_rank": "#651 in Computer Mice",
    "recent_purchases": "100+ bought in past month",
    "badge": "",
    "default_variant": ["Style: Classic", "Color: Black"],
    "variants": [],
    "availability": "In Stock",
    "delivery_date": "Tuesday, September 15",
    "fastest_delivery_date": "Tomorrow, September 11",
    "ships_from": "Amazon",
    "seller_name": "UGREEN GROUP LIMITED",
    "seller_page_url": "https://www.amazon.com/gp/help/seller/at-a-glance.html?seller=AKXVBT49GGF3B&asin=B09SFPJS27",
    "returns": "FREE 30-day refund/replacement",
    "other_sellers": {
        "text": "New & Used (5) from $11.99 FREE Shipping on orders over $35.00 shipped by Amazon.",
        "count": 5,
        "from_price": "$11.99",
        "url": "https://www.amazon.com/gp/offer-listing/B09SFPJS27/ref=dp_olp_ALL_mbc?ie=UTF8&condition=ALL"
    },
    "images": [
        "https://m.media-amazon.com/images/I/61bblc2QuzL._AC_SL1500_.jpg",
        "https://m.media-amazon.com/images/I/71W16jdeuLL._AC_SL1500_.jpg",
        "..."
    ],
    "videos": [
        {"title": "UGREEN Ergonomic Wireless Mouse", "duration_seconds": 16, "url": "https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/ad6d3052-cf6d-4751-a7f3-309d01e64f31/default.jobtemplate.hls.m3u8", "thumbnail": "https://m.media-amazon.com/images/I/A1gKYONHV-L.SX522_.png", "creator": "", "creator_type": "Seller"},
        {"title": "Must Watch Wireless Mouse Review", "duration_seconds": 46, "url": "https://m.media-amazon.com/images/S/vse-vms-transcoding-artifact-us-east-1-prod/3f6eded4-1092-4252-8d25-348d78c49a92/default.vertical.jobtemplate.hls.m3u8", "thumbnail": "https://m.media-amazon.com/images/I/91FXP1V-KaL.jpg", "creator": "Bay", "creator_type": "Influencer"},
        "..."
    ],
    "about_item": "Full-Size Ergo Mouse: Following the hand's natural curve, soft rubber grips, broad palm area, and sculpted sides for extra grip greatly enhance comfort and relieve hand and wrist strain   5 Adjustable DPI: UGREEN wireless mouse has 5 adjustable DPI levels (4000/2400/1600/1200/800) ...",
    "product_information": {"Connectivity Technology": "USB", "Movement Detection": "Optical", "Button Quantity": "6", "Hand Orientation": "Right", "Battery Average Life": "18 months", "Item Weight": "72 g", "Item Dimensions L x W": "4.33\"L x 2.78\"W", "Model Number": "90545", "ASIN": "B09SFPJS27", "Color": "Black", "...": "..."},
    "model_number": "90545",
    "manufacturer": "UGREEN GROUP LIMITED",
    "whats_in_the_box": ["Ugreen Ergonomic Wireless Mouse", "USB receiver", "User Manual"],
    "important_information": {},
    "product_description": "UGREEN 2.4G Ergonomic Wireless Mouse with 5-Level DPI Settings Max 4000DPI and 6 Buttons 5-Level DPI Settings: The wireless mouse supports 800/1200/1600/2400/4000 settings to give sensitive response and smooth navigation ...",
    "manufacturer_description": "Full-size Design\nSmooth lines, non-slip sides, comfortable grip, scientific wrist protection.\nExtremely Smooth Scroll Wheel\nProvides skin-friendly feel with silicone scroll.\n...",
    "customer_review_summary": "Customers find the wireless mouse easy to use, with quick and simple setup, and appreciate its quality. However, the reliability and ergonomics receive mixed feedback ...",
    "customer_review_aspects": [
        {"aspect": "Quality", "mentions": 33, "positive": 24, "negative": 9, "sentiment": "positive"},
        {"aspect": "Reliability", "mentions": 31, "positive": 16, "negative": 15, "sentiment": "mixed"},
        {"aspect": "Responsiveness", "mentions": 11, "positive": 3, "negative": 8, "sentiment": "negative"},
        "..."
    ],
    "top_reviews": [
        {"reviewer": "K.", "rating": 4.0, "title": "Great mouse except for the scroll wheel", "date": "December 13, 2024", "country": "United States", "variant": "", "verified_purchase": true, "helpful_votes": 2, "body": "Would be 5 stars if not for the scroll wheel. The mouse itself is nice and most buttons are very quiet ..."},
        "..."
    ],
    "scrape_time": "2026-09-10 23:25"
}
```

You'll get **one such JSON object per ASIN/URL**, which you can export to CSV, Excel, or push into other systems with Apify integrations. Note the empty fields above — this product has no coupon, no unit price, no badge and no variants (`variants: []`), so Amazon shows nothing there and neither do we.

***

### 🚀 How to Scrape Amazon Product Details by ASIN

1. **Open the Actor** on Apify (`Amazon Product Details Scraper`).
2. **Paste your list into `Params`** — ASINs, product URLs, or both, one per line (straight from a spreadsheet, a database export, or another Actor).
3. **Set `Country website`** to the marketplace your **bare ASINs** belong to (full URLs bring their own).
4. Optionally set `language`, `currency`, `deliverTo` and `zipCode` to see the page the way a specific buyer sees it.
5. **Click "Run"**, then open the **Dataset** tab to:
   - Preview the data
   - Download as JSON, CSV, or Excel
   - Use Apify integrations (Zapier, Make, webhooks, API) to send it wherever you need it

Schedule the same input to run daily or weekly and you have a price, stock and rank monitor for your ASIN list.

***

### 📊 Popular Use Cases

- **Price & promotion monitoring**
  - Track `price`, `list_price`, `discount_percent`, coupons and Subscribe & Save across your ASIN list
  - Watch buy-box changes: `seller_name`, `ships_from`, `other_sellers`
- **Catalog enrichment**
  - Fill your product database with titles, bullets, descriptions, A+ text, specs and full-size images
- **Competitor & brand monitoring**
  - Follow competitor ASINs on rating, review volume, Best Sellers Rank and availability
- **Product sourcing & validation**
  - Check demand signals (`rating_count`, `recent_purchases`) and the review sentiment breakdown before you buy
- **Voice of customer & AI pipelines**
  - Feed `customer_review_summary`, `customer_review_aspects` and `top_reviews` into BI tools, LLM pipelines or recommendation systems
- **Cross-market comparison**
  - Scrape the same product on several country websites in one run and compare price, availability and delivery

***

### 💡 Tips for Best Results

- **Start with a small test batch** — 2–3 ASINs — to check the fields you need, then scale up your list.
- **Match `Country website` to where your ASINs came from.** A UK ASIN scraped on amazon.com may resolve to a different product entirely.
- **Use full URLs to mix marketplaces** in a single run instead of running the Actor once per country.
- **About language / currency / deliver-to**: the buy box genuinely changes with `deliverTo`, just like in a real browser. Products that can't ship to the selected country have no buy box, so their `price` / `availability` / `seller_name` come back empty — same as what a real buyer there sees.
- **In non-English languages**, a few label-based text fields (e.g. `seller_name`, `best_sellers_rank`) rely on Amazon's translated page labels; core fields (title, price, rating, images, ASIN) are unaffected.
- **Combine with reviews data** from the Reviews Actor for a complete 360° view of each product.

***

### 🤝 When to Use This vs My Other Amazon Actors

- Use **this Actor (Product Details)** when you:
  - Already know the **exact ASINs / product URLs** you care about.
  - Need **deep details for specific SKUs**: price, variants, specs, images, ranks, reviews summary.
- Use **[Amazon Product Data Scraper](https://apify.com/delicious_zebu/amazon-product-data-scraper)** when you:
  - Want products from **search results, category pages, or filtered listing URLs**.
  - Need to **discover** relevant products first, then drill into details here.
- Use **[Amazon Reviews Scraper with Advanced Filters](https://apify.com/delicious_zebu/amazon-reviews-scraper-with-advanced-filters)** when you:
  - Need **up to 10,000+ reviews** per ASIN with filters (rating, verified purchase, media, keywords).
  - Are doing **sentiment analysis**, **voice of customer**, or detailed review mining.

These Actors are designed to work great **together** for end-to-end Amazon analytics: discover → detail → reviews.

***

### ❓ FAQ and Support

**Can I mix ASINs and URLs in the same run?**
Yes. `Params` accepts any combination, and duplicates are scraped only once.

**Which Amazon country website will my ASIN be scraped from?**
Bare ASINs use the **Country website** setting (default `amazon.com`). Full product URLs always use their own domain and ignore that setting — so a single run can cover several marketplaces at once.

**Which Amazon websites are supported?**
20 country websites: United States, United Kingdom, Germany, Canada, Australia, India, Singapore, Ireland, Mexico, Spain, Brazil, Saudi Arabia, UAE, Egypt, Italy, Japan, Netherlands, Poland, Sweden and Turkey.

**Do I need an Amazon account or API key?**
No. This Actor works directly on Amazon's public product pages — no login, no Amazon API key.

**Can I get data in a local language or currency?**
Yes. `language` (16 options) and `currency` (83 options) apply wherever the site offers them; otherwise the site's default is used (noted in the run log). A URL that already carries a language keeps it. `deliverTo` is for amazon.com (ship-to country); other sites always deliver domestically. `zipCode` works on every site, in that site's own postal format.

**Why are some fields empty?**
Because Amazon doesn't show them for that product or on that marketplace — no coupon, no list price, no variants, no videos — or the product can't ship to the selected country. Empty values are normal and the output always reflects what a real buyer would see. Field-specific notes: `other_sellers` is `{}` when there is only one offer; `variants` is `[]` for single-variant products; `manufacturer_description` is empty when the brand's A+ section is images only; `customer_review_summary` is only shown by Amazon on English pages.

**What happens if a product is unavailable or removed?**
The Actor still returns whatever the page shows (title, specs, unavailability message), with the buy-box fields empty.

**How do I play or download the product videos?**
`videos[].url` is the same stream Amazon's player uses — an HLS playlist (`.m3u8`). Open it in VLC or download it with `ffmpeg -i <url> -c copy video.mp4`. `thumbnail` is a plain image URL.

**How do I integrate this with my own system?**
Use the Apify dataset API to fetch results as JSON, or connect the run to Zapier, Make, a webhook, or your own ETL job. Scheduling the Actor turns it into a recurring price/stock monitor.

**Is scraping this data legal / GDPR-compliant?**
This Actor collects only **publicly available product information** and does **not** collect personal data. Reviewer display names appear only as Amazon publishes them publicly on the product page. You are responsible for using the scraped data in compliance with Amazon's terms and applicable laws (including GDPR). If you have questions about your specific use case, consult a legal professional.

**Support & customization** — for issues or custom fields/logic, reach out via **Apify support**, mention `amazon-product-details-scraper`, or leave feedback on the Actor page. This Actor is actively maintained to keep up with Amazon changes and to improve stability and data coverage.

***

### 🔖 Tags

`Amazon Scraper` · `Amazon ASIN Scraper` · `Amazon Product Details` · `Amazon Product API` · `Amazon Price Tracker` · `E-commerce` · `Catalog Enrichment` · `Competitor Analysis` · `Market Research` · `Data Extraction` · `Web Scraping`

# Actor input Schema

## `Params` (type: `array`):

Amazon product ASINs or product detail page URLs - you can mix both in the same run.

- **ASIN**, e.g. `B00091S3K4` - scraped from the country site you pick in **Country website** below.
- **Product URL**, e.g. `https://www.amazon.de/dp/B00091S3K4` - the domain in the URL wins, so this one is scraped from Amazon Germany no matter what **Country website** is set to.

Duplicates are scraped (and charged) only once.

## `website` (type: `string`):

Which Amazon country site bare ASINs are scraped from. **Ignored for inputs that are full URLs** - those always use their own domain, so you can mix marketplaces in one run.

The same ASIN can be a different product on a different country site, so pick the one your ASINs came from.

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

Page language. `default` keeps each country site's own language. A URL that already carries a language (e.g. `/-/en/`) keeps that language.

## `currency` (type: `string`):

Site default = the site's own currency. Amazon converts prices where it supports the chosen currency; otherwise they stay in the site's currency. On amazon.com, conversion only applies when Deliver to is outside the US.

## `deliverTo` (type: `string`):

Delivery country for Amazon.com, same as the 'Deliver to' location in the top-left of Amazon pages (full country list from Amazon's own 'ship outside the US' menu). It affects which products are shown, prices and availability. Other country websites always deliver to their own country. For a precise location, set Zip Code below.

## `zipCode` (type: `string`):

Optional postal code for a precise 'Deliver to' location, in the selected site's own format (e.g. 10010 for amazon.com, 160-0022 for amazon.co.jp). A code Amazon rejects falls back to the site's default location (noted in the run log). On amazon.de and amazon.co.uk the location follows a local IP instead, so zip codes can't be applied there.

## Actor input object example

```json
{
  "Params": [
    "B00091S3K4",
    "https://www.amazon.com/dp/B077Z99YGY"
  ],
  "website": "amazon.com",
  "language": "default",
  "currency": "default",
  "deliverTo": "US",
  "zipCode": "10010"
}
```

# Actor output Schema

## `overview` (type: `string`):

Table view of scraped products using the 'overview' view from dataset\_schema.json.

## `rawResults` (type: `string`):

All product items from the default dataset without a specific view.

# 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 = {
    "Params": [
        "B00091S3K4",
        "https://www.amazon.com/dp/B077Z99YGY"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("delicious_zebu/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 = { "Params": [
        "B00091S3K4",
        "https://www.amazon.com/dp/B077Z99YGY",
    ] }

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

```

## MCP server setup

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

```

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/U3DyJ7kdhQlYyeQKd/builds/jbF4AP2UT2eEn5ntk/openapi.json
