Amazon Product Details Scraper With Ratings & Reviews
Pricing
from $5.99 / 1,000 results
Amazon Product Details Scraper With Ratings & Reviews
Amazon Product Details Scraper extracts detailed Amazon product data, including ratings, reviews, prices, product titles, specifications, seller information, availability, and product URLs. Ideal for product research, competitor analysis, price monitoring, review analysis, and e-commerce insights.
Pricing
from $5.99 / 1,000 results
Rating
0.0
(0)
Developer
Scrapier
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Amazon Product Scraper — Extract Details, Ratings & Reviews
Amazon Product Scraper With Ratings & Reviews turns a list of Amazon ASINs or product URLs into structured product data, a complete 5-star rating distribution, and one labelled row per customer review the product page itself carries — verified-purchase badge, helpful votes, and review date included. Every response is structured JSON, ready to pass directly to an LLM, index into a vector store, or feed a monitoring pipeline. Point it at any of 21 Amazon marketplaces and get product and review data back from the same run.
What is Amazon Product Scraper With Ratings & Reviews?
Amazon Product Scraper With Ratings & Reviews is an Apify Actor that reads a list of Amazon ASINs or product page addresses and returns each product's own detail-page data, its full star-rating breakdown, and the reviews embedded on that same page — no Amazon account, API key, or signed-in session required. The 5-star breakdown is the Actor's standout output: instead of a single averaged rating, every row carries the percentage in each star bucket, the derived positive/critical share, and an optional per-bucket rating-count estimate, all alongside the product's price and availability in one pass.
Key capabilities:
- 📦 Product data — title, brand/manufacturer, price, list price, availability, merchant, images, category path, feature bullets, description and the sibling ASINs of the product's variant family
- ⭐ 5-star rating distribution —
fiveStarPercent…oneStarPercent, self-checking because the five values sum to 100, pluspositiveReviewShareandcriticalReviewShare - 💬 Review rows — one per review the product page carries, with the verified-purchase badge, helpful votes, review date, the variant that was reviewed, and a photos flag
- 🌐 Marketplace control — read any of 21 Amazon storefronts (
marketplaceDomain), each quoting its own currency and delivery terms - 🗣️ Locale control — request a localized page (
pageLanguage) and pin the shopper country the storefront should assume (exitCountry) - 🔍 Review filtering — verified purchases only, a minimum star rating, photo reviews only, and a per-product cap (
maxReviewsPerProduct)
What data can you get with Amazon Product Scraper With Ratings & Reviews?
The Actor returns four result types on every run: product details, the rating distribution, review rows, and the product's variant family.
| Result Type | Extracted Fields | Primary Use Case |
|---|---|---|
| Product details | title, brand, manufacturer, price, retailPrice, priceSaving, savingsPercent, buyBoxPresent, priceSource, warehouseAvailability, soldBy, fulfilledBy, sellerId, features, aboutProduct, productDescription, productDetails, productSpecification, categoriesExtended, mainImageUrl, imageVariants, videoeUrlList | Catalogue and competitor monitoring |
| Rating distribution | starsBreakdown, fiveStarPercent…oneStarPercent, starsBreakdownSum, positiveReviewShare, criticalReviewShare, starsBreakdownCounts, starsBreakdownCountsAreEstimates | Rating-quality benchmarking |
| Reviews | reviewId, title/reviewTitle, text/reviewText, ratingScore, verifiedPurchase, helpfulVotes, reviewCountry, reviewVariant, hasImages, reviewPublishedAt, userName/reviewerName | Voice-of-customer and review analysis |
| Variant family | variantAsins, variantLabels, variantCount, variantDimensions, variations, bookVariations | Size / colour / format research |
⭐ The 5-star rating breakdown
Amazon's product page shows one average rating and a histogram bar for each star. This Actor reads that histogram directly rather than stopping at the average: starsBreakdown carries the five percentages (fiveStar…oneStar), mirrored as five flat columns so they're queryable without unpacking a nested object. starsBreakdownSum is the sum of those five values — it exists so you can verify the row yourself rather than trust it blindly. From the breakdown, the Actor derives positiveReviewShare (5★+4★) and criticalReviewShare (2★+1★), and — when estimateReviewCounts is on — starsBreakdownCounts, each bucket's percentage applied to countReview and rounded, always flagged by starsBreakdownCountsAreEstimates: true because Amazon publishes percentages, not per-bucket totals. If the page only exposes a partial histogram, starsBreakdown is null outright rather than a padded five-value set.
{"starsBreakdown": { "fiveStar": 84, "fourStar": 9, "threeStar": 3, "twoStar": 1, "oneStar": 3 },"starsBreakdownSum": 100,"positiveReviewShare": 93,"criticalReviewShare": 4,"starsBreakdownCounts": { "fiveStar": 145669, "fourStar": 15607, "threeStar": 5202, "twoStar": 1734, "oneStar": 5202 },"starsBreakdownCountsAreEstimates": true}
💬 Review rows
Every review the product page itself embeds becomes its own row, type: "review" and isChild: true, alongside the product row. Each carries the verified-purchase badge, a helpful-vote count that is null (not a stand-in 0) when the page states none, the country and ISO date parsed from the review's own dateline, and the specific variant (size, colour) the reviewer bought. reviewsAvailableOnPage and reviewsReturned report exactly how many reviews the page held and how many survived your filters, so nothing is silently truncated.
How does Amazon Product Scraper With Ratings & Reviews differ from the official Amazon API?
Amazon's own Product Advertising API (PA-API 5) has been deprecated and replaced by the Amazon Creators API, a REST API for publishers, influencers and affiliate partners (confirmed on Amazon's own Associates Central deprecation notice, checked 2026-08-15). Access to it is gated behind the Amazon Associates program, not open to any developer with an API key.
| Feature | Amazon Creators API | Amazon Product Scraper With Ratings & Reviews |
|---|---|---|
| Access requirement | Amazon Associates enrollment plus at least 10 qualifying sales in the past 30 days, or access is revoked (Associates Central docs, checked 2026-08-15) | An Apify account — no Amazon account or sales history |
| Setup | Register for API credentials in Associates Central, per marketplace | Add ASINs and start the run |
| Rating data | Documented operations (SearchItems, GetItems, GetVariations, GetBrowseNodes) return catalogue and pricing data; a rating-distribution field is not documented (checked 2026-08-15) | Full 5-star percentage breakdown, self-checking, plus estimated per-bucket rating counts |
| Review content | Not documented as a returned field (checked 2026-08-15) | Full review rows — text, verified-purchase badge, helpful votes, date, reviewed variant |
| Marketplace coverage | One Associates account per target marketplace | One input list, 21 marketplaces in a single Actor |
| Output | JSON via signed, credentialed API requests | JSON dataset, exportable as CSV, Excel, JSON and more from Apify Console |
The Creators API is the right tool if you're a qualifying Associate building an affiliate storefront and only need catalogue and pricing data behind Amazon's own access controls. Amazon Product Scraper With Ratings & Reviews is the more direct route when you need the rating distribution or review content itself, want to start immediately, or don't clear the Associates sales threshold.
What is the difference between an Amazon product scraper and an Amazon review scraper?
An Amazon product scraper reads a listing's catalogue data — title, price, availability, images — while an Amazon review scraper reads the opinions customers left about it; they answer different questions and, on most tools, come from two separate runs. A product-only scraper was built for catalogue and pricing monitoring, so it has nothing to say about whether a 4.4-star rating is built from mostly five-star ratings or a wide spread including a lot of one-star complaints. A review-only scraper answers that, but on its own tells you nothing about whether the item is even in stock or what it costs. Amazon Product Scraper With Ratings & Reviews returns both from the same ASIN in the same run: the product row (type: "product") carries the catalogue and pricing fields, and the labelled review rows (type: "review", isChild: true) carry the review content — so a rating-quality question and a pricing question can be answered from one dataset instead of two.
How to scrape Amazon with Amazon Product Scraper With Ratings & Reviews?
- Open Amazon Product Scraper With Ratings & Reviews on its Apify Store page and click Try for free (or Start, if you already have it).
- Enter one or more product identifiers in
productAsins— ASINs likeB00FLYWNYQor full addresses likehttps://www.amazon.com/dp/B00FLYWNYQ. The legacyasinsfield still works and is merged in. - Set the real query controls that apply:
marketplaceDomainfor the storefront,exitCountryfor the currency and delivery terms,pageLanguagefor a localized page, and the review filters (verifiedOnly,minStars,withImagesOnly,maxReviewsPerProduct) to narrow the review rows. - Click Start and let the run finish.
- Open the Dataset tab and download the results as JSON or CSV, or pull them with the Apify API /
apify_client.
{"productAsins": ["B00FLYWNYQ", "0735211299"],"marketplaceDomain": "amazon.com","exitCountry": "US"}
How to run multiple ASINs in one job
productAsins and asins both accept an array, so a single run can carry dozens of identifiers — mix plain ASINs, /dp/ links and /gp/product/ links freely; duplicates across both fields are removed automatically. The Actor works through the list sequentially, one product page per iteration, and pushes each product's row (and its review rows, if emitReviewRows is on) to the dataset as soon as that product is done, rather than waiting for the whole batch.
⬇️ Input
Every option below comes straight from the Actor's input schema — an ASIN list plus every filter the Actor exposes. asins is the only required field; productAsins is merged into it and is usually the more convenient one to fill in.
| Parameter | Required | Type | Description | Example Value |
|---|---|---|---|---|
productAsins | No | array | ASINs or full Amazon product addresses. Accepts B00FLYWNYQ, https://www.amazon.com/dp/B00FLYWNYQ and /gp/product/ links. Merged with asins, duplicates removed. | ["B00FLYWNYQ", "0735211299"] |
asins | Yes | array | The original ASIN list. Still fully supported — an input JSON written for the previous version keeps working unchanged. Merged with productAsins. | ["B07GBZ4Q68"] |
includeStarBreakdown | No | boolean | Adds starsBreakdown (fiveStar…oneStar, in percent), the five flat percent columns, starsBreakdownSum, positiveReviewShare and criticalReviewShare. Default true. | true |
estimateReviewCounts | No | boolean | Adds starsBreakdownCounts — each bucket's percentage applied to countReview, flagged as an estimate by starsBreakdownCountsAreEstimates. Default true. | true |
emitReviewRows | No | boolean | Adds a labelled child row (type: "review", isChild: true) for every review kept, and mirrors those rows into a per-run <runId>-reviews dataset. Default true. | true |
maxReviewsPerProduct | No | integer | Caps how many reviews are kept per product after the filters below apply. 0 keeps every review the page carries. Default 0, minimum 0. | 10 |
verifiedOnly | No | boolean | Keeps only reviews carrying the verified-purchase badge. Default false. | false |
minStars | No | string (enum) | Drops reviews rated below the chosen value. Enum: "0" Any rating, "1" 1★ and up, "2" 2★ and up, "3" 3★ and up, "4" 4★ and up, "5" 5★ only. Default "0". | "4" |
withImagesOnly | No | boolean | Keeps only reviews whose body carries at least one customer photo. Default false. | false |
marketplaceDomain | No | string (enum) | Which Amazon marketplace to read. 21 options from amazon.com to amazon.com.tr (see full list below). Used only when amazonDomain is left at amazon.com. Default amazon.com. | "amazon.co.uk" |
amazonDomain | No | string | Legacy free-text domain field, e.g. amazon.com, amazon.co.uk, amazon.de. Any value other than amazon.com overrides marketplaceDomain. Default "amazon.com". | "amazon.com" |
pageLanguage | No | string (enum) | Requests a localized product page. Enum: "" marketplace default, en-US, en-GB, de-DE, fr-FR, es-ES, it-IT, ja-JP, zh-CN. Default "". | "en-US" |
language | No | string (enum) | Legacy language field; when set it overrides pageLanguage. Same enum as above. Default "". | "" |
exitCountry | No | string (enum) | The country the marketplace should treat the request as coming from — decides quoted currency and delivery terms. 21 country codes, e.g. US, GB, DE, JP, IN. Default "US". | "US" |
proxyCountry | No | string (enum) | Legacy country field. AUTO derives the country from the marketplace; anything else overrides exitCountry. Enum: AUTO, US, GB, DE, FR, ES, IT, CA, AU, JP. Default "AUTO". | "AUTO" |
proxyConfiguration | No | object | Network settings for reaching the marketplace. Prepared default: {"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]}. | {"useApifyProxy": true} |
marketplaceDomain full enum: amazon.com, amazon.co.uk, amazon.de, amazon.fr, amazon.es, amazon.it, amazon.nl, amazon.se, amazon.pl, amazon.ie, amazon.ca, amazon.com.mx, amazon.com.br, amazon.com.au, amazon.co.jp, amazon.in, amazon.sg, amazon.ae, amazon.sa, amazon.eg, amazon.com.tr.
Example JSON input
{"productAsins": ["B00FLYWNYQ", "0735211299"],"asins": ["B07GBZ4Q68"],"includeStarBreakdown": true,"estimateReviewCounts": true,"emitReviewRows": true,"maxReviewsPerProduct": 0,"verifiedOnly": false,"minStars": "0","withImagesOnly": false,"marketplaceDomain": "amazon.com","pageLanguage": "","exitCountry": "US","proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
⚠️ Common pitfall — the legacy fields win. amazonDomain, language and proxyCountry were kept so old input JSON keeps working, but that means each one overrides its newer counterpart (marketplaceDomain, pageLanguage, exitCountry) whenever it's set to anything other than its default. If you change marketplaceDomain to amazon.co.uk but a saved input still carries amazonDomain: "amazon.de", the run reads amazon.de — clear the legacy field, or set both to the same marketplace.
⬆️ Output
Results are typed, normalized JSON with a consistent schema across runs, available from Apify Console as JSON, CSV, Excel, XML, RSS or HTML, or pulled through the Apify API / apify_client. Three row shapes land in the same dataset, told apart by type and isChild: a product row per ASIN, a review row per kept review (when emitReviewRows is on), and an error row for an ASIN that couldn't be read.
Scraped results
[{"type": "product","isChild": false,"statusCode": 200,"statusMessage": "FOUND","success": true,"url": "https://www.amazon.com/dp/B00FLYWNYQ","asin": "B00FLYWNYQ","title": "Instant Pot Duo 7-in-1 Electric Pressure Cooker, 6 Quart","brand": "Instant Pot","manufacturer": "Instant Pot","productRating": "4.7 out of 5 stars","ratingValue": 4.7,"countReview": 173416,"starsBreakdown": { "fiveStar": 84, "fourStar": 9, "threeStar": 3, "twoStar": 1, "oneStar": 3 },"fiveStarPercent": 84,"fourStarPercent": 9,"threeStarPercent": 3,"twoStarPercent": 1,"oneStarPercent": 3,"starsBreakdownSum": 100,"positiveReviewShare": 93,"criticalReviewShare": 4,"starsBreakdownCounts": { "fiveStar": 145669, "fourStar": 15607, "threeStar": 5202, "twoStar": 1734, "oneStar": 5202 },"starsBreakdownCountsAreEstimates": true,"price": 104.67,"buyBoxPresent": true,"priceSource": "buy-box","priceCurrencySymbol": "$","retailPrice": 109.99,"priceSaving": 5.32,"savingsPercent": 5,"priceShippingInformation": "FREE delivery","deliveryMessage": "FREE delivery","warehouseAvailability": "In Stock","soldBy": "Amazon.com","fulfilledBy": null,"sellerId": null,"features": ["7-in-1 functionality", "6-quart capacity, serves 6+ people"],"aboutProduct": [{ "name": "Capacity", "value": "6 Quarts" }],"productDescription": "The Instant Pot Duo combines 7 kitchen appliances in one.","productDetails": [{ "name": "Brand", "value": "Instant Pot" }, { "name": "Item Weight", "value": "11.8 pounds" }],"productSpecification": [{ "name": "Item Weight", "value": "11.8 pounds" }],"attributeCount": 2,"categoriesExtended": [{ "name": "Kitchen & Dining", "url": "https://www.amazon.com/...", "node": "284507" }],"importantInformation": null,"pastSales": "10K+ bought in past month","mainImage": { "imageUrl": "https://m.media-amazon.com/images/I/xxx.jpg", "imageResolution": "1500 x 1500", "imageWidth": 1500, "imageHeight": 1500 },"mainImageUrl": "https://m.media-amazon.com/images/I/xxx.jpg","imageUrlList": ["https://m.media-amazon.com/images/I/xxx.jpg"],"imageVariants": [{ "url": "https://m.media-amazon.com/images/I/xxx.jpg", "width": 1500, "height": 1500 }],"videoeUrlList": [],"variantAsins": ["B06Y1YD5W7", "B00FLYWNYQ"],"variantLabels": ["3 Quarts", "6 Quarts"],"variantCount": 2,"variantDimensions": ["Size"],"variations": [{ "variationName": "Size", "values": [{ "value": "6 Quarts", "dpUrl": "https://www.amazon.com/dp/B00FLYWNYQ", "selected": true, "available": null, "price": null, "imageUrl": null, "asin": "B00FLYWNYQ" }] }],"bookVariations": [],"reviewsAvailableOnPage": 13,"reviewsMatchingFilters": 13,"reviewsReturned": 13,"reviewsFilteredOut": 0,"reviews": [{ "reviewId": "R3ME2OSWSK3OH2", "position": 1, "title": "Experiment, enjoy and save time", "text": "This is one of the best kitchen purchases I have made.", "ratingScore": 5.0, "verifiedPurchase": true, "helpfulVotes": 5, "reviewCountry": "the United States", "reviewCountryCode": "US", "reviewVariant": "Size: 6 Quarts", "hasImages": false, "reviewPublishedAt": "2026-07-27", "userName": "K. Harding", "url": "https://www.amazon.com/gp/customer-reviews/R3ME2OSWSK3OH2", "parentAsin": "B00FLYWNYQ" }],"amazonDomain": "amazon.com","marketplaceDomain": "amazon.com","proxyCountry": "US","exitCountry": "US","scrapedAt": "2026-08-15T09:00:00Z"},{"type": "review","isChild": true,"reviewId": "R3ME2OSWSK3OH2","position": 1,"title": "Experiment, enjoy and save time","reviewTitle": "Experiment, enjoy and save time","text": "This is one of the best kitchen purchases I have made.","reviewText": "This is one of the best kitchen purchases I have made.","ratingScore": 5.0,"rating": "5 out of 5 stars","verifiedPurchase": true,"helpfulVotes": 5,"reviewCountry": "the United States","reviewCountryCode": "US","reviewVariant": "Size: 6 Quarts","hasImages": false,"reviewPublishedAt": "2026-07-27","userName": "K. Harding","reviewerName": "K. Harding","url": "https://www.amazon.com/gp/customer-reviews/R3ME2OSWSK3OH2","reviewUrl": "https://www.amazon.com/gp/customer-reviews/R3ME2OSWSK3OH2","imageUrlList": [],"reviewImages": [],"asin": "B00FLYWNYQ","parentAsin": "B00FLYWNYQ","productTitle": "Instant Pot Duo 7-in-1 Electric Pressure Cooker, 6 Quart","productUrl": "https://www.amazon.com/dp/B00FLYWNYQ","amazonDomain": "amazon.com","marketplaceDomain": "amazon.com","scrapedAt": "2026-08-15T09:00:00Z"},{"type": "review","isChild": true,"reviewId": "R1A2B3C4D5E6F7","position": 2,"title": "Great for beginners","reviewTitle": "Great for beginners","text": "Easy to use once you get the hang of the buttons.","reviewText": "Easy to use once you get the hang of the buttons.","ratingScore": 4.0,"rating": "4 out of 5 stars","verifiedPurchase": true,"helpfulVotes": null,"reviewCountry": "Canada","reviewCountryCode": "CA","reviewVariant": "Size: 6 Quarts","hasImages": true,"reviewPublishedAt": "2026-06-14","userName": "Marcus T.","reviewerName": "Marcus T.","url": "https://www.amazon.com/gp/customer-reviews/R1A2B3C4D5E6F7","reviewUrl": "https://www.amazon.com/gp/customer-reviews/R1A2B3C4D5E6F7","imageUrlList": ["https://m.media-amazon.com/images/I/review1.jpg"],"reviewImages": ["https://m.media-amazon.com/images/I/review1.jpg"],"asin": "B00FLYWNYQ","parentAsin": "B00FLYWNYQ","productTitle": "Instant Pot Duo 7-in-1 Electric Pressure Cooker, 6 Quart","productUrl": "https://www.amazon.com/dp/B00FLYWNYQ","amazonDomain": "amazon.com","marketplaceDomain": "amazon.com","scrapedAt": "2026-08-15T09:00:00Z"},{"type": "product","isChild": false,"statusCode": 404,"statusMessage": "NOT_FOUND","success": false,"url": "https://www.amazon.com/dp/B0000000XX","asin": "B0000000XX","error": "No product page exists for this identifier on this marketplace.","amazonDomain": "amazon.com","marketplaceDomain": "amazon.com","scrapedAt": "2026-08-15T09:00:01Z"}]
Field notes
| Field | Meaning |
|---|---|
type / isChild | Tells the two row shapes apart: "product" / false or "review" / true. |
statusMessage | FOUND, PARTIAL (page read but no offer price or no attribute table), NOT_FOUND (404 on the ASIN) or ERROR (page could not be retrieved). |
starsBreakdown, fiveStarPercent…oneStarPercent | Percentage of ratings in each bucket; the five values sum to 100 (starsBreakdownSum). null when the page carries only a partial histogram. |
starsBreakdownCounts | Rating counts estimated from the percentages, rounded, present only when estimateReviewCounts is on and countReview is known. |
price / buyBoxPresent / priceSource | price is null and buyBoxPresent is false when the listing shows no offer — never filled with a neighbouring product's price. priceSource is "buy-box" or "unavailable". |
retailPrice / priceSaving / savingsPercent | Reported only alongside a real offer price. |
reviewsAvailableOnPage / reviewsMatchingFilters / reviewsReturned / reviewsFilteredOut | How many reviews the page held, how many matched your filters, how many were kept, and how many your filters dropped. |
reviews | Reviews kept for this product, embedded in the product row using their original field names (title, text, userName, url, imageUrlList). |
Review row: reviewTitle/title, reviewText/text, reviewerName/userName, reviewUrl/url, reviewImages/imageUrlList | Each of these five pairs carries the same value under two field names on a standalone review row — the second name was added for convenience when reading the row on its own, without the original name being removed. |
helpfulVotes | null when the review states no helpful-vote count — never a stand-in 0. |
reviewCountry / reviewCountryCode | Parsed from the review's own dateline; the ISO code is null for a country outside the Actor's known list rather than a guessed code. |
productDetails / productSpecification / attributeCount | Merged attribute table — Amazon alternates between three page layouts and this Actor reads all three. |
variantAsins / variantLabels / variantCount / variations | The sibling ASINs of the product's size/colour/format family. variantCount is 0 when the product has none. |
error | Present only on a NOT_FOUND or ERROR row; absent from a successful row. |
When emitReviewRows is on, every review row is also written to a second, per-run dataset named <runId>-reviews, in addition to appearing in the default dataset — useful if you want review rows in isolation without filtering the default dataset by type.
How can I use the data extracted with Amazon Product Scraper With Ratings & Reviews?
- 🏢 Sellers and brand managers: track
price,retailPrice,warehouseAvailabilityandsoldByacross your own and competing ASINs to catch a stockout, a price change or a buy-box loss the moment it happens. - 🤖 AI engineers and LLM developers: an agent takes a product name or ASIN, runs this Actor, and passes the structured product and review rows to the model as grounding context for a shopping assistant or a review-summarization tool.
- 📊 Market researchers: compare
positiveReviewShareandcriticalReviewShareacross a category to see which products earn genuine satisfaction versus a middling average built from a wide spread of ratings. - 🔬 Product teams: mine
reviewTextfor recurring complaints or feature requests, cross-referenced withreviewVariantto see if the issue is specific to one size or colour.
How do you monitor Amazon ratings and pricing over time?
Rating-and-price monitoring means running the same ASIN list on a schedule and diffing each new row against the last one you stored, rather than reading a rating once and assuming it holds. Ratings shift as new reviews arrive, and a five-star average can hide a growing one-star tail — the fields to diff between runs are ratingValue, countReview, fiveStarPercent…oneStarPercent, positiveReviewShare, criticalReviewShare, price and retailPrice. A jump in criticalReviewShare between two runs, even with ratingValue barely moving, is the kind of change an average alone won't show you; a price that goes from a number to null means the buy box disappeared, not that the item got free.
A simple workflow: schedule a run across your tracked ASIN list once a day or once a week using Apify's built-in Scheduler, store each run's dataset, and compare the new criticalReviewShare and price against the previous run's values for the same asin. Alert when criticalReviewShare rises past a threshold you set, or when price changes direction. scrapedAt on every row gives you the timestamp to sequence the comparison by.
Integrate Amazon Product Scraper With Ratings & Reviews and automate your workflow
Amazon Product Scraper With Ratings & Reviews works with any language or tool that can send an HTTP request.
REST API with Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("scrapier/amazon-product-details-scraper-with-ratings-and-reviews").call(run_input={"productAsins": ["B00FLYWNYQ", "0735211299"],"marketplaceDomain": "amazon.com",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():if item["type"] == "product":print(item["asin"], item["title"], item["price"], item["positiveReviewShare"])
Scheduled monitoring and delivery
Set up a recurring run from the Schedules tab in Apify Console to re-run the same ASIN list daily or weekly without manual triggering. There is no built-in webhook delivery in the Actor itself, but Apify's platform-level webhooks can fire on run completion to push results into your own pipeline, and every run's dataset stays available for polling through the API in the meantime.
Is it legal to scrape Amazon product and review data?
Yes — scraping publicly accessible Amazon pages is generally lawful in most jurisdictions, and Amazon Product Scraper With Ratings & Reviews returns only what any shopper sees by opening a product page in a browser. Most of what this Actor returns — price, title, availability, catalogue attributes — is business and product-catalogue data, not personal data; that framing puts it under Amazon's Terms of Service and database-rights law rather than GDPR, since GDPR governs personal data, not product listings. Review rows are a partial exception: reviewerName carries the display name a reviewer chose to show publicly, which can constitute personal data under GDPR or CCPA depending on your jurisdiction and how you store and reuse it. Scraping for internal monitoring carries a different risk profile than scraping to build a dataset for AI training or redistribution. Consult your legal team for commercial use cases involving bulk data storage, and review Amazon's Conditions of Use before large-scale or repeated collection.
Frequently asked questions
Which Amazon marketplaces and languages does the Actor support?
21 marketplaces, from amazon.com and amazon.co.uk to amazon.co.jp, amazon.in, amazon.com.br and amazon.com.tr, set with marketplaceDomain. Page language is a separate control (pageLanguage): "" (marketplace default), en-US, en-GB, de-DE, fr-FR, es-ES, it-IT, ja-JP, zh-CN.
How do I filter which reviews come back?
Four independent filters, all applied before maxReviewsPerProduct caps the count: verifiedOnly keeps only verified-purchase reviews, minStars drops anything below the chosen rating, withImagesOnly keeps only reviews with a customer photo, and every kept row still reports verifiedPurchase and hasImages regardless of the filters you used.
How does the Actor handle Amazon's anti-bot measures?
It escalates through connection profiles rather than retrying the same route blindly — a direct request first, then Apify Proxy, then residential Apify Proxy if a challenge page, a 4xx/5xx response, or a suspiciously short page is detected. Each product page gets up to 6 fetch attempts (two per connection profile) before the Actor gives up on it and pushes an ERROR row instead of a partial one.
Does Amazon Product Scraper With Ratings & Reviews extract the 5-star rating breakdown?
Yes — starsBreakdown and its five percent columns, starsBreakdownSum, positiveReviewShare and criticalReviewShare, controlled by includeStarBreakdown (default on). It's null when Amazon's page only exposes a partial histogram, since a partial five-bucket set isn't meaningful padded to look complete.
How many results does the Actor return per query?
One product row per ASIN in your input — there's no maximum on the size of the productAsins / asins arrays themselves. Reviews per product are, per the Actor's own input description, "roughly a dozen" — as many as the product page itself embeds — further limited by maxReviewsPerProduct (default 0, meaning no additional cap) and whichever review filters you set. reviewsAvailableOnPage reports the exact number the page held on that run.
How do I use this Actor to monitor ratings or price changes over time?
Schedule a recurring run across your ASIN list from Apify Console's Schedules tab, extract ratingValue, fiveStarPercent…oneStarPercent, criticalReviewShare and price from each run, and compare them to the same fields from the previous run for the same asin. Alert on the deltas that matter to you — a rising criticalReviewShare or a price that flips to null.
Does Amazon Product Scraper With Ratings & Reviews work with Claude, ChatGPT, and AI agent frameworks?
It isn't served through an MCP server, but it's callable as an HTTP endpoint by any agent framework via the Apify API or apify_client — an agent supplies ASINs, receives the structured JSON back, and grounds its answer on the returned product and review fields instead of guessing.
Can I use it without managing proxies or an Amazon account?
Yes. No Amazon login, cookie, or session is used or simulated — the Actor reads only the public product page. Proxy routing through Apify Proxy (residential group prepared by default) is handled internally by the Actor's connection-escalation logic; you can override proxyConfiguration if you have your own proxy groups, but you don't need to supply one to run it.
Is an input JSON written for the previous version of this Actor still valid?
Yes. asins, amazonDomain, language and proxyCountry are all still declared in the schema and still take effect exactly as before — each one, when set to a non-default value, overrides its newer counterpart (productAsins, marketplaceDomain, pageLanguage, exitCountry).
💬 Your feedback
Found a bug or missing a field? Open an issue on this Actor's Issues tab on the Apify Store, or message Scrapier directly through Apify Console — that's how fixes and field requests get prioritized.