Google Play Reviews Scraper & Monitor | $0.15/1k, No Login avatar

Google Play Reviews Scraper & Monitor | $0.15/1k, No Login

Pricing

from $0.10 / 1,000 reviews

Go to Apify Store
Google Play Reviews Scraper & Monitor | $0.15/1k, No Login

Google Play Reviews Scraper & Monitor | $0.15/1k, No Login

Scrape Google Play app reviews for any app and language: stars, text, developer replies, app version and rating. Monitoring mode outputs only new or changed reviews for daily schedules. No login, no browser.

Pricing

from $0.10 / 1,000 reviews

Rating

0.0

(0)

Developer

ProgrammX

ProgrammX

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

Keywords: google play reviews scraper, google play review api, android app reviews, play store reviews export, app review monitoring, one star review alerts, developer replies, ASO, review analytics, competitor app reviews

Scrape Google Play reviews for any Android app in any language, newest first, with star filters, developer replies, app version and the app's overall rating and installs. Turn on monitoring mode and schedule it daily: each run outputs only the reviews that are new or changed since the last run, so you pay for fresh data, not for the same reviews again.

No browser, no Google login, no API key. One request returns up to 200 reviews, so runs are fast and cheap.

Who it is for

  • ASO and app marketing agencies: track client and competitor reviews per market, every day.
  • Product and support teams: get a one-star feed into Slack, Zendesk or a sheet and catch regressions after a release (every review has appVersion).
  • Review-analytics and sentiment SaaS: a stable, deduplicated review feed for thousands of apps without maintaining a scraper.
  • Researchers: bulk export of reviews for any public app, including ones you do not own (the official Play Developer API only covers your own apps and the last 7 days).

What you get

FieldDescription
reviewIdStable review UUID, use it as your dedupe key
scoreStars, 1-5
textReview text
publishedAtISO 8601 UTC timestamp
thumbsUpCount"Helpful" votes
appVersionApp version the reviewer used, when Google shows it
replyAuthor, replyText, repliedAtDeveloper reply, if any
userName, userAvatarUrlPublic display name and avatar (null when includeReviewerInfo is off)
changeTypenew or changed in monitoring mode
appTitle, appDeveloper, appScore, appRatingsCount, appInstallsApp details (when includeAppDetails is on)
appId, language, country, sort, scoreFilter, url, scrapedAtRequest context

The full app record (rating histogram, genre, price, icon, last update, developer URL) is saved once per app to the key-value store record APP_DETAILS. Reviewers' internal Google account ids are never output.

Input

FieldTypeDefaultDescription
appIdsstring list["com.whatsapp"]Package ids or Play Store URLs (...details?id=com.whatsapp)
languagestringenReview language (hl). Google Play groups reviews by language.
countrystringusCountry (gl). Affects app details; in our tests the reviews themselves follow the language.
sortnewest / relevance / ratingnewestUse newest for monitoring
minRating, maxRatinginteger 1-5emptyStar filter, applied by Google. 1/1 gives a one-star feed. With a partial range, the per-app limit applies per star value.
maxReviewsPerAppinteger100Reviews per app per run
maxItemsinteger50Hard cap on items for the whole run
includeAppDetailsbooleantrueAdd app title, rating and installs (one app-details event per app)
includeReviewerInfobooleantrueOutput the reviewer's public display name and avatar. Turn off to keep personal data out of your dataset (both fields become null).
onlyNewbooleanfalseMonitoring mode: output only new or changed reviews
proxyConfigurationproxynoneOptional. Works without a proxy in our tests.

Example:

{
"appIds": ["com.whatsapp", "https://play.google.com/store/apps/details?id=com.spotify.music"],
"language": "en",
"country": "us",
"sort": "newest",
"maxReviewsPerApp": 25,
"maxItems": 50,
"includeAppDetails": true
}

Output sample

A real record from a test run on 2026-10-03 (avatar URL truncated):

{
"appId": "com.whatsapp",
"language": "en",
"country": "us",
"sort": "newest",
"scoreFilter": null,
"reviewId": "1c0f31e8-eb66-471d-9035-2c01181ec8cf",
"userName": "amanat ali",
"userAvatarUrl": "https://play-lh.googleusercontent.com/a-/ALV-UjXB-kNdfrUruXcDi7fprcqXt2OIQCSNBfVOtG_Q7wsMF...",
"score": 5,
"text": "unban my WhatsApp account",
"publishedAt": "2026-10-02T15:14:37.000Z",
"thumbsUpCount": 0,
"appVersion": "2.26.37.73",
"replyAuthor": null,
"replyText": null,
"repliedAt": null,
"changeType": null,
"appTitle": "WhatsApp Messenger",
"appDeveloper": "WhatsApp LLC",
"appScore": 4.617302,
"appRatingsCount": 244966389,
"appInstalls": "10,000,000,000+",
"url": "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en&gl=us&reviewId=1c0f31e8-eb66-471d-9035-2c01181ec8cf",
"scrapedAt": "2026-10-03T15:17:27.724Z"
}

