Google Play Review Monitor
Pricing
from $2.00 / 1,000 per new reviews
Google Play Review Monitor
Watch Android apps on Google Play and get only the reviews that are new since the last check: rating, text, author_name, app_version and dev_reply_text. Run it on a schedule for alerting and support triage, with no duplicate rows.
Pricing
from $2.00 / 1,000 per new reviews
Rating
0.0
(0)
Developer
herus13
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
The Google Play Review Monitor watches Android apps on Google Play and extracts only the reviews that are new since the last check. Point it at your package IDs, run it on a schedule, and every run gives you fresh reviews and nothing else — no duplicate rows, no diffing on your side.
What you get
One row per new review. An empty dataset is a normal, meaningful result: nothing has changed since the last check.
{"review_id": "2797dc0c-7faa-4a12-9d3e-5f81b0c47e29","app_id": "com.spotify.music","author_name": "Jane D.","rating": 2,"text": "Crashes every time I open a playlist since the update.","thumbs_up_count": 14,"review_date": "2026-07-27T08:49:13+00:00","app_version": "8.9.60.408","dev_reply_text": null,"dev_reply_date": null,"scraped_at": "2026-07-28T08:49:46+00:00","_meta": {"author": "https://apify.com/herus13", "status": "ok", "message": null}}
_meta is run metadata, not scraped data. If the run fails or stops early, a row with only _meta (status failed or stopped, the reason in message) explains why; those rows are never charged.
app_version ties a complaint to the release that caused it, and dev_reply_text is null for exactly the reviews still waiting on an answer.
What it costs
| Event | Price |
|---|---|
Actor Start (apify-actor-start) | $0.001 |
Per app (app-check) | $0.05 |
Per new review (new-review) | $0.002 |
You pay per app watched per check, which works out at about $1.53 per app per month on a daily schedule. Check every other day and it halves; check hourly for tighter coverage and it rises in step. New reviews add $0.002 each, deliberately small: even a busy app at 150 new reviews a month adds about $0.30. The first run of a watch is not charged the per-app fee, because it is only writing down what already exists. The residential proxy is included in the price of the run.
Input
| Field | Type | Required | Default | What it does |
|---|---|---|---|---|
app_ids | array | yes | — | The apps this watch checks on every run, one per entry: a Google Play package ID such as com.spotify.music, or the app's full Play Store URL such as https://play.google.com/store/apps/details?id=com.spotify.music. Required. |
watch_id | string | no | "default" | Names this watch's saved memory. Keep the same name across scheduled runs — it is how a run knows which reviews it has already reported. The name is default unless you change it. A second name starts an independent watch over the same apps, which is how you reset one. |
seed_silently | boolean | no | true | On this watch's very first run, note the reviews that already exist without reporting them, so from the second run onwards you receive only genuinely new ones. Default true. Turn it off to be sent the existing backlog once. |
alert_max_rating | integer | no | — | Report only reviews at or below this star rating, from 1 to 5; set it to 3 to hear about negative reviews only. Leave empty to report every new review. Reviews held back by this setting are still recorded, so they will not resurface later. |
alert_only_unanswered | boolean | no | false | Report only reviews the developer has not answered yet, which is the queue that actually needs a person. Default false. |
rating_filter | array | no | — | Keep only reviews with these star ratings, as a JSON list such as [1, 2]. Leave empty to keep every rating. |
max_reviews_per_app | integer | no | 200 | How far back each check looks down an app's review list, from 1 to 50000. Default 200. A check stops as soon as it reaches reviews it has already reported, so this only bites on an app that collected a burst between checks — and when more than this many arrive, the run says so in its status instead of quietly reporting less. |
country | string | no | "us" | Two-letter storefront code. Each country is its own review stream and is remembered separately, so one app can be watched in several countries at once without the watches interfering. Default us. |
language | string | no | "en" | Two-letter language code for the review text that comes back. Default en. |
proxyUrls | array | no | — | Leave empty and the run uses a residential proxy that is included in the price of the run. To route through your own account instead, add one gateway URL per entry, for example http://user:pass@host:port. Works with DataImpulse, Bright Data, Oxylabs, Smartproxy or any provider that issues URLs. When you set this, only these URLs are used. |
How to run it
This is a scheduled monitor, not a one-shot scraper: "new since last time" needs a last time, so a single manual run returns nothing on purpose.
- Open the actor on Apify Console, put your package IDs into Apps to watch, and run it once. That run returns nothing, records what already exists, and is not charged the per-app fee.
- Open console.apify.com/schedules, create a schedule with a cron expression —
0 * * * *for hourly,0 9 * * *for daily at 09:00 UTC — and add this actor with the same input. From a finished run, Actions → Schedule carries the input across for you. - Every run from then on returns only new reviews. Attach a webhook on
ACTOR.RUN.SUCCEEDEDto push the dataset to Slack, email or your own endpoint; runs that find nothing produce an empty dataset, so you are pinged only when something happened.
{"app_ids": ["com.spotify.music", "com.netflix.mediaclient"],"watch_id": "default","alert_max_rating": 3,"alert_only_unanswered": true,"max_reviews_per_app": 500,"country": "us","language": "en"}
Minimal input:
{"app_ids": ["com.spotify.music"]}
Available as the MCP tool herus13--google-play-review-monitor on mcp.apify.com and through the Apify API; send the same JSON.
Why this monitor
- Purpose-built for the delta. A reviews scraper hands you the same rows every run and leaves deduplication to you. This one remembers every review it has already reported and sends each exactly once.
- Honest about coverage. Each check looks a fixed distance down the list. If more reviews arrive between two checks than that distance covers, the run says so in its status and names the span it missed, instead of quietly reporting less. Raise Maximum reviews to scan per app, or check more often.
- Per-country memory. The same app is a different review stream in every storefront and is tracked separately, so watches never contaminate each other.
- Alerting filters that match the job. Report only one- to three-star reviews, only reviews with no developer reply, or only the star ratings you name.
- Free to set up. The first run of a watch costs nothing beyond the run fee.
Use cases
- Same-day response to bad reviews — a schedule plus Only report reviews at or below this rating gives you a feed of one- and two-star reviews as they land, which is the difference between reacting today and finding out in a monthly export.
- Support triage without duplicate work — the same review is never delivered twice, so a support queue fed from this needs no "have we seen this?" table of its own.
- Unanswered-review sweeps — narrow the feed to reviews with no developer reply, which is the queue an agency holding a response-time SLA actually has to work.
- Multi-app, multi-country watching on one schedule — billing is per app checked, so twenty apps across three countries is one scheduled run rather than sixty jobs.
- Release-quality watch — with
app_versionon every row, a spike in complaints after a rollout shows up as it happens rather than in the next retro.
FAQ
Do I need a proxy? A residential proxy is included in the price of the run. To use your own, paste gateway URLs into Your own proxy URLs. Scraping at volume? Your own DataImpulse account is cheaper per GB.
Why did my first run return nothing? By design. The first run of a watch records the reviews that already exist so later runs can tell what is new, and it is not charged the per-app fee. Set Skip the backlog on the first run to false to have the existing backlog delivered once; that run bills normally.
Why does an empty run still cost money? Because the checking is what you are buying. A quiet result is the monitor confirming nothing needs your attention, which is worth the same as a noisy one. The bill follows how much you watch, not how noisy your apps happen to be, so you can forecast it.
Will it miss reviews if my app is busy? Only if more arrive between two checks than Maximum reviews to scan per app covers — and the run tells you when that happens, naming the span it missed. Raise the value or schedule more often.
Does it report edits and deletions? No. Google Play keeps the same review ID when someone rewrites their rating or text, and deletions are not reported either. This watches for new reviews, not changes to old ones.
Can I change the sort order? No, and deliberately. The comparison walks from the newest review and stops at ones already reported, which is only correct on a recency-ordered list, so the order is fixed rather than left as a way to break a watch by accident.
How do I reset a watch? Give Watch name a new value. That starts a fresh watch with its own memory and seeds again on the next run.
Does it cover the Apple App Store? No, and not by oversight. Apple's public web surface exposes a fixed handful of reviews per country ordered by helpfulness rather than recency, a window that routinely holds reviews years old and often none of the new ones. There is nothing there to compare, so an Apple mode would silently never alert.
Is this legal? The actor reads publicly visible review pages only — no login, no paywall, and no personal data beyond the display name a reviewer chose to publish. You remain responsible for your own use, especially when republishing review text or handling personal data.
Related actors
- Google Play App Search & Reviews Scraper — the full historical export and keyword app search, when you want the whole back catalogue rather than the delta.
- Apple App Store Scraper — App Store app search and featured reviews.
- Google Maps Reviews Scraper — business reviews from Google Maps, with photos and owner replies.