Shopify Reviews Aggregator Pro (Judge.me, Loox & Yotpo) avatar

Shopify Reviews Aggregator Pro (Judge.me, Loox & Yotpo)

Pricing

from $1.00 / 1,000 review scrapeds

Go to Apify Store
Shopify Reviews Aggregator Pro (Judge.me, Loox & Yotpo)

Shopify Reviews Aggregator Pro (Judge.me, Loox & Yotpo)

Unified Shopify reviews scraper. Auto-detects Judge.me, Loox, Yotpo, Okendo & Stamped to extract ratings, photos & buyer feedback. Only $2.00/1K.

Pricing

from $1.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

viralanalyzer

viralanalyzer

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

3 days ago

Last modified

Share

Shopify Reviews Aggregator Pro 🛍️

🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português


🇺🇸 English

Overview

Shopify stores almost never publish reviews in the product page's structured data. They keep them inside a review app. This Actor detects which app a store runs and reads it through that app's own public widget endpoint — the same request the shopper's browser makes. No merchant credential, no login, no API key from you.

Supported review apps

AppEndpoint readVerified on
Judge.meapi.judge.me/reviews/reviews_for_widgetbeardbrand.com
Yotpoapi-cdn.yotpo.com/v1/widget/{appKey}/products/{id}/reviews.jsongorillamind.com
Okendoapi.okendo.io/v1/stores/{subscriberId}/products/shopify-{id}/reviewscolourpop.com
Looxloox.io/widget/{clientId}/reviewsblendjet.com
Stamped.iostamped.io/api/widget/reviewslolavie.com

Product-page JSON-LD is still read as a fallback for themes that publish review nodes — uncommon, but real data when present.

Stores on any other app (Bazaarvoice, Junip, Fera, Reviews.io, Rivyo…) return a diagnostic record and are not charged.

Features

  • Review-app auto-detection — the public identifier each widget prints on the product page (appKey, subscriberId, clientId, pubkey-…) is what unlocks the endpoint
  • Real reviewer name, star rating, title, body and date — straight from the app that stores them
  • Verified-buyer flag where the app publishes it (Judge.me, Yotpo, Okendo, Stamped.io, Loox)
  • Review photos where the app publishes them (Judge.me, Loox, Yotpo, Okendo)
  • Reviewer location/country where the app publishes it (Judge.me: (Taylor, US); Stamped.io: United States)
  • One detection request per store, not per product — the app is installed store-wide
  • Missing field = null, never invented
  • Unbilled when empty — a store with no readable review app produces a diagnostic, not a charge
  • Multi-store — many stores in a single run

Input Example

{
"storeUrls": [
"beardbrand.com",
"colourpop.com"
],
"maxReviews": 20
}

Output Example

Real record, captured 2026-09-10 from beardbrand.com (Judge.me):

{
"storeDomain": "beardbrand.com",
"productTitle": "Fox Hunt Men's Cologne",
"productHandle": "fox-hunt-mens-cologne",
"productId": "15133252583794",
"productUrl": "https://beardbrand.com/products/fox-hunt-mens-cologne",
"reviewId": "0f03659e-9062-45c4-8004-574b58065002",
"reviewerName": "Layne T.",
"rating": 5,
"reviewTitle": "Fox Hunt is On Target!",
"reviewBody": "Okay, I've been wearing Fox Hunt yesterday and today. Gotta say, I really love it!",
"reviewDate": "2026-09-09T19:08:40Z",
"isVerifiedBuyer": true,
"reviewerLocation": "Taylor, US",
"reviewerCountry": "US",
"reviewApp": "Judge.me",
"reviewPhotos": [],
"productRatingValue": null,
"productReviewCount": 18,
"dataSource": "judgeme-widget-api",
"scrapedAt": "2026-09-10T00:00:00.000Z"
}

Input Parameters

