🤖 AI App Review Monitor avatar

🤖 AI App Review Monitor

Pricing

from $10.00 / 1,000 results

Go to Apify Store
🤖 AI App Review Monitor

🤖 AI App Review Monitor

Monitor Google Play and App Store pages to extract reviews, utilizing AI to cluster themes and schedule daily data runs for cross-platform sentiment tracking.

Pricing

from $10.00 / 1,000 results

Rating

0.0

(0)

Developer

太郎 山田

太郎 山田

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

19 hours ago

Last modified

Share

App Review Intelligence API | App Store + Google Play Summary

Monitor one app across the App Store and Google Play, cluster review themes, flag rating drift, and return recommended actions in a single summary row.

Store Quickstart

  • Start with store-input.example.json for the lowest-friction first run.
  • Then use store-input.templates.json to choose a lane:
    • Starter: Cross-Platform Baseline for the default summary-first run
    • App Store Only Baseline if you only have the Apple app ID ready
    • Google Play Only Baseline if you want a Play-first baseline before adding Apple
    • Webhook Summary when the row should feed Slack, Zapier, or an internal monitor

Key Features

  • 📈 Competitive intelligence — Aggregates cross-platform signals (reviews, listings, catalogs)
  • 🌐 Multi-source aggregation — Unifies iOS/Android/Shopify/market data in one run
  • 📊 Trend detection — Rolling averages, sentiment scoring, and share-of-voice metrics
  • 🎯 Targeted queries — Focused brand/product/keyword watchlists
  • 📡 Webhook intel push — Deliver insights to marketing/product teams in real-time

Use Cases

WhoWhy
DevelopersAutomate recurring data fetches without building custom scrapers
Data teamsPipe structured output into analytics warehouses
Ops teamsMonitor changes via webhook alerts
Product managersTrack competitor/market signals without engineering time

Input

FieldTypeDefaultDescription
productNamestringprefilledOptional label for the monitored product. If empty, the actor uses the best store title it finds.
countrystring"us"Default ISO country code for both stores. App Store lookups and review feeds use lowercase values like us, gb, jp.
languagestring"en_US"Google Play language code for the public page request, for example en_US.
appleAppobjectprefilledOptional App Store target. Provide {"appId":"570060128"} or {"url":"https://apps.apple.com/us/app/id570060128"}.
googlePlayAppobjectprefilledOptional Google Play target. Provide {"appId":"com.duolingo"} or a full play.google.com URL.
reviewLimitPerPlatforminteger20Maximum reviews to analyze per platform. Google Play usually exposes about 20 public review cards without deeper paginat
lookbackDaysinteger180Prefer reviews inside this window. If a source has no matches inside the window, the actor falls back to the public samp
minThemeMentionsinteger2Minimum complaint mentions before a theme is treated as a real cluster instead of one-off noise.

Input Example

{
"productName": "Duolingo",
"country": "us",
"language": "en_US",
"appleApp": {
"appId": "570060128",
"country": "us"
},
"googlePlayApp": {
"appId": "com.duolingo",
"country": "us",
"language": "en_US"
},
"reviewLimitPerPlatform": 20,
"lookbackDays": 180,
"minThemeMentions": 2,
"delivery": "dataset",
"dryRun": false
}

Output

FieldTypeDescription
metaobject
resultsarray
results[].productKeystring
results[].productNamestring
results[].storesCoveredarray
results[].statusstring
results[].summarystring
results[].recommendedCadencestring
results[].reviewsAnalyzednumber
results[].reviewCoverageobject
results[].ratingDriftobject
results[].recommendedActionsarray
results[].topThemesarray
results[].praiseThemesarray
results[].recurringComplaintsarray
results[].platformsobject

Output Example

