Amazon Ratings Scraper API - Star Rating Histogram avatar

Amazon Ratings Scraper API - Star Rating Histogram

Pricing

from $3.00 / 1,000 reviews

Go to Apify Store
Amazon Ratings Scraper API - Star Rating Histogram

Amazon Ratings Scraper API - Star Rating Histogram

Scrape Amazon star ratings by ASIN: average rating, total rating count and the full 1-5 star histogram, plus estimated counts per star that Amazon only shows as percentages. Covers every rating on the listing, not a sample. 24 marketplaces, each with its own distribution.

Pricing

from $3.00 / 1,000 reviews

Rating

0.0

(0)

Developer

Blackcube

Blackcube

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

13 hours ago

Last modified

Share

Amazon Ratings Scraper API — star ratings and the full rating histogram by ASIN

Amazon Reviews Suite  •  3 Actors, one codebase, one review billed once
Amazon Product Reviews Scraper API
ASIN & Ratings
Amazon Review Monitoring API
Track New Reviews
Amazon Ratings Scraper API
➤ You are here

More from this account: YouTube Transcript Suite · Website Contact & Email Suite · Career Site & ATS Jobs Suite · Google News Suite · Keyword Research Suite · Shopify Store Intelligence Suite · eBay Data Suite · Reddit · Meta Ad Library · Vinted · Trustpilot Review Intelligence Suite · App Store & Google Play Reviews Suite · Telegram Channel Intelligence Suite · Business Reviews Suite · Amazon Product Data Suite · Google Sheets Suite · TikTok Suite · Snapchat Suite · LinkedIn Public Data Suite · Instagram Suite · Contact Validation Suite

Give it ASINs, get back each product's average rating, total rating count, and the complete 1–5 star breakdown — plus estimated counts per star level, which Amazon shows as percentages only.

The distribution covers every rating on the listing, not the handful of reviews visible on the page. On a product with 635,244 ratings you get the shape of all 635,244, not a sample of eight.

Unofficial tool. Not affiliated with, endorsed by, or connected to Amazon.com, Inc.


What a product row looks like

{
"rowType": "product",
"asin": "B07PXGQC1Q",
"marketplace": "amazon.com",
"countryCode": "US",
"averageRating": 4.7,
"totalRatings": 635244,
"ratingHistogram": { "fiveStar": 87, "fourStar": 8, "threeStar": 3, "twoStar": 0, "oneStar": 2 },
"estimatedRatingCounts": { "fiveStar": 552662, "fourStar": 50820, "threeStar": 19057, "twoStar": 0, "oneStar": 12705 },
"positiveSharePct": 95,
"negativeSharePct": 2,
"histogramAverage": 4.78
}

Measured coverage: totalRatings and averageRating on 95.7% of product rows, the full histogram on 89.4%.

The fields Amazon does not give you

Amazon publishes the percentages and the grand total but never the number of ratings at each star level. This Actor works them out:

  • estimatedRatingCounts — how many 1-star ratings a product actually has, in units rather than percent. Derived as percentage × total and normalised against the real percentage sum, because Amazon's five buckets round and rarely add to exactly 100. They are labelled estimated because they are: treat them as close, not exact.
  • positiveSharePct / negativeSharePct — the 4★+5★ and 1★+2★ shares, ready to chart without doing the arithmetic per row.
  • histogramAverage — the mean recomputed from the distribution. Amazon's own averageRating is the authority; a gap between the two flags a listing whose displayed score and published distribution disagree, which is worth a look.

Every one of these is null rather than zero when the underlying data is missing. A guessed rating is worse than a missing one.

How to scrape Amazon star ratings by ASIN

{
"products": ["B07PXGQC1Q", "B09B8V1LZ3", "B0CWXNS552", "B08H93ZRK9"]
}

Bare ASINs, or Amazon URLs pasted straight from the browser — both work, mixed in the same list.

How to compare Amazon ratings across countries

Every marketplace keeps its own rating pool, with its own average, its own total and its own distribution. The same product can be 4.7 in the US and 3.8 in Italy. Add the marketplaces you sell in:

{
"products": ["B07PXGQC1Q"],
"marketplaces": ["amazon.com", "amazon.co.uk", "amazon.de", "amazon.it", "amazon.ca"]
}

You get one product row per marketplace, each with its own histogram and rating count — so you can weight them properly instead of averaging averages. Measured on one product: 4.7 across 635,244 US ratings, 4.6 across 21,906 in Canada, 3.8 across 9 in Italy. All 24 Amazon retail marketplaces are supported.

A product not sold in a marketplace returns a free not-listed-in-marketplace row rather than vanishing, so a missing country is never ambiguous.

If Amazon serves a page whose reviews section did not render, you get a free reviews-section-missing row instead of a histogram silently reported as absent — the Actor retries first and never guesses.

How to get the Amazon rating breakdown for many products at once

Paste as many ASINs as you like in one run. Each returns its own rows, and a bad ASIN never stops the run — it gets an invalid-input row and the rest continue.

Use Maximum reviews to put a hard, exact cap on any run's bill.

How to export Amazon ratings to CSV or Excel

Every run's dataset exports as JSON, CSV, Excel, XML or HTML from the Apify UI or the API. A prepared "Product ratings and histograms" view puts the rating fields in a clean table with the review rows out of the way.

