Amazon Top Reviews Scraper
Pricing
from $25.50 / 1,000 product reads
Amazon Top Reviews Scraper
Top Amazon reviews from product pages on 8 marketplaces outside the US: UK, Germany, France, Italy, Spain, Canada, Japan, and India. Each product returns its rating summary and about 13 top reviews as flat rows. No login, no key.
Pricing
from $25.50 / 1,000 product reads
Rating
0.0
(0)
Developer
Mamba Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Features
Share
Give ASINs or Amazon product URLs on 8 marketplaces outside the US. You get one row per product with the average rating, ratings count, and 5 to 1 star split, and one flat row per top review the product page shows: about 8 from the marketplace country and up to 5 from other countries. Mamba Labs pays the platform costs.
Features
- 8 marketplaces. amazon.co.uk, amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.co.jp, and amazon.in. A URL sets its own marketplace.
- About 13 reviews per product. In a 28 product test run, every product returned 13 reviews, 325 in all: 8 from the marketplace country and up to 5 from other countries, which can include the United States.
- Full review text. Date, stars, title, full text, language, variant bought, verified purchase, helpful votes, and image count.
- Rating summary. Average rating, global ratings count, and the share of each star level.
- Reviewer names off by default. Turn on Include reviewer names to add the public display name.
- Blocks are free. A page Amazon refuses gives a free
blockedrow.
How the data is read
The actor reads Amazon's public desktop product page, the page a logged out visitor sees, through Apify residential addresses in the marketplace country. No Amazon account, no login, no key, and no other developer's actor. It does not open the review pages that need a sign in. A refused page is not retried.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
products | array | ASINs or Amazon product URLs. A URL sets its own marketplace; an ASIN uses Marketplace below. From Clay, put the column inside a one item list. | |
marketplace | string | amazon.co.uk | Marketplace for ASINs given without a URL. amazon.co.uk (default), amazon.de, amazon.fr, amazon.it, amazon.es, amazon.ca, amazon.co.jp, or amazon.in. amazon.com is not supported: its logged out pages show no reviews. |
include_other_countries | string | yes | yes (default) or no. The page also shows about 3 to 5 top reviews from other countries, which can include the United States. No keeps only the marketplace's own country. |
include_reviewer_names | string | no | no (default) or yes. Yes adds the public display name Amazon shows on each review. |
max_charge_usd | string | Optional. The run stops before a charge that would pass this amount. Summary rows are always returned. |
Give at least one ASIN or URL. Up to 500 products per run. A value that is not an ASIN or a product URL on a supported marketplace gets its own free row and the rest still run.
Output
| Field | Type | What it holds |
|---|---|---|
row_type | string | One of: product, review, run_summary. run_summary is the one free row written when the input is refused. |
input | string | The ASIN or URL you gave. |
marketplace | string | The Amazon store read. |
asin | string | The product's Amazon ID. |
product_url | string | Link to the product page read. |
http_status | integer | Status of the product page answer. |
title | string | Product title on the page. |
rating | number | Average rating out of 5, product rows. |
ratings_count | integer | Global ratings count, product rows. |
star_5_pct | integer | Share of 5 star ratings, product rows. |
star_4_pct | integer | Share of 4 star ratings, product rows. |
star_3_pct | integer | Share of 3 star ratings, product rows. |
star_2_pct | integer | Share of 2 star ratings, product rows. |
star_1_pct | integer | Share of 1 star ratings, product rows. |
local_reviews | integer | Review rows from the marketplace's own country, product rows. |
other_country_reviews | integer | Review rows from other countries, product rows. |
review_id | string | Amazon's review ID, review rows. |
review_section | string | local (top reviews from the marketplace country) or other_countries. |
review_country | string | Country the review was written in, as the page states it. |
review_date | string | Review date, YYYY-MM-DD. |
review_date_text | string | The date line exactly as the page shows it. |
review_rating | number | Stars given, 1 to 5. |
review_title | string | Review headline. |
review_text | string | Full review text, paragraphs as line breaks. |
review_language | string | Language tag of the review text, as the page marks it. |
variant | string | The product option the reviewer bought, when shown. |
verified_purchase | boolean | True when Amazon marks the review Verified Purchase. |
helpful_votes | integer | People who found the review helpful. |
image_count | integer | Images attached to the review. |
reviewer_name | string | Public display name, only with Include reviewer names on. |
review_url | string | Link to the review on Amazon. |
row_status | string | ok, or why this row carries no data: no_results, no_change, partial, blocked, or error. |
error_reason | string | Why the row is not ok. A refused input reads input_invalid: followed by what to fix. |
billable_events_json | string | What this row was billed as, for example {"product-read":1}. {} means free. |
scraped_at | string | When the row was written, UTC. |
Each product gives one product row first, then one review row per review. Review rows repeat the ASIN and product title so they stand alone in a table.
Pricing
Pay per event. You pay for each product page read, a small amount for an ASIN Amazon reports as not on that marketplace, and the run start. Review rows, blocked products, and a refused input are free. A product page with no reviews is still a read and is charged.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
product-read, one product page read, with up to about 13 top reviews | $0.03 | $0.0285 | $0.027 | $0.0255 |
product-not-found, one ASIN Amazon reports as not on that marketplace | $0.002 | $0.0019 | $0.0018 | $0.0017 |
apify-actor-start, once per run (one per GB of memory; the default 256 MB is one) | $0.006 | $0.006 | $0.006 | $0.006 |
Per 1,000 rows of product-read: $30.00 on the free plan, $25.50 on Gold.
Free plan cap: 1.50 USD of evaluation a month, about 50 rows. Any paid Apify plan removes the cap, and it resets on the 1st. The run stops before a charge that passes your maximum charge per run in Apify or your max_charge_usd input.
Mamba Labs pays the platform costs of your run, Apify proxy traffic included.
Each product page is 2 to 3.4 MB and is read through a residential address, so one product costs more than one review does with most review actors. Divided over 13 reviews, 0.03 USD is about 0.0023 USD per review.
Usage examples
Top reviews for one product in Germany.
{"products": ["B01N5IB20Q"],"marketplace": "amazon.de"}
Several marketplaces by URL, local reviews only.
{"products": ["https://www.amazon.co.uk/dp/B01N5IB20Q", "https://www.amazon.co.jp/dp/B01N5IB20Q"],"include_other_countries": "no"}
Read the rows with GET https://api.apify.com/v2/datasets/{datasetId}/items.
Clay. Number and on or off inputs are text fields, which is what Clay sends. A list input takes a JSON list, so put the column inside a one item list.
MCP. The Mamba Labs MCP server @mambalabsdev/mcp-amazon-top-reviews-scraper exposes this actor to Claude and other MCP clients.
Error handling
| Case | What you get |
|---|---|
| Missing or unreadable input | One free row, row_type run_summary, error_reason starting input_invalid: with what to fix. The run ends successfully and charges nothing but the run start (apify-actor-start) |
| A value that is not an ASIN, or a marketplace that is not supported | A free product row with row_status error and error_reason input_invalid: |
| Amazon refuses the page (captcha or robot check) | A free product row with row_status blocked. It is not retried; run that product again later |
| Amazon refuses many products | The run stops once refused products pass 5 plus one per charged product, and says so in the summary |
| The ASIN is not on that marketplace (HTTP 404) | A product row with row_status no_results, charged as product-not-found |
| The run is close to its timeout | The actor stops starting new work 90 seconds before the timeout and delivers what it has |
Limitations
- No amazon.com. Logged out amazon.com product pages show no review text, and its review pages ask for a sign in. US reviews appear only when Amazon puts them in the other countries section of another marketplace.
- Top reviews only. About 13 per product, chosen by Amazon. No paging, no sort by newest, no star filter, and no full review history: those pages need a sign in. Rivals that offer them do not state how they reach them.
- Other marketplaces are not tested. amazon.com.mx, .com.au, .com.br, .nl, .se, .pl, and .com.tr are refused as input until tested.
- Page language. The actor asks for the English page. Review text stays in the language it was written in;
review_languagesays which. - Speed. Products are read one after another, about 9 seconds each in testing (28 products in 265 seconds).
Mamba Labs actor suite
Built by Mamba Labs.