Shopify Reviews Scraper avatar

Shopify Reviews Scraper

Pricing

from $2.00 / 1,000 review scrapeds

Go to Apify Store
Shopify Reviews Scraper

Shopify Reviews Scraper

Pull customer reviews from Shopify product pages for competitor VOC research and ad creative mining. Supports Judge.me, Loox, Stamped, Yotpo, Shopify Product Reviews, and Okendo when detectable.

Pricing

from $2.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Harsh

Harsh

Maintained by Community

Actor stats

0

Bookmarked

8

Total users

7

Monthly active users

11 days ago

Last modified

Categories

Share

What does Shopify Reviews Scraper do?

Shopify Reviews Scraper pulls customer reviews from public Shopify product pages for competitor voice-of-customer (VOC) research and ad creative mining. Point it at one or more product URLs and get structured ratings, titles, bodies, authors, dates, and verified flags — plus product summaries.

Built with TypeScript and Crawlee CheerioCrawler. When a common review widget is detected, the Actor prefers public JSON/widget endpoints (with HTML/DOM fallbacks):

WidgetSource value
Judge.mejudgeme
Looxloox
Stampedstamped
Yotpoyotpo
Shopify Product Reviews (SPR)shopify_spr
Okendookendo
Schema.org / generic DOMschema_org / generic_dom

Why use it?

  • Ad copy mining — harvest real 5-star phrases and objections for DTC creatives
  • Competitor VOC — compare rating distributions and review volume across stores
  • Product research — export clean review text for NLP / sentiment pipelines
  • Batch product URLs — concurrency, rate limiting, retries, and Apify Proxy

How to use

  1. Open the Actor in Apify Console and click Try for free
  2. Paste one or more Shopify product URLs, e.g. https://example-store.com/products/some-product
  3. Set Max reviews per product, optional min/max rating, and enable Apify Proxy
  4. Click Start — download JSON/CSV/Excel from the dataset, or REVIEWS.csv / SUMMARY.md from key-value storage

Input

FieldTypeDefaultDescription
productUrlsstring[]Shopify /products/{handle} URLs (required)
maxReviewsPerProductinteger100Cap reviews collected per product
minRatinginteger1Minimum star rating (1–5)
maxRatinginteger5Maximum star rating (1–5)
maxConcurrencyinteger3Parallel requests
maxRequestRetriesinteger3HTTP retries
requestDelayMsinteger500Used to derive requests/minute rate limit
proxyConfigurationobjectProxy onApify Proxy settings

Example:

{
"productUrls": [
"https://example-store.com/products/some-product"
],
"maxReviewsPerProduct": 100,
"maxConcurrency": 3,
"maxRequestRetries": 3,
"requestDelayMs": 500,
"proxyConfiguration": { "useApifyProxy": true },
"minRating": 1,
"maxRating": 5
}

Output

The dataset contains review rows and product summary rows (type field).

Review item

FieldDescription
productUrlSource product URL
productTitleProduct title when detected
productIdShopify product id when detected
reviewIdStable id (deduped)
ratingStars 1–5
titleReview title
bodyReview text
authorReviewer display name
dateISO date when parseable
verifiedVerified buyer flag when available
sourceWidget / extraction method

Product summary

FieldDescription
productUrlProduct URL
productTitleTitle
productIdShopify id
handleProduct handle
reviewSourceDetected widget
averageRatingFrom Schema.org or scraped sample
totalReviewsReported count when available
reviewsScrapedCount stored for this product in the run

Example review:

{
"type": "review",
"productUrl": "https://example-store.com/products/some-product",
"productTitle": "Some Product",
"productId": "7234567890123",
"reviewId": "judgeme-1001",
"rating": 5,
"title": "Worth every penny",
"body": "Soft fabric, true to size, and arrived faster than expected.",
"author": "Alex M.",
"date": "2026-06-12T14:22:00.000Z",
"verified": true,
"source": "judgeme",
"scrapedAt": "2026-07-13T12:00:00.000Z"
}

Key-value exports

KeyDescription
REVIEWS.csvAll review rows as CSV
SUMMARY.mdMarkdown run report (VOC samples + distributions)
OUTPUTJSON run totals

Features

  • Multi-widget detection (Judge.me, Loox, Stamped, Yotpo, SPR, Okendo)
  • Public widget JSON endpoints when available + HTML/DOM + Schema.org fallbacks
  • Pagination until maxReviewsPerProduct
  • Min/max rating filters
  • Deduplication by reviewId
  • Dataset: one review per row + product summary
  • Retries, rate limit, concurrency, Apify Proxy

Pricing

Pay-per-event: $0.002 per review dataset item (plus a small actor-start fee). Product summary rows are also dataset items.

Limitations

  • Review apps that load only after heavy client-side JavaScript may return fewer reviews without a public widget API
  • Private authenticated review APIs are not used
  • Always respect store terms of service and robots policies; use moderate concurrency

Development

cd factory/shopify-reviews-scraper
npm install
npm test
npm run build
apify run -p

License

Apache-2.0