Amazon Product Extractor avatar

Amazon Product Extractor

Pricing

from $5.00 / 1,000 product extracteds

Go to Apify Store
Amazon Product Extractor

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

Harsh

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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 error field 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 country or 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, and SUMMARY.md in the key-value store
  • Cheerio-first — fast HTTP HTML parsing; Playwright is not required (and may still hit captchas without good proxies)

Input

FieldTypeRequiredDefaultDescription
productUrlsstring[]YesAmazon product URLs or bare ASINs
countrystringNoUSDefault marketplace for bare ASINs
maxConcurrencyintegerNo2Parallel page fetches (keep low)
maxRequestRetriesintegerNo3HTTP retry count
requestDelayMsintegerNo1000Base delay before each request (ms)
proxyConfigurationobjectNoApify Proxy onProxy 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:

FieldTypeDescription
asinstringAmazon Standard Identification Number
titlestringProduct title
brandstringBrand / store
pricenumberCurrent price
listPricenumberList / strikethrough price
currencystringISO currency (USD, EUR, …)
ratingnumberAverage stars (0–5)
reviewCountnumberNumber of reviews
availabilitystringStock message
imagesstring[]Image URLs
featureBulletsstring[]About-this-item bullets
descriptionstringProduct description
categoriesstring[]Breadcrumb categories
urlstringScraped product URL
countrystringMarketplace code
scrapedAtstringISO timestamp
errorstringPresent 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

KeyDescription
PRODUCTS.csvCSV export of all products
SUMMARY.mdMarkdown run summary table
OUTPUTJSON summary with totals + products

How it works

  1. Normalize inputs — Parse ASINs from URLs, map marketplaces, dedupe by ASIN, build clean /dp/{ASIN} URLs.
  2. Fetch pages — CheerioCrawler requests each product page with browser-like headers, optional proxy, retries, and rate limiting.
  3. Extract — Multiple CSS / JSON-LD / meta fallbacks pull title, price, brand, ratings, images, bullets, categories, and availability.
  4. Handle blocks — Captcha and robot-check pages set error and still push a dataset row so your pipeline can continue.
  5. 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 maxConcurrency at 1–3 and requestDelayMs1000.
  • 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-extractor
npm install
npm test
npm run build
apify run --purge

Without a proxy, live Amazon pages may return captchas. Parser correctness is covered by fixture tests under test/.

Deploy to Apify

apify login
apify push

Then publish to the Store and set monetization to Pay per event with primary event apify-default-dataset-item at $0.005.

Resources