Export Shopify product reviews from Judge.me and Okendo into one consistent dataset. Paste product links from different stores, choose the ratings you need, and download the results as JSON, CSV or Excel.
Use it to compare customer feedback, look into recurring complaints, or feed your own research workflow. The review app is detected automatically, so you do not need to know which one a store uses or find any API keys. No account, cookies or proxy is needed. This is an independent tool, maintained by CleanScrape.
Start with a small run
- Open a product on the store and copy the page link into Product or store links. The form opens with Rhode's Peptide Lip Tint in Sweet Apple.
- Set Reviews to check per product and Maximum reviews in total.
- Open Filter by rating (optional) only if you want certain star ratings.
- Start the run, open its dataset and download CSV, Excel or JSON.
Which link should I paste?
Use the link of an individual product, for example https://www.rhodeskin.com/products/peptide-lip-tint-sweet-apple. Add one link per line, up to 20. Links without https://, extra spaces, and several links pasted into one line are handled automatically.
For reviews across a whole store, paste the store link (https://www.rhodeskin.com) or a collection link (https://www.rhodeskin.com/collections/lips). The Actor reads the store's public product list (or, when that is unavailable, its public product sitemap) and goes through the products in that order, up to 500 products, until it reaches Maximum reviews in total. If neither public source is available, the run explains this; individual product links can still work.
Marketplace links (Amazon, Etsy, eBay and similar) and stores that use another review app get a plain explanation.
Example: which shade is the review about?
Some stores show the reviews of every shade, size or bundle on each product page. On 2 October 2026, 88 of the first 100 reviews on the Sweet Apple page were shared from other shades of the same lip tint. The output keeps that visible:
| Rating | Title | Reviewed product | Shared from the product group? |
|---|
| 5 | Lovely | peptide lip tint sweet apple | false |
| 2 | Great formula but smelly | peptide lip tint pbj | true |
| 3 | nice product quality, nice feeling and texture, no colour | peptide lip tint salty tan | true |
Without this, you could read a complaint about one shade as feedback on another. Filter on isGroupedReview and the reviewed-product columns when the exact product matters.
Supported review providers
| Provider | What is collected |
|---|
| Judge.me | Public product reviews, from the formats Judge.me uses on product pages. If its older widget endpoint temporarily fails, the Actor can try the other supported public widget path for the same product. |
| Okendo | Public product reviews, with product-group attribution when Okendo supplies it. Aggregate star ratings without review text are not turned into individual reviews. |
Support depends on the store showing a recognizable public review widget; an installed app or a logo alone is not enough. The Actor does not use merchant logins, bypass access restrictions or collect private customer data. Loox, Yotpo, Stamped, Junip, Fera, Ali Reviews, Rivyo, Ryviu and other unlisted providers are not supported. This is not a Shopify App Store reviews scraper, and a store link covers up to 500 of its products, not every product of a large catalog.
If two different review widgets conflict on one page, the run reports it rather than mixing their reviews. If no supported source is found, check the run summary; an empty result is not proof that the product has no reviews.
Choose the reviews you need
Reviews to check per product is how many reviews are read for each product. Maximum reviews in total limits the whole run. With a star filter, the Actor asks the review app for those stars directly (Judge.me filters by star rating, Okendo sorts by rating), so a search for 1- and 2-star reviews finds them even when a product has thousands of 5-star reviews. Without a filter, reviews come in the review app's own order.
For a normal export, keep all five ratings selected. To focus on complaints, select 1 star and 2 stars; keep at least one rating selected. A review shared between products in the same store is exported once per run, under the first product.
Examples
Check up to 100 reviews and export at most 20 low-rated ones:
{
"productUrls": ["https://www.rhodeskin.com/products/peptide-lip-tint-sweet-apple"],
"maxReviewsPerProduct": 100,
"maxTotalReviews": 20,
"ratings": ["1", "2"]
}
Two products from stores using different review apps (Okendo and Judge.me) in one run:
{
"productUrls": [
"https://www.rhodeskin.com/products/peptide-lip-tint-sweet-apple",
"https://owalalife.com/products/freesip"
],
"maxReviewsPerProduct": 50,
"maxTotalReviews": 100,
"ratings": ["1", "2", "3", "4", "5"]
}
These are public third-party product pages used as examples, not partners, and their pages can change.
What each row contains
| Field | Meaning |
|---|
reviewId, recordKey | Provider ID and a stable shop/provider/review key for joining exports. |
productUrl, productId, productName | The product page you requested. Missing names or IDs are null. |
rating, title, body | The public rating and review text. Rating-only reviews are kept. |
publishedAt, publishedAtRaw | Review date in UTC where it can be read, plus the original value. |
observedAt | When this run saw the review, not when it was published. |
reviewerName | Public display name, not a verified identity. |
verifiedPurchase | True or false when the source says so; true for a buyer badge on the page; otherwise null. |
merchantReply, mediaUrls | Public reply text and media links, where shown. Media files are not downloaded. |
contentHash | A fingerprint of rating, title, text, reply and media links, for spotting edits between your exports. |
reviewedProductUrl, reviewedProductName | The product the review is actually about, when the source says. It can differ from the requested page. |
isGroupedReview, isBundleReview | Whether the review was shared from a product group or bundle. Null means the source did not say, not false. |
provider, shopDomain, schemaVersion, reviewScope | Source and format details. Provider values are judge.me and okendo. |
reviewScope: "product_widget" means the review appeared in that product's public review widget. It does not prove a purchase of that exact variant.
Read the run summary
A successful run does not mean every review was available. The run's final message says how many reviews were saved and, when the product has more, what to raise. The SUMMARY record (JSON) in the run's key-value store has the full details: each product's scanned count, export count, the source's own total where available, and why collection stopped.
source_count_matched: the collected reviews matched the source's count.
all_matching: with a star filter, every review with the chosen stars was collected.
scan_limit or page_limit: your scan limit was reached first.
embedded_only: the store only showed the reviews embedded in its page, so only those were read.
no_next_page or no_new_reviews: the source stopped giving new pages before full coverage could be confirmed.
output_or_spending_limit: your export limit was reached.
source_or_output_error: a request or save failed. Results saved before it stay available.
The Actor does not translate reviews, fill in missing values, guess at deleted reviews, or switch to another provider when one fails. Sources can have their own ceilings: in one test, a store's review feed stopped at 990 reviews while reporting a larger total. Raising your limit does not get past such a ceiling, and the export stays marked partial.
Limits
You can submit up to 20 links (a store link counts as one and covers up to 500 of its products), check up to 2,000 reviews per product and export up to 5,000 reviews per run. Each product is limited to 100 review pages. Reviews keep the provider's own order; newest first is not guaranteed. With a star filter, Judge.me reviews come one star rating at a time and Okendo reviews lowest-rated first (highest first when only 4 or 5 stars are chosen). Some stores need a full browser or restrict access, and this Actor does not get around that or use paid proxies.
Pricing
$15 a month to rent it, after a 3-day free trial. Cancel at any time; access runs to the end of the month you paid for.
Runs use compute, paid from your Bytewells credit at Bytewells' rates, separately from the rental. No proxy is used. In tests on Bytewells, 100 reviews of one product used $0.0008 of credit, 60 reviews across a store collection $0.0008, and 990 reviews of one product $0.0039.
There is no charge per review, so large exports and repeated runs cost the same rental. Every run exports the reviews it finds, including ones you collected before. This is not a changes-only monitor.
Scheduling and the API
Schedule the run on Bytewells to repeat an export, and download the dataset in any format. To spot changes between exports, compare recordKey and contentHash on your side. The Actor does not keep history or send alerts.
The Actor runs through the Bytewells API, which works with Apify's API clients: point the client's base URL at Bytewells (see Bytewells docs) and call cleanscrape/shopify-reviews-scraper with an input from the examples above. The reviews are in the run's default dataset; SUMMARY is a JSON record in its key-value store.
Interrupted runs
Reviews are saved as they are collected. The run summary is saved at intervals, so after a forced stop it can lag behind the dataset; trust the dataset and the run status.
An interrupted run that is resumed with the same input rechecks the selected products and keeps existing rows unchanged, without saving them twice. A finished export simply keeps its results when restarted. A new run is a new export. Stores can change between attempts, so a resumed export is not a fixed historical snapshot.
Common questions
Which Shopify stores work?
Product pages that show reviews from Judge.me or Okendo. Loox, Yotpo, Stamped and other review apps are not supported. If a store uses one of those, the run says so.
Do I need the store's API key or product ID?
No. Paste the product link. No shop ID, product ID or merchant login is needed.
How do I export Shopify reviews to CSV?
Paste one or more product links, run the Actor, then download the run's dataset as CSV, Excel or JSON.
Can I get only negative reviews?
Yes. Pick the ones you want under Star ratings.
What does a run cost on top of the rental?
Only the compute it uses, from your Bytewells credit. Test runs used $0.0004 to $0.0039 each.
Support
CleanScrape maintains this Actor for one-off exports and recurring workflows, and updates it when review apps change. If something stops working, email [email protected] with the run ID, the product link and what you expected. Never include API tokens or private customer data. Please use public review data responsibly and in line with the applicable terms and privacy rules.
Disclaimer
This Actor is an independent tool developed by CleanScrape. It is not affiliated with, endorsed by, or sponsored by Shopify, Judge.me, Okendo, or the merchants referenced in its examples or output. All trademarks are the property of their respective owners. Brand names are used only to identify sources and illustrate usage.
More tools from CleanScrape
- Google Trends Scraper API for Interest Over Time: search interest over time, by region, related queries and trending searches
- Economic Calendar API for Official Release Dates: release dates and times for CPI, jobs, GDP and central bank decisions in five economies
- Career Page Jobs Scraper for Workday, Greenhouse and Lever: open jobs from company career pages, with salaries and new or closed jobs
- Whatnot Scraper for Listings and Live Shows: Whatnot listings with prices and sellers, live shows, and alerts for new listings
- Whatnot Seller Tracker for Top Sellers and Sales: top Whatnot sellers per category, items sold, sales per day and followers over time
- Google Flights Scraper and Fare Tracker: flight prices, airlines, stops and times for your routes and dates, with only new or cheaper flights
- App Store and Google Play Reviews Scraper: reviews from both app stores in one table, with daily alerts for new low ratings
- Flashscore Tennis Scraper for Tennis Matches and Stats: tennis results, statistics, point-by-point, form and head-to-head
- ATP and WTA Tennis Rankings Scraper: current ATP and WTA singles, doubles and race rankings with points and movement
- Google News Scraper and RSS Feed Reader: Google News searches, sections and publisher feeds, with only new articles on a schedule
- Google Hotels Scraper for Google Travel Hotel Prices: hotel prices and every booking offer for your dates, adults and currency
- Telegram Channel Messages Scraper with Comments: public Telegram channel posts with views, reactions and comments, and only new posts on a schedule