ParameterTypeDescription
storeUrlsstring[]Shopify store domains or URLs (e.g. ["beardbrand.com", "colourpop.com"])
maxReviewsnumberMax reviews across the whole run, not per store (default 20)
maxProductPagesnumberHow many catalogue products to query per store (default 12)
proxyConfigurationobjectUsed for the storefront; the review-app endpoint is called directly and falls back to the proxy on 403/429

Use Cases

  • E-Commerce Competitor Benchmarking — read what buyers praise and complain about on competitor stores
  • Product R&D — find the recurring defect before you launch the same thing
  • Sentiment Analysis & NLP — build a labelled review corpus with ratings attached

✅ Capabilities & Limits

Stated up front, so you do not pay a run to find out.

Input / featureSupportedNotes
storeUrlsrequiredShopify store domains or product URLs
Judge.me / Yotpo / Okendo / Loox / Stamped.ioread through each app's public widget endpoint
Bazaarvoice, Junip, Fera, Reviews.io, Rivyonot implemented — run returns a diagnostic, no charge
Review photos⚠️emitted when the app publishes them; [] otherwise
Verified-buyer flag⚠️Judge.me / Yotpo / Okendo / Stamped.io / Loox publish it; null when absent
Reviewer country⚠️only Judge.me publishes a country code; Stamped.io publishes a country name in reviewerLocation
Review date⚠️ISO 8601 from Judge.me, Yotpo, Okendo and Stamped.io. Loox does not publish a datenull
Review title⚠️Loox has no title fieldnull
Store-wide aggregate (productReviewCount)⚠️published by Judge.me, Yotpo, Loox and Stamped.io; null on Okendo
maxReviews per storeit is a whole-run budget shared across all stores
Truncated widget keysome themes print only a key prefix (measured on allbirds.com) → diagnostic, no charge

FAQ

Q: Which Shopify review apps are supported? A: Judge.me, Yotpo, Okendo, Loox and Stamped.io — each through its own public widget endpoint, the same one the storefront calls in the browser. A store on any other app returns a diagnostic and is not charged.

Q: Do I need store API keys? A: No. The identifier each widget needs is printed by the storefront itself.

Q: Why did my store return zero reviews? A: The diagnostic record says which case it is: NO_REVIEW_APP_DETECTED (no supported app on the page), NO_REVIEWS_CONFIRMED (the app answered and those products genuinely have no reviews) or BLOCKED (403/429/timeout). None of them are charged.


🇧🇷 Português

Visão Geral

Lojas Shopify quase nunca publicam avaliações nos dados estruturados da página de produto — elas guardam tudo dentro de um app de review. Este Actor detecta qual app a loja usa e lê o endpoint público do próprio app, a mesma requisição que o navegador do comprador faz. Sem credencial do lojista, sem login, sem chave de API sua.

Apps de avaliação suportados

AppEndpoint lidoVerificado em
Judge.meapi.judge.me/reviews/reviews_for_widgetbeardbrand.com
Yotpoapi-cdn.yotpo.com/v1/widget/{appKey}/products/{id}/reviews.jsongorillamind.com
Okendoapi.okendo.io/v1/stores/{subscriberId}/products/shopify-{id}/reviewscolourpop.com
Looxloox.io/widget/{clientId}/reviewsblendjet.com
Stamped.iostamped.io/api/widget/reviewslolavie.com

O JSON-LD da página de produto continua sendo lido como fallback quando o tema publica nós review.

Loja em qualquer outro app (Bazaarvoice, Junip, Fera, Reviews.io, Rivyo…) devolve um registro de diagnóstico e NÃO é cobrada.

Funcionalidades

  • Detecção automática do app pelo identificador público que o widget imprime na página
  • Nome real do avaliador, nota, título, texto e data — direto do app que os armazena
  • Selo de comprador verificado quando o app publica
  • Fotos do cliente quando o app publica
  • Uma requisição de detecção por LOJA, não por produto
  • Campo ausente vira null, nunca inventado
  • Zero avaliação = diagnóstico, sem cobrança
  • Multi-lojas numa única execução

Exemplo de Entrada

{
"storeUrls": [
"beardbrand.com",
"colourpop.com"
],
"maxReviews": 20
}