How to call the Amazon Ratings API from Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/amazon-ratings-scraper-api").call(run_input={
"products": ["B07PXGQC1Q", "B09B8V1LZ3"],
"marketplaces": ["amazon.com", "amazon.de"],
})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
if row["rowType"] == "product":
print(row["asin"], row["marketplace"], row["averageRating"],
row["totalRatings"], row["ratingHistogram"])

You also get the reviews

Every run returns the reviews Amazon publishes on each product page as well — rating, title, full text, date, verified-purchase badge, helpful votes, variant and images — at 100% fill on the core fields. Amazon publishes roughly 8–13 per product per marketplace; that is the public ceiling for every tool, since review-specific pages now require a login.

For ratings work the histogram is usually the better input anyway: it describes every rating on the listing, while any review sample describes only what Amazon chose to show.

What it costs

Charged per review returned. The rating data is not billed at all — histograms, averages, totals, estimated counts and shares are always free.

In practice that means roughly $0.04 per product per marketplace on the free tier (about 8 reviews × $0.005), and you can compute your bill before you run it: reviews returned × your tier price.

  • No start fee.
  • Failures are free — blocked pages, products not listed in a marketplace, products with no reviews and invalid inputs all cost nothing.
  • Product rows are free, always.
  • Duplicates are free — the same review found on two marketplaces is charged once.
  • Turn on Charge once per review, ever for scheduled runs and previously-paid reviews stay free.

Personal data and GDPR

Reviewer names, profile IDs and profile URLs are personal data and are off by default. Rating data contains none of it. This Actor reads only what Amazon publishes publicly; it never logs in.

Proxy

Required and on by default — Amazon serves a CAPTCHA to unproxied cloud IPs. The default works; no residential proxy add-on needed.

Need to watch products over time? Use Amazon Review Monitoring API, which bills each review only once no matter how often you poll. Need the reviews themselves as the main event? Use Amazon Product Reviews Scraper API.


Unofficial tool. Not affiliated with, endorsed by, or connected to Amazon.com, Inc. "Amazon" is a trademark of Amazon.com, Inc., used here only to describe what this tool reads. Publicly available data only.

Use it from n8n, MCP, the API or a schedule

Built to be called by a workflow, not only from the Store form. The Actor is vonsensey/amazon-ratings-scraper-api; every snippet below sends {}, which runs the defaults shown on the form — replace it with your own input.

n8n

Install the Apify community node (@apify/n8n-nodes-apify under Settings → Community Nodes, or search "Apify" on n8n Cloud). Add Apify → Run Actor with Actor vonsensey/amazon-ratings-scraper-api and your input JSON, then Apify → Get Dataset Items on the run's defaultDatasetId and pipe the rows anywhere. For scheduled runs, the On new Apify Event trigger fires when a run of this Actor finishes.

MCP (Claude, Cursor, VS Code, any MCP client)

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=vonsensey/amazon-ratings-scraper-api",
"headers": {
"Authorization": "Bearer <YOUR_APIFY_TOKEN>"
}
}
}
}

Your agent then calls vonsensey/amazon-ratings-scraper-api as a tool with the same input the form takes and reads the dataset back.

REST API (one call, rows in the response)

curl -X POST "https://api.apify.com/v2/acts/vonsensey~amazon-ratings-scraper-api/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" -d '{}'

Python

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("vonsensey/amazon-ratings-scraper-api").call(run_input={})
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('vonsensey/amazon-ratings-scraper-api').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Make, Zapier, LangChain, CrewAI

The Apify app in Make and Zapier has a Run an Actor module: pick vonsensey/amazon-ratings-scraper-api. In LangChain and CrewAI the Apify tool wrappers take the same Actor id. A daily schedule needs nothing but the Console: Schedules → Create → this Actor → cron, and the dataset fills on its own.

Run it without configuring anythingGet the star rating histogram of a product, a ready-made example you can start as-is or copy.

Use cases

  • Mine reviews for product research. What buyers complain about in a category is a product spec you did not have to invent.
  • Monitor your own ASINs. A scheduled run surfaces new reviews as they land — and only charges for the ones you have not seen.
  • Track a competitor's rating. The full 1–5 star histogram shows whether an average is solid or hiding a bimodal split.
  • Compare across marketplaces. The same ASIN in .com, .co.uk and .de often tells three different stories.

Run it on a schedule

A one-off pull answers a question; a schedule answers it every day without you. Open Schedules in the Apify Console, point a cron at this Actor, and the dataset keeps filling on its own — no server, no cron box, no babysitting. Everything here is built to be re-run: you are billed per review delivered, and the FAQ below says exactly what a scheduled run that finds nothing new costs.

FAQ

Do I pass an ASIN or a URL?

Either. Both resolve to the same product, across any supported marketplace.

Can I get only reviews I have not seen before?

Yes — that is what the monitoring Actor in this suite does, and it charges only for the new ones.

Is the star histogram included?

Yes. Average, total ratings and the per-star breakdown come back with the product, not as a separate paid call.

Which marketplaces are supported?

24 Amazon marketplaces, selected per run or detected automatically from the product.


Something wrong, or a field you need that is missing? Open an issue on the Issues tab — it is read and it gets fixed. If this saved you time, a rating on the Store page helps the next person find it.