People who search for an "Amazon review scraper" usually want the same thing: the reviews of one or more products, with stars, dates and text, in a spreadsheet or a database.
There are four ways to get there, and they differ less in price than in who keeps them running. This post compares them and ends with a short decision table.
The four options
| Option | How it works | Good for | Breaks when |
|---|---|---|---|
| Browser extension | Reads the review pages you open in your own browser and exports them | A few products, now and then | You need many products, or a schedule |
| Your own Python scraper | Requests or a headless browser fetches the pages; your parser pulls the fields | Full control over what you collect | The page layout, the sign-in rules or the anti-bot checks change |
| A general scraping API | A provider fetches the page for you through its proxies; you parse the result | Many pages across many sites | You still own the parsing and the field meanings |
| A reviews data API | You send an ASIN and get reviews as structured JSON | Repeated or large jobs, and AI agents | You need a field the API does not return |
Browser extensions
An extension works on the page in front of you. It uses your own signed-in session, so it sees what you see, and it exports what is on screen to CSV.
That is also its limit. It is manual, it works one product at a time, and it cannot run while you are away. For checking three competitors once before a launch it is the fastest route. For tracking forty products every week it is not a process.
Your own Python scraper
A script with an HTTP client or a headless browser gives you full control, and for a one-off job it can be done in an afternoon.
The cost comes later. Several scraping vendors reported that since November 2024 Amazon shows the full review list only to signed-in shoppers, so a scraper that pages through reviews has to run as a logged-in account, and that account carries the risk. Add CAPTCHAs, rate limits and layout changes, and the script needs regular repair. The four hidden costs of building your own Amazon scraper goes through them one by one.
A general scraping API
A scraping API takes over the fetching: proxies, retries and CAPTCHA handling. You send a URL and get the page back, sometimes with a generic parser on top.
What it does not take over is meaning. You still decide how to read the star rating, the variation the reviewer bought, the verified-purchase label and the date format in each marketplace, and you still maintain that when the page changes.
A reviews data API
A reviews data API skips the page. You send an ASIN and a marketplace and get the reviews back as records with a fixed set of fields.
With the Amazon reviews API on this site, each review comes back with star, title, content, date, the variation in skus, likes, media flags, and verified and vine markers. You can filter by star rating, so asking for only one- and two-star reviews is a parameter rather than a parsing job:
import os
import requests
res = requests.post(
"https://ecommercedataapi.com/v1/amazon/review",
headers={"X-API-Key": os.environ["ECOMMERCE_DATA_API_KEY"]},
json={"marketplace": "US", "asin": "B08CK5Z5Q1", "stars": [1, 2], "page": 1, "size": 20},
timeout=30,
)
res.raise_for_status()
data = res.json()["data"]
print(data["total"], "matching reviews")
for review in data["items"]:
print(review["star"], review["date"], review["title"])One page holds up to 20 reviews and page goes up to 100. The reviews API page has a loop that collects every critical review for an ASIN and shows how to budget the calls.
The trade-off is the reverse of scraping: you give up control over exactly what is collected, and you get fields that keep their meaning across products and marketplaces without maintenance. Getting Amazon reviews through an API explains why Amazon's own APIs do not cover this.
Which one to use
| Your situation | Use |
|---|---|
| A few products, once | A browser extension |
| A one-off job with a field no API returns | Your own scraper |
| Many different websites, not just Amazon | A general scraping API |
| The same products every week, or hundreds of ASINs | A reviews data API |
| An AI agent that should read reviews on its own | A reviews data API through MCP |
Whichever you pick, the analysis is the same work afterwards. How to analyse Amazon reviews covers the method, and exporting reviews into a spreadsheet gives a template with the columns to keep.
Questions
Is it allowed to scrape Amazon reviews? Amazon's Conditions of Use do not permit robots or other automated tools to collect data from its site. Whether and how that applies to your use is a question for your own legal advice; the compliance section of the hidden costs post covers the practical side.
Can I scrape all reviews of a product? With a scraper, only as far as the pages you can load while signed in. With the reviews API, up to 2,000 reviews per star filter (20 per page, 100 pages); split by star rating when a product has more.
Can I get only negative reviews?
Yes. A scraper needs Amazon's star filter in the URL and a parser for it; the API takes "stars": [1, 2].
Can an AI agent scrape reviews for me? An agent can call the reviews API as a tool through the remote MCP server, so it fetches structured reviews instead of reading pages.