Exemplo de Saída

Registro real, capturado em 2026-09-10 de colourpop.com (Okendo):

{
"storeDomain": "colourpop.com",
"productTitle": "Lippie Heart Pouch",
"productHandle": "lippie-pouch-gwp",
"productId": "7576306253906",
"productUrl": "https://colourpop.com/products/lippie-pouch-gwp",
"reviewId": "6546dca5-05ea-494e-bef5-687c638c07b1",
"reviewerName": "Meghan H.",
"rating": 5,
"reviewTitle": "Great fit!",
"reviewBody": "Cute little keychain that fits the lippies well!",
"reviewDate": "2026-07-15T17:38:59.639Z",
"isVerifiedBuyer": true,
"reviewerLocation": null,
"reviewerCountry": null,
"reviewApp": "Okendo",
"reviewPhotos": [],
"productRatingValue": null,
"productReviewCount": null,
"dataSource": "okendo-public-api",
"scrapedAt": "2026-09-10T00:00:00.000Z"
}

Parâmetros de Entrada

ParâmetroTipoDescrição
storeUrlsstring[]Domínios ou URLs de lojas Shopify
maxReviewsnumberMáximo de avaliações da execução inteira, não por loja (padrão 20)
maxProductPagesnumberQuantos produtos do catálogo consultar por loja (padrão 12)
proxyConfigurationobjectUsado na loja; o endpoint do app é chamado direto e só cai no proxy em 403/429

Casos de Uso

  • Benchmarking de E-Commerce — leia elogios e reclamações reais em lojas concorrentes
  • Desenvolvimento de Produtos — encontre o defeito recorrente antes de lançar igual
  • Análise de Sentimento — monte um corpus de avaliações já rotulado com nota

Perguntas Frequentes

P: Quais aplicativos de review são suportados? R: Judge.me, Yotpo, Okendo, Loox e Stamped.io, cada um pelo seu endpoint público de widget. Loja em outro app devolve diagnóstico e não é cobrada.

P: Preciso de chaves de API da loja? R: Não. O identificador que cada widget precisa é impresso pela própria loja.

P: Por que minha loja voltou com zero avaliações? R: O registro de diagnóstico diz qual caso é: NO_REVIEW_APP_DETECTED, NO_REVIEWS_CONFIRMED (o app respondeu e aqueles produtos realmente não têm avaliação) ou BLOCKED. Nenhum é cobrado.


💰 Pricing

$0.001 per review scraped, plus the Apify platform usage of the run, billed to you at Apify's standard rates and shown on the run page.

This actor uses Pay Per Event (PPE) pricing — you pay per review scraped (review-scraped). Runs that end with a diagnostic record charge nothing.

Apify platform usage (compute units and proxy) is billed to your own account on top of the event price. See the current price on the Pricing panel of this actor's Apify Store page.

Diagnostic records (_dataQuality: "diagnostic") are never charged.



📝 Changelog

  • v3.0.0 (2026-09-10) — Reads the store's actual review app. Judge.me, Yotpo, Okendo, Loox and Stamped.io are detected from the product page and read through each app's public widget endpoint; all five verified end-to-end with real reviews. Empty runs are now classified from source signals (BLOCKED / NO_REVIEWS_CONFIRMED / NO_REVIEW_APP_DETECTED exit gracefully without a charge; selector drift and an unreachable store hard-fail). New fields: productId, reviewId, reviewerLocation. Prefill changed to two stores verified to return reviews.
  • v2.0.0 (2026-08-26) — Data-integrity rewrite: stopped fabricating reviews. Read only product-page JSON-LD, which on every store measured contained aggregateRating and no review nodes — so runs returned a diagnostic instead of data.
  • v1.0.0 (2026-08-20) — Initial release.

License

ISC © 2026 Viral Analyzer Platform


💡 Need AI analysis on top of this data — sentiment, trend detection and a dashboard, with no API keys to manage?
ViralAnalyzer runs this actor + 42 more data sources with built-in AI. JSON + insights in one call.