Amazon Ratings Scraper avatar

Amazon Ratings Scraper

Pricing

Pay per usage

Go to Apify Store
Amazon Ratings Scraper

Amazon Ratings Scraper

This is the scraper built to scrap 1000+ product ratings, ratings count, stars percentage.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Suraj Pathak

Suraj Pathak

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

14 days ago

Last modified

Categories

Share

A memory-efficient Apify Actor that scrapes product ratings, review counts, and star distribution from Amazon using CheerioCrawler (no browser needed).

Features

  • Low Memory: Runs on 256 MB — uses ~4× less memory than browser-based scrapers
  • Low Cost: ~0.25 CU per 100 products (vs ~1–2 CU with Playwright)
  • Flexible Input: Accepts ASINs, product URLs, or a mix of both
  • Cross-Marketplace: Mix .com and .in URLs (and 18 other domains) in a single run — marketplace is auto-detected from each URL
  • Smart Fallback: If star distribution isn't found on the product page, automatically tries the reviews page
  • Session Rotation: Built-in session pool to avoid blocks
  • Error Reporting: Failed requests are logged in the dataset with error details

Output Format

Each product produces a JSON object like this:

{
"asin": "B0BN93GLDN",
"title": "Apple iPhone 14 Pro Max, 256GB, Deep Purple - Unlocked",
"url": "https://www.amazon.com/dp/B0BN93GLDN",
"marketplace": "www.amazon.com",
"overallRating": 4.6,
"totalRatingsCount": 12847,
"starDistribution": {
"5_star": 76,
"4_star": 12,
"3_star": 5,
"2_star": 3,
"1_star": 4
},
"scrapedAt": "2026-03-22T10:30:00.000Z"
}

Input Examples

Using ASINs (uses default marketplace)

{
"inputs": ["B0BN93GLDN", "B09V3KXJPB", "B0DLHBKTRN"],
"marketplace": "www.amazon.com"
}

Using URLs (marketplace auto-detected per URL)

{
"inputs": [
"https://www.amazon.com/dp/B0BN93GLDN",
"https://www.amazon.in/Some-Product/dp/B09V3KXJPB/ref=sr_1_1"
]
}

In the above example, the first product scrapes from .com and the second from .in — automatically.

Mixed ASINs + URLs from different marketplaces

{
"inputs": [
"B0BN93GLDN",
"https://www.amazon.com/dp/B09V3KXJPB",
"https://www.amazon.in/dp/B0DJYHM2V7"
],
"marketplace": "www.amazon.com",
"maxConcurrency": 5
}

Here, B0BN93GLDN (plain ASIN) uses the fallback marketplace .com, while the two URLs each use their own detected domain.

Cost Estimation

ProductsMemoryApprox. TimeApprox. Cost (CU)
10256 MB~1 min~0.004
100256 MB~5 min~0.02
1,000256 MB~40 min~0.17

Costs exclude proxy usage. Residential proxies are recommended for Amazon.

Local Development

# Install dependencies
npm install
# Create input file
mkdir -p storage/key_value_stores/default
echo '{"inputs":["B0BN93GLDN"],"marketplace":"www.amazon.com"}' > storage/key_value_stores/default/INPUT.json
# Run locally (without proxy — may get blocked)
npm start

Deploying to Apify

# Install Apify CLI
npm install -g apify-cli
# Login
apify login
# Push to Apify platform
apify push

Tips for Best Results

  1. Use Residential Proxies — Amazon aggressively blocks datacenter IPs
  2. Keep concurrency low (3–5) — saves memory and reduces block rate
  3. Set marketplace correctly — Amazon shows different data per region
  4. Run during off-peak hours — lower chance of CAPTCHAs