Google Play Reviews Scraper | Star Filter & Reply Intel
Pricing
from $0.06 / 1,000 review results
Google Play Reviews Scraper | Star Filter & Reply Intel
Scrape Google Play app reviews at $0.08/1,000 β full pagination, star filter, newest/relevance sort, developer replies with reply-delay intel, keyword filter and per-app summary. HTTP-only, no login, no key.
Pricing
from $0.06 / 1,000 review results
Rating
0.0
(0)
Developer
Mr Zack
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
12 days ago
Last modified
Categories
Share
Scrape Google Play app reviews for any app, at scale, for less: $0.08 / 1,000 reviews (plus a $0.01 run fee) β the lowest per-review price in this category on Apify. HTTP-only, no login, no API key, no browser, no proxy add-ons. Pay per result ($0.08 / 1,000 reviews + $0.01 per run), MCP-ready (call it from Claude/Cursor via the Apify MCP server).
Give it one or more package IDs (com.whatsapp) or Play Store URLs and get back clean JSON/CSV rows with the review text, star rating, timestamp, helpful votes, the app version the user was on, and β where the developer answered β the full developer reply plus how many days the reply took.
Who uses this
- Product & support teams monitoring their own app (and their competitors') for crashes, complaints and feature requests β schedule it and only pay for new reviews with
newerThanDays. - ASO / mobile-marketing analysts mining 1-star reviews of competitor apps for positioning gaps.
- Data & ML teams building sentiment datasets: rating + text + language + country, deduplicated by review ID.
- Agencies reporting on app reputation: the run summary gives you average rating, % 1-star, developer reply rate and median reply delay per app β no post-processing needed.
What you get per review
| Field | Description |
|---|---|
appId, appTitle, appUrl | Which app the review belongs to |
appScore, appRatingsCount, appDeveloper, appCategory | Store-wide context on every row (free): compare the window you scraped against the app's overall score |
reviewId | Stable unique ID β safe for dedup across runs |
userName | Reviewer display name |
rating | 1β5 stars |
text | Review text (null for rating-only reviews β never a fake empty string) |
reviewedAt, reviewAgeDays | ISO timestamp + age in days |
thumbsUpCount | Helpful votes |
appVersion | App version the reviewer was on β spot which release broke things |
hasDeveloperReply, developerReplyText, developerRepliedAt | Full developer response |
replyDelayDays | How long the developer took to reply β support responsiveness intel you won't find in other review scrapers |
language, country, sortMode | Exactly what storefront slice this row came from |
Every run also writes a SUMMARY record to the key-value store: reviews collected, average rating in the window, star histogram, % 1-star, developer reply rate, median reply delay, top app versions, plus overall app metadata (title, developer, category, lifetime score and ratings count).
Why this one
- Price: $0.08/1k vs $0.10β$6.00/1k elsewhere in the category. Filtered-out reviews (star filter is server-side, keyword filter client-side) are never charged.
- Reply intel: developer replies and reply-delay stats β most review scrapers drop or ignore replies.
- Deep history: token-based pagination up to 100,000 reviews per app per run.
- Any storefront:
language+countryinputs cover every Play locale (en/us, de/de, pt/br, id/id, β¦). - Honest data: rating-only reviews keep
text: null, timestamps are validated, zero rows are never invented. Typed output schema included β AI agents can read the shape via MCP/API before calling.
Example input
{"appIds": ["com.whatsapp", "https://play.google.com/store/apps/details?id=org.telegram.messenger"],"maxReviewsPerApp": 2000,"sort": "newest","starsFilter": "1","language": "en","country": "us","filterKeyword": "backup"}
β every 1-star English/US review of WhatsApp and Telegram that mentions "backup", newest first, with developer replies attached. Cost: at most 2 Γ 2,000 Γ $0.00008 + $0.01 β $0.33.
Example output (one real row, 7 Sep 2026)
Default input (appIds: ["com.whatsapp"], sort: "newest", maxReviewsPerApp: 500) returned 500 rows in ~20 s. One row, untouched:
{"appId": "com.whatsapp","appTitle": "WhatsApp Messenger","appUrl": "https://play.google.com/store/apps/details?id=com.whatsapp","reviewId": "d40bb75a-d1a5-44b3-863d-c8624445efe9","userName": "Jonathan Spencer","rating": 1,"text": "The most useless app I've encountered since apps were invented. I have it on my phone, and whenever I try to link it to another device - PC or tablet, using their app - the account is placed under review, during which time I can't use it, without explanation. ...","reviewedAt": "2026-08-28T20:40:15.000Z","reviewAgeDays": 8.9,"thumbsUpCount": 4,"appVersion": "2.26.33.74","language": "en","country": "us","sortMode": "newest","hasDeveloperReply": false,"developerReplyText": null,"developerRepliedAt": null,"replyDelayDays": null}
Cost of that run: 500 Γ $0.00008 + $0.01 = $0.05. The SUMMARY record in the key-value store adds per-app average rating, % 1-star, developer reply rate and median reply delay.
How to schedule this Actor (the right way)
Review monitoring only makes sense on a schedule:
- Open the Actor β Schedules tab β Create new schedule (e.g.
@daily). - Set
sort=newestandnewerThanDays=1(or7for weekly runs). - The run stops paging the moment it hits reviews older than the window β a daily WhatsApp check typically costs under a cent.
- Add an integration (Slack/email/webhook) on the schedule to get new 1-star reviews pushed to your team, or read the
SUMMARYkey for the daily reply-rate numbers.
Notes & fair use
Public data only, polite request pacing, no login, no personal data beyond what Google publicly displays with each review. Rate limits are respected with retries and backoff; if Google throttles a huge run, the Actor keeps what it collected instead of failing.
Related Actors (same developer)
- App Store Reviews Scraper | Multi-Country, Deep History β the iOS half of this pair: same schema idea, country sweep, deep history.
- Chrome Web Store Extensions Scraper | Permission-Risk Score β extension listings, ratings and permission risk.
- Contact Details Scraper | Emails, Phones & Socials From Sites β reach the developers behind the apps you monitor.
Changelog
- 0.1.6 (4 Oct 2026) β Honest result when your run hits its cost limit. If a run reaches its "Maximum cost per run" (Apify also sets this to your remaining credit automatically), Apify silently stops saving rows. Before this fix the status bar still showed the full count (e.g. "697 delivered" when only 451 were saved). Now the Actor keeps the best-ranked reviews first, tells you exactly how many were held back (they are not charged), and how to get the rest.
- 0.1.5 (1 Oct 2026) β No more silent empty runs. Google Play occasionally answers a cloud request with an empty review list for an app that has thousands of reviews; the Actor used to accept that and finish with 0 reviews. It now double-checks against a control app, waits and asks again (usually back within a minute), and only reports "no reviews" when Google is answering normally β with a plain explanation (language/country/filters) in the run header. If Google keeps refusing, the run says so instead of pretending the app is empty. No price or field change.
- 0.1.4 (24 Sep 2026) β Reliability: Invalid app IDs now end as a normal run with a clear explanation instead of an error, and if Google briefly rate-limits one app the Actor waits and retries, then skips just that app while keeping every other app's reviews. Runs close to their timeout stop early and keep everything collected. No price or field change.
- 0.1.3 (19 Sep 2026) β Default app changed to Spotify, plus a typo guard on input. The old default (WhatsApp) never answers reviews, so a first run showed the developer-reply columns completely empty and the Reply Intel feature looked broken. Spotify answers ~20β40 % of reviews, so the columns now demonstrate themselves. Unknown input fields (e.g.
maxReviewsinstead ofmaxReviewsPerApp) are now reported in the log instead of being ignored silently. - 0.1.2 (16 Sep 2026) β A run with no input no longer fails: the example input is the default, so "Run" with an empty form (or
{}via API) returns the demo dataset. Output unchanged. - 0.1.1 (14 Sep 2026) β Every review row now carries
appScore,appRatingsCount,appDeveloper,appCategory(from the store page, free) so the dataset is self-contained. Existing fields unchanged. - 0.0.7 (11 Sep 2026) β
newerThanDaysno longer stops at the first older review inside a page (Play's newest order is only roughly chronological); the whole page is filtered and paging stops only once an entire page is older than the cutoff. Note: Play publishes reviews with a 1β3 day lag, so very small windows legitimately return few rows. - 0.0.6 (11 Sep 2026) β Fix:
sort: newestwas silently returning Google's "most helpful" order (Play moved the sort slot in its batchexecute payload), sonewerThanDaysfound almost nothing. Newest now returns today's reviews (Instagram: 300 rows, all within 2 days) and star + date filters combine correctly. Live gate tightened: page 1 of newest must span β€3 days. - 2026-09-07 β README: real example row, pricing math, related Actors. Fetch timeouts + default run limits (memory 512 MB) so a throttled run can never hang for an hour.
- 2026-08 β Initial release: full pagination, star filter, newest/relevance sort, keyword filter, multi-language/country, reply-delay intel (
replyDelayDays,hasDeveloperReply),newerThanDaysearly stop, per-appSUMMARY.
Found this useful? Bookmark & review
If it saved you time, a β review on this page helps more people find it β and a bookmark keeps it one click away. Hit a problem? Open an Issue on the Issues tab β it's actively maintained and I usually respond within a day.