Google Play Review Monitor - Android App Review Tracker
Pricing
$4.00 / 1,000 review record returneds
Google Play Review Monitor - Android App Review Tracker
Monitor Google Play Store apps for new user reviews, version-correlated complaints, sentiment themes, rating/version deltas, and a 'what changed since last run' digest. Pure HTTP on Google Play's public endpoints. The Android twin of App Review Radar.
Pricing
$4.00 / 1,000 review record returneds
Rating
0.0
(0)
Developer
CQ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
Google Play Review Monitor — Android App Review Tracker
Monitor Google Play Store apps for new user reviews, correlate complaints to app versions, tag complaint themes by keyword, track rating & version deltas, and get a "what changed since last run" digest on every run.
This is the Android twin of App Review Radar (which covers the Apple App Store & Apple Podcasts). Run both to cover your product's reputation on iOS and Android from one place.
Why it's reliable
- Real data, real source. Reads Google Play's own public Play Store UI
endpoints — the same
batchexecutereview feed (rpcid UsvDTd) the store website itself uses, plus the public app-details page for aggregates. - No third-party API, no API key, no headless browser, no proxies required.
Plain HTTP (
fetch) with polite throttling + exponential backoff. - Every field is derived from the live response for the package IDs you supply. Two different apps produce two genuinely different result sets.
What you get (one dataset item per app, per country)
| Field | Description |
|---|---|
appId, role, country, language | Identifiers for the row (role is primary or competitor) |
title, developer, playStoreUrl | App identity from Google Play (title/developer may be null if the details page can't be parsed) |
averageRating, ratingCount, currentVersion | Aggregate snapshot from the details page (any may be null) |
reviewsReturned, totalReviewsFetched, newReviewsCount | Counts for this row |
reviews[] | Reviews: reviewId, rating, appVersion, reviewedAt, author, content, thumbsUp, country, language, plus any developerReply |
perVersionBreakdown[] | Review count, average rating, and top complaint themes per app version |
themeBreakdown[] | Keyword-tagged complaint-theme counts (crash, login, price, ads, bug, performance, update, permissions, feature_request…) with up to 3 sample snippets each |
ratingDelta | Average-rating change, rating-count change, and version-changed flag vs your last run (null on first run / when aggregates are unavailable) |
isNegativeSpike | True when the 1–2★ share jumps past your threshold |
changeDigest | "What changed since last run": new-review count, spiking themes, negative share, rating movement, version change |
scrapedAt | ISO timestamp for the row |
Input
{"appIds": ["com.spotify.music", "https://play.google.com/store/apps/details?id=com.whatsapp"],"competitorIds": ["com.amazon.mp3"],"countries": ["us", "gb"],"language": "en","sortBy": "newest","maxReviews": 150,"minRating": null,"maxRating": null,"sinceLastRun": true,"includeAggregates": true,"negativeSpikeThreshold": 0.15}
appIds— Google Play package names (com.spotify.music) or full Play Store URLs.competitorIdsare pulled the same way for side-by-side comparison. At least one validappIds/competitorIdsentry is required or the run fails fast.countries(default["us"]) /language(default"en") — reviews are localized, so this controls coverage (one result row per app × country).sortBy(defaultnewest) —newest(best for monitoring),relevant, orrating.maxReviews(default150, clamped to 10–2000) — newest reviews to pull per app per country (paginated via Google's own continuation token).minRating/maxRating(default none) — e.g.min=1, max=2for negative-review triage.sinceLastRun(defaulttrue) — emit only what's new since the previous run (state is kept in the actor's key-value store). Turn off for a full snapshot each run.includeAggregates(defaulttrue) — also pull the app's aggregate rating, rating count, developer and current version from the details page.themeKeywords(default: built-in themes) — override the default complaint themes with your own{ "theme": ["keyword", ...] }map. Keywords are matched as case-insensitive substrings of the review text.negativeSpikeThreshold(default0.15) — flagisNegativeSpikewhen the 1–2★ share rises by at least this fraction vs last run.
Typical uses
- Founders / PMs — catch a bad release when 1★ reviews spike on a new version; see which version the complaints attach to.
- Support teams — pull only 1–2★ reviews per country as a triage queue.
- Competitive intel — compare your rating & complaint themes against rivals
in the same run via
competitorIds. - Agencies / ASO — schedule it and build alerting on the
changeDigest/isNegativeSpikeoutput for every client app.
Pair it with App Review Radar for full iOS + Android review coverage.
Pricing
Pay per result — you're charged per app × country record written to the dataset. Run it on a schedule (e.g. hourly/daily) for always-on monitoring. See the actor's pricing panel on Apify for current rates.
Limitations
- Unofficial endpoints. Google Play has no public reviews API; this actor
reads Google's internal
batchexecuteRPC and the HTML details page. If Google changes those response shapes, review parsing can return fewer/no reviews and aggregate fields can come backnull. There is no stability guarantee from Google. - Aggregates are best-effort HTML scraping.
title,developer,averageRating,ratingCount, andcurrentVersionare regex-extracted from the details page and may benull. Google often omits a labeled current version, socurrentVersionfalls back to the most-recently-reviewed app version when available. - Theme tagging is keyword matching, not ML sentiment. Themes are assigned by
case-insensitive substring matches against the review text, so expect some
false positives/negatives. The built-in keyword lists are English; use
themeKeywordsfor other languages. - Rate limits & speed. Google may return 429/503; the actor self-throttles
(≥1s between requests) and backs off exponentially. Large runs (many apps ×
countries × high
maxReviews) are therefore slow. No proxy support is built in. - Volume caps.
maxReviewsis clamped to 10–2000 per app per country. Pagination stops after 60 pages, when Google stops returning a continuation token, or when a page yields no new reviews — so you may receive fewer reviews than requested. Each country/language is fetched separately. - Deduplication window.
sinceLastRuncompares against up to the last 1000 review IDs per app/country/language stored in the actor's key-value store. Running under a different actor/store, or clearing state, resets that history. - What it does not do. No login-gated/private data; no full historical review archive (only what Google currently serves); no screenshots, images, or install counts; only the first developer reply per review; no real-time alerting (it produces a per-run digest — wire your own alerts on the output).
Notes
- Google Play returns reviews per country/language; for broader coverage list
several
countries. - This actor reads only public Play Store data. Be considerate with very
large
maxReviews× many countries; the actor self-throttles.