Reviews Monitor: Shopify Review Apps & Amazon avatar

Reviews Monitor: Shopify Review Apps & Amazon

Pricing

from $2.40 / 1,000 product rating summaries

Go to Apify Store
Reviews Monitor: Shopify Review Apps & Amazon

Reviews Monitor: Shopify Review Apps & Amazon

New reviews, rating moves and complaint and praise themes for products on Shopify shops using Judge.me, Yotpo, Okendo, Loox or Stamped, for Amazon ASINs and for Trustpilot businesses. Changes-only watchlists, from $0.50 per 1,000 reviews; compact JSON for AI agents.

Pricing

from $2.40 / 1,000 product rating summaries

Rating

0.0

(0)

Developer

CleanPull

CleanPull

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Categories

Share

Reviews Monitor: Shopify Review Apps, Amazon & Trustpilot

Give it product page URLs from shops that use Judge.me, Yotpo, Okendo, Loox or Stamped (most Shopify stores), or Amazon ASINs, or businesses on Trustpilot, and get each product's (or company's) average rating, review count, share per star, its newest reviews (rating, title, text, date, verified flag, review id) and complaint and praise themes such as "sizing runs small" or "arrived damaged", each with example review ids. Schedule it and it says what changed since your last run: new reviews, the rating moving, the review count jumping or dropping, a product taken down. From $0.50 per 1,000 reviews.

What you can do with it

  • "Tell me when a competitor gets a bad review." Put their product URLs in a watchlist, turn on Changes only and schedule it daily: only new reviews come back, with a change row giving their lowest rating.
  • "What do shoppers complain about?" Every product's summary row lists complaint and praise themes from the reviews read, with how many reviews mention each and which ones.
  • "Is my rating slipping?" A rating move of 0.1 stars or more, and a review count jumping or dropping by 10% or more, become change rows. Both thresholds are yours to set.
  • "Compare my product with theirs." Mix your own and competitors' URLs and ASINs in one run: every row has the same fields, whatever the source.
  • "Feed reviews to an AI agent or a spreadsheet." Compact JSON with stable review keys, a field picker and a dataset view per job.

How it reads reviews

  1. Shop product pages: the actor reads the page, finds the review app it uses and the public ids that app's widget needs (shop, app key, subscriber, store id), then reads the same public review data the widget loads in a shopper's browser, newest first:
    • Judge.me: reviews from its widget endpoint; totals and stars per level from the widget rendered in the page.
    • Yotpo: reviews, totals and stars per level from its widget API.
    • Okendo: reviews (with the variant reviewed) and its aggregate with stars per level.
    • Loox: reviews and totals from its widget.
    • Stamped: reviews and totals from its widget API.
  2. Amazon ASINs: the product page signed out: star rating, ratings count, the share per star and the top reviews it shows (about 8 to 13). Outside the US, the page is read from addresses in that marketplace's country.
  3. Trustpilot businesses (a domain such as allbirds.com, or its trustpilot.com/review/… page): the company's reviews, newest first, with its overall rating, review count and share per star. Trustpilot is read through CleanPull's marketplace data service, a third-party web data provider; CleanPull holds the account and its key, which never appears in your input, logs or results.
    • The newest first, up to maxReviewsPerProduct, within sinceDays (the service filters by 30 days, 3, 6 or 12 months, so the smallest of those covering sinceDays is asked for, and older reviews are dropped). With Changes only, each business reads only its trustpilotWatchlistReviews most recent reviews (5 by default): new ones are returned, the others are reported as re-checked. Raise it for a business that gets more new reviews than that between runs.
    • Each review delivered, and each recent review re-checked on a watchlist run, is a provider record on your bill (RUN_SUMMARY gives recheckedReviews, and the status says "N recent reviews re-checked"). Reviews the service brings back from before sinceDays are dropped and not charged per record: the business's provider search covers them. A read takes about 30 to 60 seconds and businesses are read up to 4 at once (maxConcurrency), so 100 businesses take about 15 to 25 minutes.
    • With maxReviewsPerProduct at 0, one review is read for the company's totals and no review rows are returned.
    • A business with no review in the window gets no totals from the service on that run: the last known rating and count stand.