Pricing (pay per event)

You pay only for results. Apify adds its standard small actor-start charge.

EventFree planBronzeSilverGold
Review (result), per review$0.00015$0.00013$0.00011$0.00010
App details (app-details), per app per run$0.002$0.0018$0.0016$0.0015

That is $0.15 per 1,000 reviews on the Free plan and $0.10 on Gold. In monitoring mode you are charged only for new or changed reviews. Set maxItems or a maximum charge per run to cap spend; the actor stops cleanly when the limit is reached.

How to schedule daily (monitoring mode)

  1. Create a task from this actor with your appIds, language, sort: "newest" and onlyNew: true. Set maxReviewsPerApp to cover a busy day (for example 500 for large apps, 50 for small ones).
  2. In Apify Console open Schedules > Create new, choose the task, and use a daily cron such as 0 7 * * * (07:00 UTC).
  3. Add an integration (Slack, email, webhook, Google Sheets, Make or Zapier) on "Run succeeded" to forward the new reviews.
  4. For a one-star alert feed, create a second task with minRating: 1, maxRating: 2.

How it works: review ids and a short fingerprint (stars, text, reply) are stored in the named key-value store google-play-reviews-monitor-state, separately per app, language, sort and star filter. On the next run the actor reads the newest page, outputs anything unseen or changed, and stops paging as soon as it reaches reviews it already knows. The first run of a new app outputs up to maxReviewsPerApp reviews as the baseline. To reset monitoring, delete that key-value store.

Google Play shows new reviews with roughly a 24-hour delay (measured on 2026-10-03), so a daily schedule captures everything; running hourly adds no fresher data.

Use it from the API, n8n, Make, Zapier or an AI agent

  • API: start a run and get the results in one call:
    curl -X POST "https://api.apify.com/v2/acts/programmx~google-play-reviews-monitor/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"appIds": ["com.whatsapp"], "sort": "newest", "maxReviewsPerApp": 100, "maxItems": 100}'
    The response is the dataset as JSON; add &format=csv for CSV. This endpoint waits up to 5 minutes; for longer runs, start the run asynchronously and read the dataset when it finishes.
  • n8n, Make and Zapier: use the Apify node or app, choose Run Actor, pick this actor and paste the input JSON.
  • Google Sheets, Slack, email and webhooks: add an integration on the actor or task in Apify Console.
  • AI agents: add this actor to Apify's MCP server (https://mcp.apify.com) and call it from any MCP client.

FAQ

Do I need a Google account or API key?

No. The actor reads the same public data the Play Store website shows to logged-out visitors.

Can I get reviews for apps I do not own?

Yes, any public app. The official Google Play Developer API only covers apps you own, and only the last 7 days.

Why do I get the same reviews for us and gb?

Google Play groups reviews by language, not country. To cover several markets, run once per language (en, de, fr, pt, ja, ...).

How many reviews can I get?

Pagination follows Google's continuation token. In tests we followed 5,000 reviews of one app (BitLife, newest first, reaching back about 8 months) without the token running out. Google may stop returning older pages at some point.

Does it need a proxy?

Our tests had zero blocks without one. If you run at very high volume, select Apify Proxy (datacenter is enough) in the input.

Is rating sort documented?

No. newest and relevance were tested. rating returns reviews, and in our test it put 5-star reviews first, but Google does not document the exact ordering.

How much does a daily review monitor cost?

Example on the Free plan: 3 apps with app details on and about 20 new reviews per app per day cost 3 × $0.002 + 60 × $0.00015 = $0.015 a day, about $0.45 a month. For large monitors, turn includeAppDetails off to drop the per-app charge.

Can I export Google Play reviews to CSV or Excel?

Yes. Every run's dataset downloads as CSV, Excel, JSON, XML or HTML from the run's Storage tab, or through the API with format=csv.

Can I get only 1-star or 2-star reviews?

Yes. Set minRating and maxRating (for example 1 and 2). Results come one star value at a time.

Can I use it for ASO or competitor research?

Yes. Collect reviews for your own app and for competitors' apps, then group them by star rating, appVersion or keyword to find recurring bugs and feature requests.

Can an AI agent use this actor?

Yes. Apify's MCP server (https://mcp.apify.com) can expose this actor as a tool to Claude, Cursor, VS Code and other MCP clients, so an agent can fetch fresh reviews on request.

Limitations

  • The data source is an undocumented internal Google Play endpoint. If Google changes it, the actor fails with a clear "no UsvDTd payload" error rather than returning bad data.
  • With a partial star range, results come one star value at a time and are not merged into one newest-first list.
  • Monitoring mode detects edits and new developer replies only on the pages it reads in that run. A reply added to a very old review is not picked up.
  • Reviews appear on Google Play about 24 hours after posting, so this is a daily feed, not real time.
  • appInstalls is Google's public bucket (for example "10,000,000,000+"), not an exact count.