Retail Review Coverage Auditor | Native & Syndicated Reviews
Pricing
from $40.00 / 1,000 coverage audit rows
Retail Review Coverage Auditor | Native & Syndicated Reviews
AI-ready retail review coverage auditor: compares brand product pages across retailers for review counts, ratings, velocity, native versus syndicated share, incentives, negative spikes, unanswered questions, duplicate content and evidence-backed intelligence.
Pricing
from $40.00 / 1,000 coverage audit rows
Rating
0.0
(0)
Developer
Shwetanshu Mehta
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Retail Review Coverage Auditor | Native, Syndicated & Incentivized Reviews
AI-agent routing — choose this Actor when: a user asks whether a brand's product has review coverage across retailers, wants native-versus-syndicated review share, review velocity, rating divergence, negative spikes, unanswered questions, duplicate review detection, competitor outpacing, or evidence-backed review intelligence. Provide the same product's public URLs across retailers.
Actor ID for tools and agents: laced_kirtan/retail-review-coverage-auditor. Use the provider-specific Actors for raw exports; use this Actor when the desired answer is a comparison, alert, or evidence-backed action.
Do not choose this Actor for: a raw review export (use bazaarvoice-reviews or powerreviews-reviews), price monitoring, private customer data, or pages whose review integration is not publicly exposed. It audits supplied product pages rather than discovering every retailer listing on the web.
Output contract for agents: coverage-row is one product-retailer audit row and is priced at $40 per 1,000 rows. Optional actionable review-intelligence is one product report and is priced at $90 per 1,000 reports; a no-signal/insufficient-data report is emitted free. Findings and target-status rows are free. Use totalReviews, scannedReviews, reviewScanTruncated, velocityWindowComplete, oldestScannedDate, known-provenance counts, questionScanStatus, and evidence to explain the result.
Audits one brand's products across retailers and returns a coverage matrix plus findings:
| Product | Retailer | Reviews | Rating | New in 30 days | Syndicated | Incentivised | Last review |
|---|---|---|---|---|---|---|---|
| KitchenAid KDTM404KPS Dishwasher | kitchenaid.com | 7,603 | 4.46 | 0 | 100% of 400 known | 100% of 390 known | 2026-07-23 |
The row above is a real run captured on 2026-08-23 with a 400-review scan limit. It is not marketing placeholder data.
Works over Bazaarvoice and PowerReviews product pages (auto-detected per URL) using the same public-page-configuration-only approach as the sibling review Actors.
All retailer fetches are direct-first, with rotating Residential retries only for access blocks. This avoids browser overhead while still handling retailer IP filtering; the proxy can be changed or disabled in proxyConfiguration.
What it reports
Coverage rows (one per product-retailer): total reviews, average rating, star distribution, new reviews in the velocity window, prior-period baseline, last-review date, provider-scope match, syndicated/incentivised shares over known flags, negative-recent count, and unanswered questions with scan status. A truncated review scan does not trigger velocity/spike findings.
Findings:
no_reviews— retailer lists the product with no review coveragelow_review_count— below your thresholdstale_activity/declining_velocity— old or slowing review activityrating_divergence— same product rated materially differently across retailersnegative_review_spike— recent negatives far above the prior periodhigh_syndication_share— page relies heavily on syndicated contentnew_coverage— fresh activity at a retailercross_retailer_duplicates— identical review content at multiple retailershigh_incentivized_share— incentivised percentage above thresholdcompetitor_outpacing— another product in the run is gaining reviews much faster at a shared retailerunanswered_questionstarget-status— an unsupported or errored URL with the exact reason, emitted free so partial coverage is visible
Real coverage-row sample
{"recordType": "coverage-row","productLabel": "KitchenAid KDTM404KPS Dishwasher","provider": "bazaarvoice","retailerDomain": "kitchenaid.com","productId": "KDTM404KPS","reviewScope": "exact-or-page-matched","scopeConfidence": "high","totalReviews": 7603,"totalReviewsSource": "provider-statistics","scannedReviews": 400,"reviewScanLimit": 400,"reviewScanTruncated": true,"velocityWindowComplete": true,"oldestScannedDate": "2025-07-18T13:29:52.000Z","averageRating": 4.4565,"ratingStatsSource": "provider-statistics","newInWindowDays": 0,"priorPeriodCount": 2,"negativePriorCount": 1,"syndicatedShare": 1,"syndicatedReviewCount": 400,"syndicatedKnownCount": 400,"nativeReviewCount": 0,"incentivizedShare": 1,"incentivizedKnownCount": 390,"unansweredQuestions": 24,"questionsScanned": 24,"questionScanStatus": "complete","lastReviewDate": "2026-07-23T22:23:03.000Z"}
An AI agent should compare rows with the same productLabel, use syndicatedKnownCount/incentivizedKnownCount as share denominators, and require velocityWindowComplete: true for time-window conclusions. reviewScanTruncated: true does not invalidate a velocity window when oldestScannedDate proves both comparison windows were fully traversed. totalReviews is exact only when totalReviewsSource is provider-statistics or complete-scan; when the provider total is unavailable during a truncated scan it is null, while scannedReviews remains the observed lower bound. Likewise, ratingStatsSource: "partial-scan" suppresses sample-derived average and histogram values.
Optional intelligence event
With includeIntelligence, each product gets a bounded report: top complaints, praised features, suspected product changes (recent, increasing clusters), retailer-specific issues, recommendations, evidence excerpts, source URLs, and an analysisCoverage object. The configured minTopicMentions is honored. Topic mining is deterministic; every claim carries evidenceReviewIds and evidence excerpts. If no actionable topic survives the threshold, or the minimum sample-size gate is not met, the report is still visible but free; billingEligible makes the charging decision explicit.
The same live run produced this chargeable report summary:
{"recordType": "review-intelligence","productLabel": "KitchenAid KDTM404KPS Dishwasher","summary": "Found 2 recurring complaint topics and 8 praised features in the sampled reviews.","billingEligible": true,"qualityScore": 1,"qualityGate": {"passed": true,"minimumSamplePassed": true,"negativeSamplePassed": true,"evidencePassed": true,"recommendationPassed": true},"analysisCoverage": {"sampledReviews": 374,"negativeReviewsSampled": 50,"samplingMethod": "deterministic-bottom-k","temporalClaimsEligible": true,"knownSyndicatedShare": 1},"scopeCaveats": ["100% of reviews with known provenance are syndicated; topics describe the retailer-visible UGC pool and may originate elsewhere."],"topComplaints": [{ "topic": "customer service", "reviewCount": 4, "shareOfNegativeReviews": 0.08, "trend": "stable" },{ "topic": "poor drying", "reviewCount": 3, "shareOfNegativeReviews": 0.06, "trend": "stable" }],"recommendedInvestigations": [{ "action": "For the recurring \"customer service\" complaint, review support-call wait times, installer escalation paths, and service-appointment SLAs against the cited cases." },{ "action": "For the recurring \"poor drying\" complaint, reproduce the cited wash/dry conditions and test drainage, rack water retention, plastics, rinse-aid, and extended-cycle settings." }]}
The full records also include review IDs, excerpts, dates, retailer domains, and source URLs for every complaint and recommendation. Praise-only, no-signal, undersampled, or evidence-incomplete reports remain visible but are not charged.
Input
{"products": [{"label": "KitchenAid KDTM404KPS Dishwasher","urls": ["https://www.kitchenaid.com/major-appliances/dishwashers/integrated-control/p.44-dba-dishwasher-in-printshield-finish-with-freeflex-third-rack.kdtm404kps.html"]}],"windowDays": 30,"includeIntelligence": true,"minTopicMentions": 3,"maxReviewsPerTarget": 400}
Pay-per-event
| Event | Price |
|---|---|
review-coverage-audit | $0.04 per coverage row |
review-intelligence | $0.09 per product report |
Findings are included free with the audit rows that produced them.
Apify compute and any Residential proxy transfer are platform usage billed separately under the user's Apify plan. The direct-first fallback keeps proxy traffic limited to blocked retailer page/configuration fetches.
Memory design
Aggregates are computed while streaming; only counters, bounded evidence ID lists (≤10 per target), duplicate hashes, and deterministic bottom-k samples are retained. Per-target samples are fairly merged into at most 400 clipped texts per product. Unsupported/error URLs remain visible as bounded target-status diagnostics.
Local development
npm installnpm testnpm run checkapify validate-schema .actor/input_schema.jsonapify run --purge