Reading stops at the first review older than your window (sinceDays) or at your limit per product, so a product with 5,000 reviews costs no more than one with 20.

In tests from Apify's servers, every source above answered every request from Apify's own addresses (no proxy needed; Loox refused one datacenter proxy address in three), and a watchlist of 7 products from all six sources read twice gave no false changes.

What makes the data right

  • A block is never an empty result. Each site gets its own proxy ladder (direct, then datacenter, then residential only where a site blocks the others), so one strict site never makes the rest of the run pricier.
  • New means new. A review counts as new only when it was not seen before and is not older than what the last run read, so raising your limit is not a flood of "new" reviews. Amazon's top reviews count as new only when written in the last 14 days.
  • Noise is not a change. Rating moves below 0.1 stars and small count moves are not reported, and a read that lacks a total carries the last one over instead of reading as a change.
  • Removed is confirmed. A product page that answers 404 or redirects away is reported as removed only when two runs in a row see it; the first is a warning and is not billed. A redirect to the same brand's site for another country (brand.com to brand.co.uk) is followed.
  • Themes are reproducible. They are computed in the actor with keyword and phrase matching (no AI call), with a negation check ("not comfortable" is no praise), so the same reviews always give the same themes.
  • Each review once. A review a source repeats within one read (Trustpilot's data can hold a review twice) is delivered, counted in themes and charged once, by its id.
  • Only delivered rows are billed. A page without a supported review app, a block or a missing product is listed in the run summary with the reason, never charged.
  • Only public addresses are read. A URL or redirect pointing into a private network is never fetched, and no site gets more than 2 requests at once.

Privacy: reviewer names

Reviewer names are personal data, so they are off by default (includeReviewerNames: false). Review rows still carry the review id, rating, text, date and verified flag, which is what themes, alerts and comparisons need. Turn names on only if you have a lawful reason to process them; you then get the display name the source itself shows publicly (often a first name and an initial), never anything more.

Input

FieldWhat it does
productUrlsProduct pages of shops using Judge.me, Yotpo, Okendo, Loox or Stamped; Amazon product URLs too
asins, amazonMarketplaceAmazon ASINs (or URLs), and the marketplace for plain ASINs (US by default)
trustpilotDomainsBusinesses on Trustpilot: domains or trustpilot.com/review/… pages (those URLs also work in productUrls)
sinceDaysOnly reviews from the last N days (30 by default)
maxReviewsPerProductThe most reviews per product (20 by default; 0 = the rating summary only)
trustpilotWatchlistReviewsWith Changes only, the most recent Trustpilot reviews read per business (5 by default)
includeThemesComplaint and praise themes on each summary row (on by default)
includeReviewerNamesThe public display name on each review (off by default, see Privacy)
changesOnly, monitorNameReturn only what changed since the last run with the same monitor name
minRatingChange, countJumpPercentNoise thresholds: smallest rating move (0.1 stars) and count move (10%, at least 3 reviews)
maxRunCostUsdStop starting products once the run's charges plus the worst case in progress would pass this
fields, maxConcurrency, proxyConfigurationField selection, pace and your own proxy
startUrlsAccepted for compatibility with other actors (same as productUrls)

Example inputs

A competitor watchlist, checked daily for new reviews:

{
"productUrls": [
"https://www.beardbrand.com/products/beard-oil-variety-pack",
"https://www.tentree.com/products/kessler-sweater-warm-oak-heather-fade"
],
"asins": ["B07C1YFV6D"],
"changesOnly": true,
"monitorName": "competitors",
"maxRunCostUsd": 0.5
}

The last 90 days of reviews with themes, up to 100 per product:

{
"productUrls": ["https://mvmt.com/products/odyssey-ii-ceramic-fusion-grey-40mm-28000461"],
"sinceDays": 90,
"maxReviewsPerProduct": 100
}

Ratings only (average, count, share per star) for a list of ASINs in the UK:

{ "asins": ["B000MXIB0G"], "amazonMarketplace": "GB", "maxReviewsPerProduct": 0 }

Output

Three kinds of rows; recordType says which. A real rating summary:

{
"recordType": "rating-summary",
"source": "yotpo",
"sourceName": "Yotpo",
"productUrl": "https://mvmt.com/products/odyssey-ii-ceramic-fusion-grey-40mm-28000461",
"productKey": "cbf4e98e01272e1b",
"domain": "mvmt.com",
"productTitle": "Odyssey II Ceramic Fusion Grey 40mm",
"productId": "10221707821304",
"average": 4.83,
"count": 6,
"histogram": { "1": 0, "2": 0, "3": 0, "4": 1, "5": 5 },
"histogramUnit": "count",
"reviewsRead": 5,
"newReviews": 0,
"newestReviewDate": "2026-09-08T00:00:00.000Z",
"oldestReviewDate": "2025-11-30T00:00:00.000Z",
"themes": [
{
"theme": "uncomfortable",
"polarity": "complaint",
"kind": "known",
"reviews": 1,
"share": 0.2,
"exampleReviewIds": ["882971486"]
},
{
"theme": "looks great",
"polarity": "praise",
"kind": "known",
"reviews": 4,
"share": 0.8,
"exampleReviewIds": ["894671816", "882971386", "882971411"]
}
],
"topComplaints": ["uncomfortable"],
"topPraise": ["looks great", "durable"],
"changes": [],
"firstSeen": false,
"readThroughResidentialProxy": false,
"scrapedAt": "2026-10-14T23:13:47.822Z"
}

A review:

{
"recordType": "review",
"source": "okendo",
"sourceName": "Okendo",
"productUrl": "https://www.tentree.com/products/kessler-sweater-warm-oak-heather-fade",
"productTitle": "Womens Kessler Sweater",
"reviewId": "0c3c5dc4-3d01-4c81-8590-4ee671ba3fda",
"reviewKey": "9f2f9369161887dd4a52eaa1ee1bee61234851ca23a6c435bde0572cf4c94663",
"rating": 5,
"title": "Girlfriend love it",
"text": "Same old quality as tentree always offered",
"date": "2026-10-14T12:23:30.510Z",
"verified": true,
"variant": "DEEP BURGUNDY HEATHER FADE / XS",
"helpfulVotes": 0,
"language": "en",
"isNew": null,
"scrapedAt": "2026-10-14T23:15:03.782Z"
}

A change looks like { "recordType": "change", "changeType": "new-reviews", "newReviews": 2, "reviewIds": ["r3", "r2"], "lowestRating": 1, "averageOfNew": 1.5 }; the other types are rating-moved (from, to, delta in stars), count-jumped and count-dropped (delta, percent) and removed.

  • histogramUnit is count for the review apps and percent for Amazon (Amazon publishes shares, not counts). Stamped and Loox publish no counts per star (histogram: null).
  • isNew is null on a product's first run (the baseline), then true or false.
  • reviewKey is a SHA-256 of source, product and review id: stable across runs, for joining and deduplication.
  • Also: asin, marketplace (Amazon), finalUrl (after a redirect), country (Amazon, Stamped), mediaCount, previous (last run's average and count, on rows with changes).

Dataset views: Rating summaries, Reviews, Changes and Themes (one row per theme). RUN_SUMMARY in the key-value store gives the outcome (COMPLETE, PARTIAL, NO_CHANGES, EMPTY, FAILED), the sources seen, charges, and every product that could not be read, with the reason.

Pricing

EventFree and BronzeSilverGold and above
Product rating summary (one product read, with totals, stars and themes)$3.00$2.70$2.40
Review$0.50$0.45$0.40
Product checked: unchanged in Changes only, or a removal confirmed$0.50$0.45$0.40
Request through residential addresses (add-on, only where a site blocks others)$6.00$6.00$6.00
Provider record (a Trustpilot review delivered, or re-checked on a watchlist run)$3.00$2.70$2.40
Provider search (one Trustpilot business read)$3.00$3.00$3.00

Per 1,000. Each run also has a $0.00005 start fee. The add-on applies per request a site made us send through residential addresses; such requests are capped at 600 KB transferred (a larger page is not read or charged). In tests no review app or US Amazon page needed it; Amazon outside the US is read from that country's residential addresses, so each of those products carries one or two. Change rows (new reviews, rating moved, count jumped or dropped) are free: they come with the product's rating summary. A removed product's row is billed as a product check. Trustpilot's provider search and re-checked reviews are billed with the business's first row (or its check), and a delivered review's provider record with its row; a read that fails or is blocked is not billed. A Trustpilot business on a daily watchlist with the default 5 reviews costs at most $0.0185 on a day with nothing new (a check, a search and 5 re-checked reviews): about $0.56 a month. A daily watchlist of 100 products with Changes only is about 3,000 checks a month: $1.50, plus the summaries and new reviews on days something changed.

Limits

  • Sources this actor does not read: Amazon's full review list needs a sign-in; Google Shopping publishes reviews only inside pages that need a browser running scripts. Undated Amazon reviews (a date line Amazon wrote in a way the actor cannot read) never count as new. Pages from shops using Bazaarvoice, Junip, REVIEWS.io, PowerReviews and other apps are named in the run summary and not charged.
  • Review apps loaded from a theme's own scripts (some large stores) expose no ids in the page; the run summary says so.
  • Loox shows no review dates in some widget layouts: those reviews are not cut by sinceDays (the limit per product still applies), and stars per level are not published.
  • Judge.me shops can group several products under one review set (for example one per scent); the totals and reviews are the group's, as the shop shows them.
  • Amazon shows the top reviews, not the newest, and sometimes leaves them out of a page: the actor then reads the page's sections, and a run where Amazon still shows none delivers the rating summary with a warning.
  • Pace: at most 2 requests at once per site. Read at a pace and scale the sites' terms allow.
  • Nothing found: when nothing could be read because it is not there (a product page that is gone, a page with no supported review app, input naming no product), the run still succeeds, with one free recordType: "unreadable" row per item giving the reason; nothing is charged. A run near its time limit stops starting products, delivers what it read and lists the rest the same way.

Changelog

  • 0.2.x, reliability (2026-10-24): runs that find nothing (a product page that is gone, a page with no supported review app, input naming no product) end SUCCEEDED with a free unreadable row per item saying why, instead of FAILED; a run stops starting products before its time limit and ends with what it read, never TIMED-OUT. A run where the site refused on every route for every product still fails. Prices and events unchanged.
  • 0.2, fix (23 October 2026): a review the source delivers twice in one read is kept once (Trustpilot could return the same 10 reviews twice, doubling rows, theme counts and charges).
  • 0.2 (October 2026): Trustpilot businesses, read through CleanPull's marketplace data service (no setup): reviews newest first, incremental between runs, with the company's rating, count and share per star. New events: provider record (a review delivered, or re-checked on a watchlist run; reviews dropped by the date filter are not charged) and provider search ($0.003 per business read). Watchlists read 5 recent reviews per business by default (trustpilotWatchlistReviews).
  • 0.1 (October 2026): reviews and totals from Judge.me, Yotpo, Okendo, Loox and Stamped widget data and from Amazon product pages; complaint and praise themes; watchlists with new reviews, rating and count changes and confirmed removals; spending-limit and per-run cost caps; reviewer names off by default.