{
"meta": {
"generatedAt": "2026-04-04T09:30:00.000Z",
"warnings": [
"Google Play public HTML exposed 4 review cards in the fixture sample; deeper pagination is intentionally disabled to keep maintenance low."
],
"sourceFailures": [],
"totals": {
"products": 1,
"platformsRequested": 2,
"platformsSucceeded": 2,
"platformsFailed": 0,
"reviewsAnalyzed": 7,
"recurringComplaints": 2,
"complaintThemes": 4
},
"executiveSummary": {
"overallStatus": "urgent",
"brief": "Duolingo is showing a softer public review sample than its long-term store ratings, with monetization and stability complaints persisting across platforms.",
"recommendedCadence": "daily",
"reviewedPlatforms": 2,
"totalReviewsAnalyzed": 7,
"recurringComplaintCount": 2,
"topComplaintThemes": [
{
"id": "monetization",
"label": "Pricing, ads & paywall",
"complaintMentions": 2,
"platforms": [
"appStore",
"googlePlay"
]
},
{
"id": "stability",
"label": "Crashes, freezes & lost progress",
"complaintMentions": 2,
"platforms": [
"appStore",
"googlePlay"

API Usage

Run this actor programmatically using the Apify API. Replace YOUR_API_TOKEN with your token from Apify Console → Settings → Integrations.

cURL

curl -X POST "https://api.apify.com/v2/acts/taroyamada~app-review-cross-platform-intelligence/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "productName": "Duolingo", "country": "us", "language": "en_US", "appleApp": { "appId": "570060128", "country": "us" }, "googlePlayApp": { "appId": "com.duolingo", "country": "us", "language": "en_US" }, "reviewLimitPerPlatform": 20, "lookbackDays": 180, "minThemeMentions": 2, "delivery": "dataset", "dryRun": false }'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("taroyamada/app-review-cross-platform-intelligence").call(run_input={
"productName": "Duolingo",
"country": "us",
"language": "en_US",
"appleApp": {
"appId": "570060128",
"country": "us"
},
"googlePlayApp": {
"appId": "com.duolingo",
"country": "us",
"language": "en_US"
},
"reviewLimitPerPlatform": 20,
"lookbackDays": 180,
"minThemeMentions": 2,
"delivery": "dataset",
"dryRun": false
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('taroyamada/app-review-cross-platform-intelligence').call({
"productName": "Duolingo",
"country": "us",
"language": "en_US",
"appleApp": {
"appId": "570060128",
"country": "us"
},
"googlePlayApp": {
"appId": "com.duolingo",
"country": "us",
"language": "en_US"
},
"reviewLimitPerPlatform": 20,
"lookbackDays": 180,
"minThemeMentions": 2,
"delivery": "dataset",
"dryRun": false
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Tips & Limitations

  • Run weekly for trend tracking; daily for competitive launch monitoring.
  • Use webhook delivery to push insights into your BI tools or marketing Slack.
  • Archive results in Apify Dataset for your own historical trend analysis.
  • Combine with ai-visibility-monitor-actor for AI-era brand surface coverage.
  • Start with a small watchlist, iterate on keyword precision before scaling.

FAQ

What platforms are covered?

Varies by actor — see each actor's input schema for the full source list. Most cover 3–8 major platforms per vertical.

How is data deduplicated across sources?

The actor normalizes entity identifiers (brand name, SKU) before aggregation — cross-source duplicates are merged.

Can I whitelabel the output?

Dataset rows are raw data — build your own presentation layer to whitelabel.

Is the sentiment scoring accurate?

Sentiment uses rule-based + keyword scoring tuned for English. For non-English content, treat scores as directional rather than absolute.

Can I share the dashboard output?

Export from Dataset API into your BI tool (Looker, Metabase, Tableau) for stakeholder-facing dashboards.

Market Intelligence cluster — explore related Apify tools:

Cost

Pay Per Event:

  • actor-start: $0.01 (flat fee per run)
  • dataset-item: $0.003 per output item

Example: 1,000 items = $0.01 + (1,000 × $0.003) = $3.01

No subscription required — you only pay for what you use.