I Read 10k Amazon Reviews So I Did Not Have To
How I pulled roughly 10k Amazon reviews in an afternoon with one pay-per-call endpoint on Monid, then let filters and a model find the one complaint that mattered.

Copy this line to your agent to pull thousands of Amazon reviews and find the recurring complaint.
set up https://monid.ai/SKILL.md and use apify /axesso_data/amazon-reviews-scraper to pull reviews by ASIN and surface the top complaints
You do not have to read 10,000 Amazon reviews to know what buyers actually hate about a product. I pulled that many in an afternoon from one endpoint, ran them through a star filter and a quick sentiment pass, and the real complaint fell out in about twenty minutes of reading the summary instead of a week of reading tabs. Monid is a pay-per-call data API marketplace: one key and one wallet reach hundreds of external data endpoints across scraping, enrichment, social data, and search, with the price shown before anything runs. This is how a purchase decision I kept avoiding turned into a script.
TL;DR
- I was choosing between two competing gadgets and drowning in reviews, so I stopped scrolling and pulled the reviews as data with
apify /axesso_data/amazon-reviews-scraperon Monid. - The endpoint returns each review's full text, rating, verified-purchase flag, helpful votes, date, and media, plus the aggregated rating distribution, by ASIN and in batches. Billed per result (magnitude only at monid.ai/tools).
- Roughly 10k reviews across the two ASINs landed in the low single-digit dollars, not a subscription.
- The insight was not in the 1-star pile everyone reads. It was a recurring gripe buried in the 3-star verified reviews.
- Honest caveats live at the end: weight verified purchases, dedupe, and never trust the headline star average alone.
The afternoon I stopped scrolling
Here is the pain, and you know it. I was about to spend real money on one of two near-identical gadgets, and both sat around a 4.4 with thousands of reviews each. So I did what everyone does. I opened the reviews, sorted by most recent, then by most helpful, then read 1-stars because that is where the truth supposedly lives. Two hours in I had eleven tabs open, a vague bad feeling about both products, and no actual decision. The star average tells you a thing is fine. It does not tell you why the unhappy people are unhappy, and it definitely does not tell you whether their reason applies to how you will use the thing.
The problem is not a lack of information. It is the opposite. The signal I wanted, the one complaint that shows up again and again from people who actually bought it, was sitting in a haystack I was trying to read by hand, one page at a time. That is a job for code, not for my afternoon.
Set up once
For agents
Grab an API key at app.monid.ai, then paste this to your agent and hand it the key:
set up https://monid.ai/SKILL.md
It learns the whole discover, inspect, run workflow itself. More details in the agent quickstart.
For humans
npm install -g @monid-ai/cli
monid keys add --label main --key <your-api-key>
More details in the CLI quickstart.
The pull
The endpoint that did the reading is apify /axesso_data/amazon-reviews-scraper, maintained by scraping specialists on Apify. It takes an ASIN and hands back each review with its full body text, star rating, title, date, verified-purchase flag, helpful-vote count, any attached photos, and the aggregated rating distribution. It also takes a batch of ASINs, which is the whole reason a two-product comparison is one job instead of two.
I always sanity-check a source before I trust it, so I pulled twenty reviews first and read them against the live listing:
monid run -p apify -e /axesso_data/amazon-reviews-scraper \
-i '{"asin": "B0EXAMPLE1", "domainCode": "com", "maxReviews": 20}' -w
# -> COMPLETED: 20 reviews with full text + verified flag,
# plus the aggregated rating distribution, billed per result
The text matched the listing, the verified flags lined up, the star distribution matched the headline. A free monid inspect -p apify -e /axesso_data/amazon-reviews-scraper had already shown me the schema and the per-result price, so I knew the shape of the bill before I opened the tap. Then I opened it, both ASINs, deep, and grabbed the Run IDs to pull the JSON down.
monid runs get -r 01HXYZ... -o reviews.json
Roughly 10k reviews across the two products. Total cost was low single-digit dollars, which is less than the coffee I drank deciding not to read them.

Letting the model do the reading
Ten thousand rows of JSON is not reading material either, so I let code and a model do the part I am bad at. Two moves did almost all the work.
First, filter before you think. The endpoint filters server-side by star rating and by keyword, and it flags verified purchases, so I dropped everything to verified 1, 2, and 3-star reviews. That cut the pile by most of its volume and all of its noise. The 5-star reviews are a wall of "love it, fast shipping" that tells you nothing about the product, and per-result billing means a tighter filter is also a smaller bill, so precision and cost pull the same direction here.
Second, a quick sentiment and clustering pass. I fed the filtered bodies to a model with one instruction: group the complaints, count them, and quote the most common one. No fancy pipeline, just asking the thing that reads fast to read fast.
The complaint I actually found
I expected the answer to be in the 1-star pile. It was not. The 1-stars were the usual mix of shipping damage and buyer's remorse, the stuff that says more about the delivery than the design. The real signal was in the verified 3-star reviews, the people who mostly liked the product and mentioned one flaw almost in passing. Clustered together, the same specific mechanical failure showed up over and over, described a dozen different ways. It was the exact failure mode that would hit how I planned to use it. I bought the other one. That single derived insight, the recurring 3-star gripe, is the thing no star average and no amount of scrolling would have handed me.
The honest caveats
I would be lying if I said the numbers read themselves, so three things I do not skip.
Weight the verified-purchase flag. An unverified 1-star is noise until proven otherwise, and treating it equally is how you talk yourself out of a good product.
Dedupe before you count. Copy-paste reviews and near-identical bodies inflate a complaint that is really one angry person with a keyboard. A cheap similarity pass on the text kills most of it.
Never trust the headline star average alone. A 4.4 is an average of two very different stories, and the distribution plus the 3-star text is where the buying decision actually lives.
FAQ
Do I need Amazon's official API or a seller account? No. You integrate Monid once and fund one pay-as-you-go wallet. The provider on Apify owns the Amazon access, proxies, and parser upkeep, and you get full review text the official Product Advertising API does not return.
Can I compare two products in one pull?
Yes. apify /axesso_data/amazon-reviews-scraper takes a batch of ASINs, so a head-to-head is one call and one bill, with per-review text and verified flags for each.
How much did 10k reviews cost? Billing is per result, so a twenty-row spot check is a fraction of a cent and a full two-product sweep lands in the low single-digit dollars, always shown before the run. Current prices are at monid.ai/tools.
Can an agent do the whole thing? Yes. Because Monid ships as an MCP server, I handed a later comparison to an agent as "pull verified 1 to 3-star reviews for these ASINs and cluster the complaints," and it ran the endpoint and handed back the summary.
Try it on the thing you keep almost buying
Take the product you have been avoiding a decision on. Inspect the endpoint for free, pull twenty reviews, and check them against the listing by hand. If they match, and they will, filter to verified 1 to 3-star, cluster the text, and read the summary instead of the tabs. It costs pocket change to stop scrolling, at monid.ai.