# Amazon Products Crawler (Fast & Simple) (`amit123/amazon-products-crawler`)

Fast and reliable Amazon product scraper that extracts detailed data like title, reviews, price, rating, images, description and features from product URLs. Uses Apify's residential proxies for speed and accuracy. Perfect for price tracking, catalog enrichment, or competitive research.

- **URL**: https://beta-securitybyobscurity.apify.com/amit123/amazon-products-crawler.md
- **Developed by:** [Amit](https://beta-securitybyobscurity.apify.com/amit123) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 12 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

$9.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

## 🛒 Amazon Product Scraper

A simple, powerful tool to extract product data directly from Amazon product pages - just drop in a product URL and get structured JSON output.

***

### 🚀 What does this Actor do?

This actor scrapes **detailed product information** from Amazon using product page URLs. Just provide one or more Amazon product links, and the scraper will return all the essential product fields in structured format.

📅 No subcategory crawling<br>
🌐 No Playwright/headless browser overhead<br>
🚀 Fast, stable, and proxy-optimized

***

### 🗾️ Example Input

```json
{
  "startUrls": [
    { "url": "https://www.amazon.com/dp/B09X7MPX8L" }
  ],
  "language": "en",
  "proxyCountry": "AUTO_SELECT_PROXY_COUNTRY"
}
```

***

### 🧐 Why use this scraper?

Scraping Amazon product data can help you:

- Monitor pricing and availability over time
- Extract technical specs and attributes for analysis
- Collect images, features, and product descriptions for catalogs
- Enrich your product database or feed
- Run competitive analysis across ASINs

***

### 📦 What data do you get?

Here are the fields you’ll get back for every product:

```json
{
  "asin": "B09X7MPX8L",
  "title": "SanDisk 1TB Extreme microSDXC UHS-I Memory Card with Adapter",
  "price": 145.5,
  "listPrice": 299.99,
  "reviewRating": 4.8,
  "reviewCount": 36704,
  "featureBullets": [
    "Save time with card offload speeds of up to 190MB/s",
    "Pair with the SanDisk Professional PRO-READER",
    "Up to 130MB/s write speeds for fast shooting",
    "4K and 5K UHD-ready with UHS Speed Class 3",
    "Rated A2 for faster loading and in-app performance"
  ],
  "productDescription": "This microSD card is engineered for speed, durability, and performance...",
  "imageUrls": [
    "https://m.media-amazon.com/images/I/71eZT4xLkoL._AC_SX679_.jpg",
    "https://m.media-amazon.com/images/I/81yCwHwS2PL._AC_SX679_.jpg"
  ],
  "attributes": [
    { "Brand": "SanDisk" },
    { "Capacity": "1TB" },
    { "Speed": "Up to 190MB/s" }
  ],
  "ratingsByStar": {
    "5star": 0.86,
    "4star": 0.09,
    "3star": 0.02,
    "2star": 0.01,
    "1star": 0.01
  },
  "productFacts": {
    "Metal Type": "None",
    "Clasp Type": "Metal Pin Clasp"
  },
  "productFactsList": [
    "[Compatibility] Fits Garmin Vivoactive 5/Venu /Venu Sq ...",
    "[Soft Breathable Nylon] High-quality, breathable and comfortable strap...",
    "[Stretch & Adjustable Fit] Elastic band with steel buckle fits wrists 145–220mm...",
    "[Easy to Swap] Quick-release pin allows tool-free attachment...",
    "[2-Color Pack] Stylish strap combo to match best-selling Omega Moon Swatch colors..."
  ],
  "sourceUrl": "https://www.amazon.com/dp/B09X7MPX8L",
  "scrapeId": "scrape_20240519_xyz",
  "insertionTime": "2024-05-19T11:32:00.000Z"
}
```

All fields are returned in consistent `camelCase` format and structured for easy integration.

***

### 🌍 Proxy Support

To avoid blocking and get region-accurate data, the actor uses **Apify’s residential proxies** with automatic country detection.
Want to scrape as if you're browsing from a specific country? Just set `"proxyCountry": "US"` (or `"DE"`, `"IL"`, etc.) in the input.

***

### 🦖 How to use

1. Add one or more product URLs under `startUrls`.
2. Set your desired language and proxy region.
3. Run the actor.
4. Download the results from the **Dataset** tab or access them via **API**.

***

### 🔄 Integrations

Use with:

- **Make / Zapier**
- **Google Sheets / Slack**
- **Airbyte / GitHub / Drive**

Or use **webhooks** to trigger downstream workflows when scraping completes.

***

### 🧰 Developer Notes

- Built with lightweight HTTP scraping (no browser)
- Supports Amazon domains worldwide
- Returns highly structured, readable data

***

### 📩 Feedback

If you found a bug or have ideas for improvement, please open an issue in the **Issues** tab on the Apify platform. We're constantly improving our actors!

# Actor input Schema

## `start_urls` (type: `array`):

URLs of amazon products to crawl

## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of requests for this crawl

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

Select the language to use when accessing Amazon. Note: Not all languages are supported on every Amazon domain. If your selected language is unsupported, the default language for that domain will be used instead.

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

Select a proxy country to access localized Amazon results. If auto, proxy country is selected based on the Amazon domain.

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://www.amazon.com/dp/B0BV7XQ9V9"
    }
  ],
  "maxRequestsPerCrawl": 1000,
  "language": "en",
  "proxyCountry": "AUTO_SELECT_PROXY_COUNTRY"
}
```

# 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 = {
    "start_urls": [
        {
            "url": "https://www.amazon.com/dp/B0BV7XQ9V9"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("amit123/amazon-products-crawler").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 = { "start_urls": [{ "url": "https://www.amazon.com/dp/B0BV7XQ9V9" }] }

# Run the Actor and wait for it to finish
run = client.actor("amit123/amazon-products-crawler").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 '{
  "start_urls": [
    {
      "url": "https://www.amazon.com/dp/B0BV7XQ9V9"
    }
  ]
}' |
apify call amit123/amazon-products-crawler --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Amazon Products Crawler (Fast & Simple)",
        "description": "Fast and reliable Amazon product scraper that extracts detailed data like title, reviews, price, rating, images, description and features from product URLs. Uses Apify's residential proxies for speed and accuracy. Perfect for price tracking, catalog enrichment, or competitive research.",
        "version": "0.0",
        "x-build-id": "vex3stW2aePdPARMk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/amit123~amazon-products-crawler/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-amit123-amazon-products-crawler",
                "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/amit123~amazon-products-crawler/runs": {
            "post": {
                "operationId": "runs-sync-amit123-amazon-products-crawler",
                "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/amit123~amazon-products-crawler/run-sync": {
            "post": {
                "operationId": "run-sync-amit123-amazon-products-crawler",
                "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": [
                    "start_urls"
                ],
                "properties": {
                    "start_urls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "URLs of amazon products to crawl",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxRequestsPerCrawl": {
                        "title": "Max Requests per Crawl",
                        "type": "integer",
                        "description": "Maximum number of requests for this crawl",
                        "default": 1000
                    },
                    "language": {
                        "title": "Preferred Language",
                        "enum": [
                            "en",
                            "es",
                            "ar",
                            "de",
                            "he",
                            "ko",
                            "pt",
                            "zh-CN",
                            "zh-TW"
                        ],
                        "type": "string",
                        "description": "Select the language to use when accessing Amazon. Note: Not all languages are supported on every Amazon domain. If your selected language is unsupported, the default language for that domain will be used instead.",
                        "default": "en"
                    },
                    "proxyCountry": {
                        "title": "Proxy Country",
                        "enum": [
                            "AUTO_SELECT_PROXY_COUNTRY",
                            "AF",
                            "AL",
                            "DZ",
                            "AS",
                            "AD",
                            "AO",
                            "AI",
                            "AQ",
                            "AG",
                            "AR",
                            "AM",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BD",
                            "BB",
                            "BY",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BQ",
                            "BA",
                            "BW",
                            "BV",
                            "BR",
                            "IO",
                            "VG",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "KH",
                            "CM",
                            "CA",
                            "CV",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CN",
                            "CX",
                            "CC",
                            "CO",
                            "KM",
                            "CK",
                            "CR",
                            "HR",
                            "CU",
                            "CW",
                            "CY",
                            "CZ",
                            "CD",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "TL",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FK",
                            "FO",
                            "FJ",
                            "FI",
                            "FR",
                            "GF",
                            "PF",
                            "TF",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GT",
                            "GG",
                            "GW",
                            "GN",
                            "GY",
                            "HT",
                            "HM",
                            "HN",
                            "HK",
                            "HU",
                            "IS",
                            "IN",
                            "ID",
                            "IR",
                            "IQ",
                            "IE",
                            "IM",
                            "IL",
                            "IT",
                            "CI",
                            "JM",
                            "JP",
                            "JE",
                            "JO",
                            "KZ",
                            "KE",
                            "KI",
                            "XK",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LY",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MH",
                            "MQ",
                            "MR",
                            "MU",
                            "YT",
                            "MX",
                            "FM",
                            "MD",
                            "MC",
                            "MN",
                            "ME",
                            "MS",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NR",
                            "NP",
                            "NL",
                            "NC",
                            "NZ",
                            "NI",
                            "NE",
                            "NG",
                            "NU",
                            "NF",
                            "KP",
                            "MK",
                            "MP",
                            "NO",
                            "OM",
                            "PK",
                            "PW",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PN",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "CG",
                            "RE",
                            "RO",
                            "RU",
                            "RW",
                            "BL",
                            "SH",
                            "KN",
                            "LC",
                            "MF",
                            "PM",
                            "VC",
                            "WS",
                            "SM",
                            "ST",
                            "SA",
                            "SN",
                            "RS",
                            "SC",
                            "SL",
                            "SG",
                            "SX",
                            "SK",
                            "SI",
                            "SB",
                            "SO",
                            "ZA",
                            "GS",
                            "KR",
                            "SS",
                            "ES",
                            "LK",
                            "SD",
                            "SR",
                            "SJ",
                            "SZ",
                            "SE",
                            "CH",
                            "SY",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TG",
                            "TK",
                            "TO",
                            "TT",
                            "TN",
                            "TR",
                            "TM",
                            "TC",
                            "TV",
                            "UM",
                            "VI",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UY",
                            "UZ",
                            "VU",
                            "VA",
                            "VE",
                            "VN",
                            "WF",
                            "EH",
                            "YE",
                            "ZM",
                            "ZW",
                            "AX"
                        ],
                        "type": "string",
                        "description": "Select a proxy country to access localized Amazon results. If auto, proxy country is selected based on the Amazon domain.",
                        "default": "AUTO_SELECT_PROXY_COUNTRY"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
