Amazon Product Extractor
Pricing
from $5.00 / 1,000 product extracteds
Amazon Product Extractor
Extract product details from Amazon product URLs (ASIN pages): title, price, currency, rating, review count, availability, brand, images, feature bullets, description, category breadcrumbs, ASIN, and URL. Cheerio-based with proxy support, retries, and graceful captcha handling.
Pricing
from $5.00 / 1,000 product extracteds
Rating
0.0
(0)
Developer
Harsh
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Extract structured product data from Amazon ASIN pages — title, price, rating, images, bullets, and more.
Amazon Product Extractor is an Apify Actor built with TypeScript and Crawlee CheerioCrawler. Point it at Amazon product URLs (or bare ASINs), and get clean JSON records plus a CSV export and Markdown summary. Designed for proxy use, polite rate limiting, retries, and graceful handling of captcha / blocked pages.
Note: Amazon aggressively blocks datacenter IPs. For production, enable Apify Proxy (preferably residential). Local runs without a proxy often receive captcha pages — the Actor records an
errorfield instead of crashing. Unit tests cover HTML parsing with fixtures so the pipeline stays reliable even when live Amazon is blocked.
Features
- ASIN parsing — supports
/dp/ASIN,/gp/product/ASIN, query params, and bare ASINs - Rich product fields — title, brand, price, list price, currency, rating, review count, availability, images, feature bullets, description, category breadcrumbs
- Multi-marketplace — US, UK, DE, FR, IT, ES, CA, JP, IN, AU, and more via
countryor URL host - Deduplication — unique products by ASIN per run
- Captcha resilience — blocked pages produce dataset rows with
error, not hard failures - Retries & rate limiting — configurable concurrency, retries, and per-request delay + jitter
- Proxy-ready — Apify Proxy configuration (recommended for all real Amazon traffic)
- Exports — default dataset (JSON),
PRODUCTS.csv, andSUMMARY.mdin the key-value store - Cheerio-first — fast HTTP HTML parsing; Playwright is not required (and may still hit captchas without good proxies)
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
productUrls | string[] | Yes | — | Amazon product URLs or bare ASINs |
country | string | No | US | Default marketplace for bare ASINs |
maxConcurrency | integer | No | 2 | Parallel page fetches (keep low) |
maxRequestRetries | integer | No | 3 | HTTP retry count |
requestDelayMs | integer | No | 1000 | Base delay before each request (ms) |
proxyConfiguration | object | No | Apify Proxy on | Proxy settings |
Example input
{"productUrls": ["https://www.amazon.com/dp/B0BSHF7WHW", "https://www.amazon.com/dp/B09V3KXJPB", "B09B8V1LZ3"],"maxConcurrency": 2,"maxRequestRetries": 3,"requestDelayMs": 1000,"proxyConfiguration": {"useApifyProxy": true},"country": "US"}
See also: examples/input.json
Output
Each dataset item is one product:
| Field | Type | Description |
|---|---|---|
asin | string | Amazon Standard Identification Number |
title | string | Product title |
brand | string | Brand / store |
price | number | Current price |
listPrice | number | List / strikethrough price |
currency | string | ISO currency (USD, EUR, …) |
rating | number | Average stars (0–5) |
reviewCount | number | Number of reviews |
availability | string | Stock message |
images | string[] | Image URLs |
featureBullets | string[] | About-this-item bullets |
description | string | Product description |
categories | string[] | Breadcrumb categories |
url | string | Scraped product URL |
country | string | Marketplace code |
scrapedAt | string | ISO timestamp |
error | string | Present when blocked or extract failed |
Example output
{"asin": "B09B8V1LZ3","title": "Echo Dot (5th Gen, 2022 release) | Smart speaker with Alexa | Charcoal","brand": "Amazon","price": 49.99,"listPrice": 59.99,"currency": "USD","rating": 4.7,"reviewCount": 285432,"availability": "In Stock","images": ["https://m.media-amazon.com/images/I/714Rq4k05UL.jpg"],"featureBullets": ["Our best sounding Echo Dot yet — Enjoy an improved audio experience."],"description": "Echo Dot is our most popular smart speaker with Alexa.","categories": ["Electronics", "Smart Home", "Amazon Devices"],"url": "https://www.amazon.com/dp/B09B8V1LZ3","country": "US","scrapedAt": "2026-07-13T12:00:00.000Z"}
Key-value store artifacts
| Key | Description |
|---|---|
PRODUCTS.csv | CSV export of all products |
SUMMARY.md | Markdown run summary table |
OUTPUT | JSON summary with totals + products |
How it works
- Normalize inputs — Parse ASINs from URLs, map marketplaces, dedupe by ASIN, build clean
/dp/{ASIN}URLs. - Fetch pages — CheerioCrawler requests each product page with browser-like headers, optional proxy, retries, and rate limiting.
- Extract — Multiple CSS / JSON-LD / meta fallbacks pull title, price, brand, ratings, images, bullets, categories, and availability.
- Handle blocks — Captcha and robot-check pages set
errorand still push a dataset row so your pipeline can continue. - Export — Results go to the default dataset; CSV and Markdown summary are saved to the key-value store.
Anti-block tips
- Always enable Apify Proxy in production (
useApifyProxy: true). - Prefer residential proxy groups when available.
- Keep
maxConcurrencyat 1–3 andrequestDelayMs≥ 1000. - If many rows show captcha errors, increase delay and switch proxy groups.
- Cheerio is preferred for speed; switching to Playwright alone rarely bypasses Amazon without strong proxies.
Pricing
Pay-per-event pricing: $0.005 per product (apify-default-dataset-item), plus a small actor-start fee.
Run locally
cd factory/amazon-product-extractornpm installnpm testnpm run buildapify run --purge
Without a proxy, live Amazon pages may return captchas. Parser correctness is covered by fixture tests under test/.
Deploy to Apify
apify loginapify push
Then publish to the Store and set monetization to Pay per event with primary event apify-default-dataset-item at $0.005.