Amazon Product Scraper avatar

Amazon Product Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Amazon Product Scraper

Amazon Product Scraper

Extract structured Amazon product data - title, ASIN, price, brand, rating, reviews, images, description, and attributes - from search, category, or product URLs. Auto-pagination, full detail extraction, and clean JSON output.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(1)

Developer

Dev Patel

Dev Patel

Maintained by Community

Actor stats

2

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Extract structured product data from Amazon at scale — from search, category, or direct product URLs. Built on the Apify SDK + Crawlee with automatic proxy rotation, session management, and captcha/robot-check detection.

What it does

Give it one or more Amazon URLs and it returns clean, structured JSON for each product: title, ASIN, brand, price, rating, review count, images, feature bullets, description, availability, breadcrumbs, and product attributes.

  • 🔎 Search & category pages — paginates automatically and scrapes every product
  • 📦 Product pages — full detail extraction (description, images, attributes)
  • Lightweight mode — skip detail pages for fast, cheap search-level data
  • 🔁 Pagination — controlled by max-results and max-pages limits
  • 🛡️ Block handling — detects robot-check pages and retries on fresh sessions

Input

FieldTypeDescription
categoryUrlsarrayRequired. Amazon search, category, or product URLs. Search: https://www.amazon.com/s?k=keyboard · Product: https://www.amazon.com/dp/B08N5WRWNW
maxItemsPerStartUrlintegerMax products per start URL. Default 100.
maxSearchPagesPerStartUrlintegerMax search pages to paginate per start URL. Default 9999.
scrapeProductDetailsbooleanfalse (default, cheapest) returns the rich search-page data for every product; true opens each product page for full detail (description, all images, attributes) but costs ~40× more (one request per product).
proxyConfigurationobjectProxy settings. Residential proxies strongly recommended (see below).

Example input

{
"categoryUrls": [
{ "url": "https://www.amazon.com/s?k=mechanical+keyboard" }
],
"maxItemsPerStartUrl": 50,
"scrapeProductDetails": true,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Output

Each dataset item:

{
"asin": "B0D14N2QZF",
"title": "AULA F75 Pro Wireless Mechanical Keyboard...",
"brand": "AULA",
"url": "https://www.amazon.com/dp/B0D14N2QZF",
"price": 65.99,
"listPrice": 78.89,
"currency": "USD",
"stars": 4.7,
"reviewsCount": 1583,
"inStock": true,
"availability": "In Stock",
"features": ["75% layout with knob", "Hot-swappable switches", "..."],
"description": "...",
"breadcrumbs": ["Electronics", "Computers & Accessories", "..."],
"attributes": { "Brand": "AULA", "Connectivity": "Bluetooth, 2.4 GHz, USB-C" },
"thumbnailImage": "https://m.media-amazon.com/images/I/....jpg",
"images": ["https://...1500.jpg", "..."],
"scrapedFrom": "https://www.amazon.com/s?k=mechanical+keyboard"
}

⚠️ Proxies & the price field

Amazon serves a server-rendered page with the buybox price only to trusted sessions. From datacenter IPs or untrusted fingerprints it ships a "skeleton" page where the price is filled in later by JavaScript — so the price field can come back null on low-quality connections, even though every other field (title, brand, rating, reviews, images, features, description) is still extracted correctly.

To get prices reliably, use good residential proxies. The default config requests Apify Residential. If you see empty prices, your proxy IPs are likely flagged by Amazon — switch to a premium residential pool (BrightData, Oxylabs, IPRoyal) via the proxy settings. All non-price fields work regardless of proxy quality.

Use cases

  • 💰 Price monitoring & competitive intelligence
  • 📊 Product & market research
  • ⭐ Review-volume and rating tracking
  • 🛒 Catalog enrichment and lead generation