# 📦 Amazon Scraper — Prices, Reviews & Dropship Score (`inexhaustible_glass/amazon-product-scraper`) Actor

Amazon scraper & price tracker: scrape products by URL, ASIN or keyword — title, price, rating, reviews, BSR, seller, images. Product research + dropshipping tool with winning-product score. Anti-block (residential proxy). Any marketplace (.com/.co.uk/.in/.de). No code.

- **URL**: https://apify.com/inexhaustible\_glass/amazon-product-scraper.md
- **Developed by:** [Hitman studio](https://apify.com/inexhaustible_glass) (community)
- **Categories:** E-commerce, Developer tools
- **Stats:** 10 total users, 8 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $2.00 / 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/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

## 📦 Amazon Scraper — Prices, Reviews, BSR & Profit Intelligence

Scrape Amazon by **URL, ASIN, or search keyword** — and get more than any other
Amazon actor: full product data **+ individual reviews + a built-in profit &
dropshipping calculator** that no other Apify scraper offers.

### 📊 What you get (per product)

**Core**
`title · price · list_price · discount · ASIN · brand · availability · image ·
rating · reviews_count · features · description · seller`

**Deep data (matches the best paid scrapers)**
`stars_breakdown (5★/4★/3★ %) · variants (size/color + per-variant ASIN) ·
category / breadcrumbs · shipping · is_prime · coupon · bought_past_month ·
best_sellers_rank · subcategory_ranks · product_details (GTIN/UPC/model/color/weight/dimensions)`

**🔥 Profit & Dropshipping Intelligence (UNIQUE — no other actor has this)**
`dropship_score (A–D) · est_amazon_referral_fee · est_fba_fee ·
est_net_after_fees · est_margin_pct · demand_signal`

**Reviews (optional — like a dedicated reviews scraper)**
`reviewer · rating · title · text · date · verified · helpful votes`
→ enable **"Also scrape reviews"** to pull individual customer reviews per product.

### ✨ Why it's the best

- 🧮 **Profit calculator built in** — see estimated Amazon fees + net margin instantly (dropshippers pay $$$ for this elsewhere)
- 💎 **Dropship score (A–D)** — spot winning products fast (rating × reviews × price)
- 🗣️ **Product + Reviews in one** — combines two scrapers into one actor
- 🛡️ **Anti-block** — real-browser stealth + rotating residential proxy + retries (proven on Amazon)
- 🌍 Any Amazon marketplace (.com / .co.uk / .in / .de …)
- 🔎 Search keyword → bulk, or specific URLs / ASINs

### ⚙️ Input

- `searchKeyword` (e.g. "echo dot") — bulk product scrape, OR
- `productUrls` / `asins` — specific products
- `scrapeReviews` + `maxReviews` — also pull individual reviews
- `domain`, `maxSearchResults`, `useProxy`, `proxyMode`, `customProxyUrl`

### 🛡️ Getting reliable results (important)

Amazon shows a **CAPTCHA** to shared proxy pools (including free Cloudflare WARP and
generic residential pools). The fix isn't solving the CAPTCHA — it's using an **unflagged
IP** so it never triggers. Best options:

0. **BEST — Amazon PA-API (official, never blocked):** set `paapiAccessKey` +
   `paapiSecretKey` + `paapiPartnerTag` and the actor uses Amazon's own Product
   Advertising API — 100% reliable, no proxy, no CAPTCHA, ever. Needs an Amazon
   Associates account with 3 qualifying sales. (Note: PA-API doesn't expose star
   rating / review counts — use the scraping path below if you need those.)
1. **FREE — ScraperAPI proxy (recommended):** sign up at **scraperapi.com** (1,000 free
   requests/month, forever), then set
   `customProxyUrl = http://scraperapi:YOUR_API_KEY@proxy.scraperapi.com:8001`.
   We auto-detect it and fetch clean pages in **1 request each**. ZenRows, ScrapingBee,
   Scrape.do and ScrapeOps work the same way.
2. **Your own residential/mobile proxy:** `customProxyUrl = http://user:pass@host:port`
   (Bright Data, Oxylabs, Smartproxy, IPRoyal).
3. **Free, local:** run the actor on your own machine (`apify run`) so it uses your home
   IP, which Amazon doesn't block.

Without a clean proxy the run will report `0 items` and tell you exactly this.

### 💡 Use cases

Dropshipping product research · price & deal monitoring · profit/margin analysis ·
review mining & sentiment · competitor tracking · FBA product validation · market research.

### 🔑 Keywords

amazon scraper · amazon product scraper · amazon data scraper · amazon web scraper ·
amazon crawler · amazon api · amazon product api · scrape amazon · amazon price tracker ·
amazon price monitor · amazon price history · amazon deal finder · amazon reviews scraper ·
amazon review extractor · amazon ratings scraper · amazon ASIN scraper · amazon ASIN lookup ·
amazon product details · amazon product data extraction · amazon listing scraper ·
amazon search scraper · amazon keyword scraper · amazon bestsellers scraper ·
amazon best sellers rank · amazon BSR tracker · amazon seller scraper · amazon brand scraper ·
amazon category scraper · amazon variations scraper · amazon image scraper ·
dropshipping product finder · dropshipping research tool · winning products finder ·
product research tool · FBA profit calculator · FBA fee calculator · amazon sales estimator ·
amazon revenue estimator · profit margin calculator · ecommerce product research ·
competitor price monitoring · competitor tracking · retail arbitrage · online arbitrage ·
amazon SEO tool · amazon marketing · market research · price comparison ·
amazon.com scraper · amazon.co.uk scraper · amazon.in scraper · amazon.de scraper ·
amazon marketplace scraper · no-code amazon scraper · amazon scraper without api key

### ⚠️ Note

For reliable, unblocked results set **`customProxyUrl`** (see "Getting reliable results"
above — free ScraperAPI option included). Profit/FBA figures are **estimates**
(~15% referral + ~$3 FBA) to guide decisions, not exact Amazon fees.

# Actor input Schema

## `searchKeyword` (type: `string`):

Search Amazon and scrape matching products (e.g. 'echo dot'). Leave empty to use product URLs/ASINs.

## `productUrls` (type: `array`):

Specific Amazon product URLs to scrape. Example: https://www.amazon.com/dp/B0FRRMD96F

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

Amazon ASINs to scrape (the 10-char code in the URL). Example: B0FRRMD96F

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

Which Amazon site (amazon.com, amazon.co.uk, amazon.in, amazon.de ...).

## `maxSearchResults` (type: `integer`):

How many products to scrape from the search results.

## `scrapeReviews` (type: `boolean`):

For each product, also scrape individual customer reviews (reviewer, rating, title, text, date, verified).

## `maxReviews` (type: `integer`):

How many reviews to scrape per product (when 'Also scrape reviews' is on).

## `useProxy` (type: `boolean`):

Rotating residential IPs — strongly recommended so Amazon doesn't block you.

## `paapiAccessKey` (type: `string`):

Amazon Product Advertising API access key. If you provide PA-API key + secret + partner tag, the actor uses Amazon's OFFICIAL API — 100% reliable, never captcha'd, no proxy needed. Requires an Amazon Associates account with 3 qualifying sales. Get it at affiliate-program.amazon.com → Tools → Product Advertising API.

## `paapiSecretKey` (type: `string`):

Your PA-API secret key (paired with the access key above).

## `paapiPartnerTag` (type: `string`):

Your Amazon Associates store/partner tag (e.g. 'yourtag-20'). Required for PA-API.

## `fullDetails` (type: `boolean`):

ON (recommended): scrape each search-result product page for ALL fields (price, brand, BSR, category, description, dropship score…). OFF: return only the basic card fields (title, price, rating, reviews, image) — much faster/cheaper but fewer fields. Ignored for direct URLs/ASINs (they always get full details).

## `proxyMode` (type: `string`):

auto = free Cloudflare WARP clean IP; datacenter = rotate Apify datacenter IPs; residential = Apify residential proxy. NOTE: Amazon captcha-walls shared proxy pools (WARP + Apify residential included). For reliable results, supply your own clean proxy below.

## `customProxyUrl` (type: `string`):

The reliable way past Amazon's captcha. EASIEST + FREE: sign up at scraperapi.com (1,000 free requests/month) and paste http://scraperapi:YOUR\_API\_KEY@proxy.scraperapi.com:8001 — we auto-detect it and pull clean pages in 1 request each (ZenRows, ScrapingBee, Scrape.do, ScrapeOps also work). Or use your own residential/mobile proxy: http://user:pass@host:port or socks5://user:pass@host:port (Bright Data, Oxylabs, Smartproxy, IPRoyal). When set, this overrides the proxy mode above.

## `requestTimeoutSecs` (type: `integer`):

Max time to load a single page (browser + render).

## Actor input object example

```json
{
  "productUrls": [],
  "asins": [
    "B0FRRMD96F"
  ],
  "domain": "amazon.com",
  "maxSearchResults": 20,
  "scrapeReviews": false,
  "maxReviews": 20,
  "useProxy": true,
  "fullDetails": true,
  "proxyMode": "auto",
  "requestTimeoutSecs": 90
}
```

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

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

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

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/Qze3YC71GLAMm6t7s/builds/I6VEhJRKmBytmJQqN/openapi.json
