Amazon Reviews Scraper avatar

Amazon Reviews Scraper

Under maintenance

Pricing

from $1.94 / 1,000 reviews

Go to Apify Store
Amazon Reviews Scraper

Amazon Reviews Scraper

Under maintenance

Get Amazon product reviews by ASIN or product URL. Each row has the rating, title, full text, author, date, country, verified-purchase badge, helpful votes and review photos. Amazon shows signed-out visitors about 8 reviews per product, so that is what comes back. $2.00 per 1,000 reviews.

Pricing

from $1.94 / 1,000 reviews

Rating

0.0

(0)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

Give it Amazon product URLs or ASINs and get the reviews on each product page as rows: rating, title, the full review text, author, date, country, the verified-purchase badge, helpful votes, any photos the buyer attached, and a link straight to the review.

The number is the thing to know first. Amazon shows a signed-out visitor only the handful of reviews it prints on the product page, usually about eight, and there is no way past that without an account. So eight is roughly what comes back per product, whatever you set the limit to. The other half of the truth: amazon.com and amazon.ca return reviews, and the UK and European marketplaces come back with a BLOCKED row instead.

InputAmazon product URLs or ASINs
OutputOne row per review: rating, title, full text, author, date, country, verified badge, helpful votes, photos and a review link
Ceiling10 products per run, about 8 reviews on each
Account neededNone from you
Price$2.00 per 1,000 reviews, flat on every plan. The free plan's $5 a month covers about 2,500

🔍 What Amazon Reviews Scraper does

It opens the product page, reads the review block off it, and writes one row per review. Full text, not the truncated teaser the page shows before you click "read more". Photos attached to a review come through as URLs, and hasVideo tells you when a review has a clip on it.

A row is only written, and only charged, when it is complete: it needs an id, an author, a rating and the text. A half-parsed review is dropped rather than delivered as a row with holes in it.

The same ASIN listed twice on the same marketplace is fetched once, so a messy input list does not cost you twice.

📋 What data you get from each Amazon review

What you getField
Review id and a direct link to itreviewId, reviewUrl
The product and marketplaceasin, marketplace
Star rating, title and the full textrating, title, reviewText
Who wrote it, and their profile linkauthor, authorProfileUrl
When and where it was reviewedreviewedAt, reviewCountry
Verified purchase and Amazon Vine flagsverifiedPurchase, vineCustomer
Helpful voteshelpfulVotes
Buyer photos, and whether a video is attachedreviewImages, hasVideo
Which attempt produced the rowtransport

▶️ How to scrape Amazon reviews

  1. Open Amazon Reviews Scraper and click Try for free.
  2. Paste product URLs or ASINs into Product URLs or ASINs, one per line.
  3. If you pasted bare ASINs, set the Amazon marketplace. Leave it on com unless you know why.
  4. Set Maximum products. Three is a sensible first run.
  5. Click Start, then download the dataset as JSON, CSV or Excel.

Run it with Product URLs or ASINs empty and you get a free sample row showing the shape, with nothing fetched.

💰 How much does it cost to scrape Amazon reviews?

$2.00 per 1,000 reviews. Flat on every Apify plan, no volume tiers. On the free plan, the $5 Apify gives you each month covers about 2,500 reviews.

You pay per complete review row. Nothing else in the dataset is billed: not the sample row, not the run notes, not a diagnostic, and not a product that turned out to have no reviews. A half-parsed review is dropped before it reaches you, so you never pay for a row with the text missing.

Three products at about eight reviews each is roughly 24 rows, so about five cents.

📥 What you give it

{
"products": ["B0CHWRXH8B", "https://www.amazon.com/dp/B0BS1PRC4L"],
"marketplace": "com",
"maxProducts": 3,
"maxReviewsPerProduct": 20
}
FieldDefaultWhat it is
productsnoneProduct URLs or ten-character ASINs, mixed freely. A full URL carries its own marketplace.
marketplacecomUsed for plain ASINs. com and ca are the two that return reviews.
maxProducts3Unique products per run, 1 to 10.
maxReviewsPerProduct20Upper bound per product, 1 to 100. Amazon serves about 8, so a higher number just keeps whatever arrived.
deadlineSecs90The actor's own wall-clock limit, 10 to 150 seconds. Checked between products, so one already in flight finishes.
enableProxyFallbackfalseOff suits almost every run. On, a request that fails gets one more attempt by another route.
enableResidentialFallbackfalseOld name for the row above, kept so saved inputs keep working.
proxyConfigurationApify defaultOnly used for that one retry. Your own servers, if you have them.

📤 What you get back

A real row from a real run, with the review text, the profile link and the photo list cut short so the block stays readable:

{
"ok": true,
"reviewId": "R1PQX3FG6BD7WJ",
"asin": "B0CHWRXH8B",
"marketplace": "com",
"rating": 5,
"title": "Really really really good.***Update***",
"reviewText": "I am a rare duck in the tech space as I really don't have a preference between Android and iOS...",
"author": "HJeffK",
"authorProfileUrl": "https://www.amazon.com/gp/profile/amzn1.account.AGVVGEYLGPWOZJLJ4J4RC3IWK3JQ...",
"reviewedAt": "October 25, 2023",
"reviewCountry": "the United States",
"verifiedPurchase": true,
"vineCustomer": false,
"helpfulVotes": 1987,
"reviewImages": [
"https://m.media-amazon.com/images/I/61amS1U6t0L._SY500_.jpg",
"..."
],
"hasVideo": false,
"reviewUrl": "https://www.amazon.com/gp/customer-reviews/R1PQX3FG6BD7WJ",
"transport": "direct"
}
FieldHow to read it
reviewIdUnique per review. Use it as your de-duplication key across runs.
rating, helpfulVotesReal numbers, not page text. helpfulVotes is null when the page shows none.
reviewedAt, reviewCountryAs the page prints them, so a date is "October 25, 2023" rather than an ISO stamp.
vineCustomerWhether the reviewer got the product through Amazon Vine. Worth filtering on.
reviewImages, hasVideoBuyer photos as URLs, and whether a clip is attached. Neither shows in the default table view.
transportWhich attempt produced the row: the first one, or the retry.

🧾 Reading the output

Four kinds of row can land in the dataset, and three of them carry ok: true, so filter carefully.

RowHow to spot itBilled
A reviewok: true, a reviewId, and no _notice fieldyes
The sample row_sample: true and a _notice, only when products was emptyno
A run note_notice with _proxyNotice: true and _uncharged: trueno
A diagnosticok: false and an errorCodeno

Keep the rows that have ok: true and no _notice field and you have your reviews. Filtering on ok alone, or on reviewId alone, also keeps the sample row, which carries a placeholder id.

CodeWhat it means
BAD_INPUTNothing usable in products, or a URL that is not an Amazon product page.
NOT_FOUNDNo product page for that ASIN. Usually a typo or a delisted item.
NO_RESULTSThe page loaded and had no reviews on it.
BLOCKEDAmazon served the page without the review block. Expected on the UK and European marketplaces.
RATE_LIMITEDToo much traffic just now. Try again shortly.
NETWORKAmazon was unreachable or answered badly. Re-run it.
DEADLINEdeadlineSecs ran out. Products not yet started get no row at all.

A product that fails writes exactly one diagnostic row and the run carries on with the next one.

💡 What people use it for

  • Pulling the reviews Amazon promotes on a product page, which are the ones shoppers actually read.
  • Watching what changes in the visible reviews on your own listing week to week.
  • Collecting verified-purchase complaints across a handful of similar products before choosing one to sell or buy.
  • Gathering review photos, which say more about a product's real condition than the text does.

🚧 What it does not do

  • About eight reviews per product. That is what Amazon serves a signed-out visitor, and no setting lifts it.
  • No sorting, filtering or paging. You get the block the page shows, in the order it shows it. There is no "most recent" or "one star only".
  • Only com and ca return reviews. A run against co.uk, de, fr, it or es comes back with a BLOCKED diagnostic rather than reviews.
  • Ten products per run. Split a bigger list across runs, or schedule it.
  • No product data. No price, title, rating summary or images of the product itself. Amazon Scraper covers those.
  • No variation detail. Which colour or size a review is about is not on the row.
  • No seller feedback. These are product reviews, not seller ratings.

🧭 Which Amazon scraper do you need?

If you wantUse
The reviews on an Amazon product page, as one row eachThis one
Amazon products by keyword or ASIN, with the on-page reviewsAmazon Scraper
The Best Sellers, New Releases or Movers & Shakers ranking for a categoryAmazon Bestsellers Scraper
Buyer reviews on 1688 products you can link1688 Reviews Scraper

❓ Questions people ask

Can I get all 35,000 reviews on an Amazon product?

No, and nothing that stays signed out can. Amazon shows the page's review block and nothing more.

Why did my UK run come back empty?

It did not come back empty, it came back BLOCKED. The UK and European marketplaces do not return the review block here. Stick to com and ca.

Do I need an Amazon account?

No. Nothing to paste and nothing that expires.

Is reviewText the full review?

Yes, the whole body, not the shortened version the page shows before you click through.

Can I run the same ASINs every day?

Yes. reviewId is stable, so keep the ids you already have and only keep what is new.

Can I call it from code or connect it to an AI assistant?

Yes. The API tab has ready-made code for Python, JavaScript and the command line. For Claude, ChatGPT or another MCP client, connect https://mcp.apify.com/?tools=fetch-actor-details,dami_studio/amazon-reviews-scraper. Either way the run happens on your Apify account at the same price.

These are public product pages. Reviews are personal data under GDPR and similar laws, so have a reason for holding them and be careful about republishing them. Apify's write-up on the legality of web scraping is a good starting point, and we are not lawyers.

🆘 If something breaks

Open the Issues tab on the actor page. Send the ASIN and the run ID; the diagnostic row usually names the reason already.