Claude for Amazon and Shopify Sellers: Mine Bad Reviews
Connect Apify's MCP server to Claude, then pull the 1 to 3 star reviews from about 30 competitor listings: Amazon through the Amazon Reviews Scraper with its critical filter, Shopify stores through a Shopify review scraper that reads the store's review app. Claude groups every complaint into themes, ranks them, and maps each one to a concrete change in your listing: a bullet, an image, a FAQ line, the packaging or the product. Thirty listings at 30 critical reviews each costs about $5 in Apify credits on the free plan.
Your competitors' worst reviews are the cheapest product research you will ever buy. Every 1-star review is a customer explaining, in their own words, which expectation the listing set and the product failed to meet. Read across 30 listings, those reviews stop being anecdotes and become a ranked list: the battery claim nobody believes, the size chart that runs small, the packaging that ruins the gift.
This guide is for physical products sold on Amazon or a Shopify store. If you sell software, the same method runs on G2, App Store and Reddit reviews instead: see voice of customer analysis with Claude.
Set it up in one prompt
If you just want the result, paste this into Claude Cowork (Claude Desktop works too). Claude interviews you about your product and your competitors, checks the Apify connector, runs a small paid test so you see the real cost, and only then pulls the full set. The walkthrough below explains each step.
Claude asks for your product and competitor listings, tests both review sources on a tiny sample, then builds the complaint themes and your listing fix list.
- Asks for your product, your listing text and 10-30 competitor URLs, one question at a time
- Checks the Apify connector and explains how to add it if missing
- Runs a 3-review test per source and shows the actual cost
- Pulls the critical reviews, agrees a theme list with you, then writes the fix list
I sell a physical product and I want to mine my competitors' 1-3 star reviews
to improve my own listings. Set it up with me step by step. Rules for the whole session:
- Ask me ONE question at a time and wait for my answer.
- Before any action that spends Apify credits or writes a file, tell me what it will do
and what it should cost, and wait for my "yes".
- Never invent reviews, counts or quotes. Every number comes from the scraped data.
1. Interview me. Ask, one at a time:
- what I sell, in one sentence, and where (Amazon marketplace, my Shopify store, or both)
- my current listing: title, bullet points and description. If I sell on Shopify and the
Shopify connector is connected, offer to read my product from my store instead.
- 10 to 30 competitor listings: Amazon product URLs or ASINs, and/or competitor
Shopify product or store URLs
- how many critical reviews to pull per listing (default 30, maximum 100 on Amazon)
2. Check the connector. Confirm you can call the Apify MCP tools fetch-actor-details,
call-actor and get-dataset-items. If you cannot, stop and tell me to add a custom
connector in Customize > Connectors with the URL https://mcp.apify.com, sign in to
Apify, then tell you when it is done.
3. Confirm the Actors and prices with fetch-actor-details, and show me each one's current
price per review:
- junglee/amazon-reviews-scraper for Amazon. Input: productUrls as [{"url": "..."}],
filterByRatings ["critical"], maxReviews, sort "recent". Do not use reviewsCutoffDate
unless I ask: it adds a separate charge.
- stanvanrooy6/shopify-review-scraper for Shopify. Input: startUrl (or startUrls for
several), maxRating 3, maxReviews.
4. Test run. With my approval, run each Actor on ONE listing with maxReviews 3 and a
run timeout of 180 seconds. Show me: reviews returned, one sample row, and the cost.
If a Shopify run returns nothing, read its run log and tell me why (usually the store
uses a review app the scraper does not support). Fix problems with me before going on.
5. Full run. Show the estimated total cost (listings x reviews x price per review) and run
only after I approve. Keep a 180-300 second timeout per run and cap each run's spend.
6. Clean. Drop reviews with no written text (some Shopify apps return the product name as
the body of a star-only review), drop exact duplicates, and keep rating, date, verified
status, variant and listing for every review.
7. Themes. Read a random sample of 60 reviews and propose 10-20 complaint themes
(for example: battery life, sizing, durability, packaging, missing parts, misleading
claim, delivery). Wait for my edits. Mark delivery and seller-service complaints as
"not product" so they do not drown out product problems.
8. Code and rank. Tag every review with its themes and a severity (1 = annoyance,
2 = would not buy again, 3 = returned it or it failed). Rank themes by
number of reviews x average severity, counting reviews, not mentions.
9. Fix list. For each of the top 10 themes, compare it against MY listing text and write:
the theme, how many reviews and listings it appears in, 2-3 short verbatim quotes with
their listing URL (no reviewer names), whether my listing already addresses it, and
one concrete fix: a bullet rewrite, an image to add, a FAQ line, a packaging change or
a product change. Ask before saving complaints.csv and fix-list.md.
10. Finish with 20 random coded rows for me to spot-check, and the total Apify cost.
Claude asks before each change it makes. Read each step before you approve it.
What you get at the end
- A ranked complaint table. Themes across all competitor listings, with how many reviews and how many listings each appears in, and a severity score.
- A fix list for your listing. For each top theme: does your listing already answer it, and if not, the exact bullet, image, FAQ line or packaging change that would.
- A coded CSV. Every critical review with its themes, rating, date, variant and source listing, so you can re-sort it or check Claude's coding.
The fix list is the part that pays. Most listing advice tells you to "address objections". Competitor reviews tell you which objections, in the words buyers actually use, and how often each one costs a sale.
Your store, but not the market
Claude can already see your own shop. The Shopify connector, built by Shopify, lets Claude read and manage your products, inventory, orders and discounts, which makes it the easiest way to bring your current listing into the same chat as the analysis.
What no connector gives you is the market: the reviews on a competitor's Amazon listing or on another brand's Shopify store. That is the first of the 3 gaps every small business hits with Claude connectors, and it is the gap this workflow fills with Apify. Amazon sellers do not have an equivalent first-party connector for their own catalogue, so the setup prompt simply asks you to paste your listing text.
What you need before you start
| Requirement | Why |
|---|---|
| A paid Claude plan (Pro, Max, Team or Enterprise) | Cowork and custom connectors. Claude Desktop chat works for a one-off run. |
| An Apify account | Runs the review scrapers. The free plan's monthly credit covers the test runs and a ten-listing first pass. |
| The Apify connector in Claude | One-time setup, covered in connecting Apify to Claude Cowork. |
| 10-30 competitor listings | The products shoppers compare you with: same category, similar price, ranking near you. |
| Your own listing text | So Claude can tell which complaints you already answer. |
Pick competitors the way a shopper would. The listings ranking next to you for your main search term matter more than the category's biggest brand, because those are the pages your buyers actually read before they choose.
Step 1: Pull Amazon critical reviews
The Amazon Reviews Scraper takes product URLs and returns one row per review: rating, title, text, date, verified-purchase flag, variant and helpful votes.
Three inputs matter for this job:
filterByRatings: ["critical"]returns the 1, 2 and 3 star reviews together. The Actor also acceptsoneStar,twoStarandthreeStarseparately.maxReviewsis capped by Amazon, not by the Actor. Its schema states a maximum of 100 reviews per star filter per product. Withcriticalyou get up to 100 critical reviews per listing; with the three star filters separately, up to 300.sort: "recent"gives you the current version of the product.helpfulsurfaces the reviews other shoppers voted up, which is what buyers see first.
Our test showed a real trade-off between those two filter choices. See what the test runs returned below: the single critical filter was faster and more reliable.
Step 2: Pull Shopify critical reviews
Shopify itself does not host product reviews for most stores. Reviews come from a third-party app installed on the store, and each app serves them differently. That is why a Shopify review scraper has to detect the app first.
The Shopify Review Scraper does that. Its documentation lists support for Judge.me, Loox, Yotpo, Okendo, Stamped.io, REVIEWS.io, Junip, Fera, Opinew, Rivyo, Klaviyo Reviews and Vitals, store-wide or per product, with no login. Use maxRating: 3 to keep only critical reviews.
Be honest with yourself about coverage:
- A store on an unsupported review app returns nothing. The Actor explains why in its run log. The setup prompt tells Claude to read that log rather than report "no complaints".
- Some star-only reviews have no text. In our test, two of five low-rated reviews had the product name as their body. They carry a rating but no reason, so the prompt drops them before coding.
- The rating filter is applied after scanning. Our test scanned 115 reviews to find 5 rated 3 stars or below. You are charged for the reviews returned, but large stores take longer.
On the Apify free plan, this Actor caps a run at 100 result rows. Its README says so on the Store page, so split larger pulls into several runs or use a paid plan.
Step 3: Let Claude build the themes
Do not let Claude invent themes from nothing and then fit reviews to them. The setup prompt makes it read a random sample of 60 reviews first, propose 10 to 20 themes, and wait for your edits. You know the category: if Claude proposes "quality issues", split it into what quality means for your product (seams, coating, hinge, battery).
Two rules keep the ranking honest:
- Separate "not product" complaints. Late delivery, a damaged box or a slow refund are real, but they describe the seller, not the product. Keep them in their own bucket so they do not push product problems down the list.
- Count reviews, not mentions. One angry review that mentions the battery five times is still one review.
Step 4: Turn themes into listing fixes
For each top theme, Claude compares the complaint against your listing text and puts it in one of three groups:
| What the review says | What it usually means | Typical fix |
|---|---|---|
| The product failed (broke, drained, leaked) | A real product weakness in the category | Product or supplier change; if you already solved it, say so in bullet 1 with proof |
| The product did not match the listing | An expectation the listing set | Rewrite the bullet, add a size or scale image, state the limit plainly |
| The buyer could not work it out | A missing instruction | Add a FAQ line, an "in the box" image or a quick-start card |
The second and third groups are where you win fastest. A competitor's 1-star review that says "smaller than I expected" is a free instruction to add a scale photo to your listing. If your product genuinely avoids a common failure, the most valuable bullet you can write names that failure in the buyer's own words.
What the test runs returned
Below is real output from test runs on 2026-10-21, trimmed, with reviewer names removed. We used each Actor's own example: Apple's AirTag on Amazon (ASIN B0CWXNS552) and a glassware brand's Shopify store that runs Judge.me.
Amazon, critical filter, 3 reviews, sorted by recent:
| Rating | Date | Verified | Title | Excerpt |
|---|---|---|---|---|
| 2★ | 2026-10-14 | Yes | "Good luck replacing the battery" | "Opening the battery cover doesn't work as advertised, and re-installing it doesn't work as advertised either" |
| 1★ | 2026-10-07 | Yes | "Already Registered Device!!!" | "One of the airtags I purchased is connected to another Apple account which means I can't activate it at all." |
| 1★ | 2026-10-06 | Yes | "No sirve" | "Se le queda sin bateria muy rapido" (the battery runs out very fast) |
The same run reported 2,214 written critical reviews for this listing in its totalCategoryReviews field, far more than the 100 per filter the Actor can return. For a large listing you are sampling, not reading everything, which is one more reason to rank by theme rather than trust any single review.
Amazon, separate oneStar, twoStar, threeStar filters, sorted by helpful: the run returned 4 one-star reviews, then the two-star and three-star review pages kept returning HTTP 400 errors and retrying. We stopped it after 6 minutes 47 seconds. The four reviews it did return were long and specific: battery drain within a week, separation alerts that beep when the tag is away from the owner, poor location accuracy in rural areas, and changed behaviour with a newer iPhone (the reviewer's account, not a verified fact).
Across all seven Amazon reviews, battery came up in four. If you sold a competing tracker, that is your first bullet: the battery type, how long it lasts in normal use, and how to open the cover.
Shopify (Judge.me), maxRating: 3, 5 reviews:
| Rating | Product | Excerpt |
|---|---|---|
| 3★ | Heavy tumbler | "Love the glass. Hate what the new packaging is... original packaging would always get a reaction from the people I'd gift to." |
| 1★ | Whisky glass gift set | "Still waiting on my whiskey glasses... UPS said they deliver it. I never received them." |
| 3★ | Whisky glass | "Thin glass. Feels very cheap. Not worth it." |
| 2★ | Whisky glass | (no text: the body is the product name) |
| 2★ | Heavy tumbler | (no text: the body is the product name) |
Even five reviews show the shape of the analysis: one packaging complaint from a gift buyer (a listing and packaging fix), one delivery complaint (not product), one perceived-quality complaint, and two ratings with no reason at all.
What we learned from the tests:
- Use
critical, and always set a timeout. The single filter returned in 80 seconds. The three separate filters hit repeated errors and would have run much longer without the timeout. - Expect empty bodies on Shopify. Drop them before coding, or they inflate the review count for nothing.
- What it cost. Seven Amazon reviews and five Shopify reviews cost about $0.04 in total at Apify's Starter-plan prices ($0.005 per Amazon review; $0.001 per Shopify review plus a $0.0025 start fee).
What it costs
Prices below are the Actors' published Apify free-plan rates on 2026-10-21. Paid plans pay less per review.
| Source | Price | 30 listings x 30 reviews | 30 listings x 100 reviews |
|---|---|---|---|
| Amazon Reviews Scraper | $0.006 per review subject to change · verified 2026-10-21 | about $5.40 | about $18 |
| Shopify Review Scraper | $0.001 per review + $0.0025 per run subject to change · verified 2026-10-21 | about $0.98 (one run per store) | about $3.08 (one run per store) |
The Amazon Actor has a second charge, "Date filter", that applies when you set reviewsCutoffDate. The setup prompt avoids it by sorting by recent instead. Claude's own usage comes from your Claude plan, not Apify credits.
Price and stock: one short note
Reviews tell you why buyers leave a competitor. Prices and stock tell you when they can. If you also want to know when a rival raises prices or runs out of stock, that is a separate, recurring job with different Actors:
- E-commerce price monitoring covers the workflow and the Actors by platform.
- Amazon product scraping with Apify covers prices, rankings and listing data.
- Automated e-commerce price monitoring and competitor price monitoring cover alerts and scheduling.
- If you work in Claude Code, Workflow 2 in Claude Code business workflows builds a price pipeline.
Limits to know
- Amazon caps what you can read. About 100 reviews per star filter per product, according to the Actor's input schema. For listings with thousands of critical reviews, treat the result as a sample of the most recent or most helpful.
- Review pages can fail. Amazon returned repeated errors for some star filters in our test. Set a timeout, check the run log, and re-run instead of treating a short result as "no complaints".
- Shopify coverage depends on the review app. Twelve apps are supported. A store on another app, or with a custom widget, returns nothing.
- Reviews describe the past. A competitor may have fixed a problem since. Sort by recent and compare dates before you build a bullet around an old complaint.
- Respect the platforms and the reviewers. Leave the Amazon Actor's
includeGdprSensitiveoption off. Even then, its output includes reviewer profile IDs and profile links, so drop those columns before you save anything. Quote reviews briefly, without names, and do not republish them as your own content. For the wider rules, see is web scraping legal. - Claude's coding is a draft. Spot-check the 20 random rows the prompt prints before you rewrite a listing around a theme.
Follow-up prompt: rerun on new reviews only
Once the first analysis is done, this prompt refreshes it each month. You can also turn it into a scheduled Cowork task.
Rerun my competitor review mining for the same listings as last time.
- Amazon: junglee/amazon-reviews-scraper, filterByRatings ["critical"], sort "recent",
maxReviews 20 per listing, 180-second timeout per run.
- Shopify: stanvanrooy6/shopify-review-scraper, maxRating 3, reviewDateFrom set to the
date of my last run.
Show me the estimated cost and wait for my yes. Then drop reviews I already have
(same listing, date and text), code the new ones with the existing theme list, and tell me:
which themes grew, any new theme with 3+ reviews, and whether any fix on my list
is now more urgent. Ask before updating complaints.csv and fix-list.md.
Not reliably at scale. Claude's built-in web fetch can open a single page, but Amazon review pages need a scraper that handles pagination, star filters and blocking. The Apify MCP connector lets Claude run the Amazon Reviews Scraper and read the results in the same chat.
No. The Shopify connector works with your own store: products, inventory, orders and discounts. Competitor reviews on other Shopify stores come from the review app those stores use, which a scraper such as the Shopify Review Scraper can read if the app is supported.
Ten to thirty. Fewer than ten and one bad batch from a single supplier can dominate the themes. More than thirty usually adds cost without new themes. Pick the listings that rank next to yours for your main search term.
Critical reviews explain what went wrong; 5-star reviews mostly confirm what the listing already says. If you want to know what buyers love, run the same workflow with 4 and 5 star reviews as a second pass and compare.
About $5.40 for 30 Amazon listings at 30 critical reviews each on Apify's free-plan price of $0.006 per review, and less on paid plans. Shopify reviews cost about $0.001 each plus a small start fee per run.
Start with ten listings
Pick ten competitor listings, paste the setup prompt into Claude, and approve the 3-review test. You will know within a few minutes whether both sources work for your category and what a full run costs. Then let the reviews tell you which bullet to rewrite first.
Create a free Apify account to run the review scrapers, and follow connecting Apify to Claude Cowork if the connector is not set up yet. More e-commerce prompts are in Claude prompts that use live web data.
