Google Play Reviews Scraper · Replies, Versions, Any Market avatar

Google Play Reviews Scraper · Replies, Versions, Any Market

Pricing

from $0.04 / 1,000 reviews

Go to Apify Store
Google Play Reviews Scraper · Replies, Versions, Any Market

Google Play Reviews Scraper · Replies, Versions, Any Market

Google Play reviews scraper for any Android app: rating, text, date, version, likes and developer reply, any country and language, several markets per run. Date and star filters, since-last-run checkpoint for daily monitoring. $0.06 per 1,000 reviews; first 50 reviews each month free.

Pricing

from $0.04 / 1,000 reviews

Rating

0.0

(0)

Developer

AgentsGearbox

AgentsGearbox

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

Google Play Reviews Scraper

Download every review of any Android app from Google Play: star rating, text, date, app version, likes and the developer's reply, for any country and language, newest or most helpful first. Built for daily monitoring: a date filter and a since-last-run checkpoint mean a scheduled run fetches only the reviews you have not seen. $0.06 per 1,000 reviews, the lowest price in the category, with nothing charged for errors, summaries or empty runs. The first 50 reviews each month are free for every account.

Why this one

This actor
Price$0.00006 per review ($0.06 per 1,000) and $0.00006 per optional app-details record, plus Apify's default $0.00005 start fee. No platform usage charged on top.
MarketsAny store country and language, and several at once: countries and languages lists are combined in one run, every row stamped with its market, one checkpoint per app and market.
Daily monitoringonlyNewSinceLastRun stores the newest review date per app and market and stops there on the next run; reviewedAfter accepts relative values such as 1d or 12h. Quiet days cost only the start fee.
Every fieldRating, title, text, date, app version, likes (thumbsUp), developer reply text and date, criteria ratings, reviewer name and avatar, direct review URL. minScore/maxScore keep only the ratings you want, and filtered reviews are never charged.
App recordOptional: overall score, ratings and reviews counts, 1–5 star histogram, install range, price, developer e-mail and website, latest version, update date.
ReliabilityDirect JSON from Google's own endpoint, no browser, 150 reviews per request; one free summary record per app with status and stoppedBy; a package that does not exist in the chosen country gives an error record instead of a failed run.

What people use it for

  • Review monitoring: every new review of your app each day, with 1- and 2-star ones routed to Slack, a ticketing tool or e-mail, and a direct link to reply.
  • Release health: reviews carry the app version, so you can see what broke in the last release before the rating moves.
  • Competitor research: the same app list across markets, in one sheet.
  • Sentiment and topic analysis: thousands of reviews with ratings for an LLM or a classifier.
  • Market research: histograms, install ranges and scores for any list of apps.

Example tasks

Ready-made configurations you can open, copy and run as they are:

Input

FieldTypeDefaultDescription
appsarrayrequiredPackage names (com.whatsapp) or Google Play URLs.
maxReviewsPerAppinteger200Upper limit per app. Up to 1,000,000.
sortstringnewestnewest, helpfulness or rating. The checkpoint mode always uses newest.
countrystringusTwo-letter store country.
languagestringenTwo-letter language; Google Play returns only reviews written in it.
countriesarray[]Extra store countries, combined with languages into one run.
languagesarray[]Extra languages.
minScore, maxScoreinteger–Keep only ratings in this range (for example maxScore: 2 for complaint alerts). Filtered reviews are free.
reviewedAfterstring–ISO date or relative (1d, 12h, 7d). With newest the run stops when older reviews are reached.
onlyNewSinceLastRunbooleanfalseCheckpoint mode for schedules.
checkpointStoreNamestringgoogle-play-reviews-stateKey-value store for the checkpoints.
includeAppDetailsbooleantrueOutput one app record per app.
{
"apps": ["com.whatsapp", "https://play.google.com/store/apps/details?id=com.spotify.music"],
"maxReviewsPerApp": 1000,
"country": "us",
"language": "en",
"countries": ["gb", "de"],
"languages": ["de"],
"maxScore": 2,
"onlyNewSinceLastRun": true
}

Output

Four record types share one dataset, told apart by type.

review (charged, $0.00006 each). A real row, URLs shortened:

{
"type": "review",
"appId": "com.whatsapp",
"reviewId": "6a1187f1-958a-4f4d-8c86-72b68d2f51f4",
"url": "https://play.google.com/store/apps/details?id=com.whatsapp&reviewId=6a…",
"userName": "Malik shuaib Khokhar",
"userImage": "https://play-lh.googleusercontent.com/a/ACg8ocIV…",
"date": "2026-10-13T15:05:50.841Z",
"score": 5,
"title": null,
"text": "this app is more reliable and good",
"appVersion": "2.26.39.79",
"thumbsUp": 0,
"replyDate": null,
"replyText": null,
"criterias": [
{
"criteria": "vaf_app_quality_usability",
"rating": 1
},
{
"criteria": "vaf_app_quality_ads_intrusiveness",
"rating": 3
},
{
"criteria": "vaf_app_quality_ads_frequency",
"rating": null
}
],
"country": "us",
"language": "en"
}
FieldTypeNotes
reviewId, urlstringGoogle's review ID and a direct link to the review on the store page.
scorenumber1 to 5.
title, textstringTitle is usually null on Google Play; text is the review.
datestringISO 8601 UTC.
appVersionstring or nullVersion the reviewer had installed.
thumbsUpnumber"Helpful" votes.
replyText, replyDatestring or nullDeveloper reply when present.
criteriasarrayPer-criterion ratings for apps that use them (games, for example).
userName, userImagestringReviewer display name and avatar.
appId, country, languagestringWhat the row was fetched for.

app (charged, $0.00006 each, once per app when includeAppDetails is on):

{
"type": "app",
"appId": "com.whatsapp",
"url": "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en&gl=us",
"title": "WhatsApp Messenger",
"summary": "Simple. Reliable. Private.…",
"developer": "WhatsApp LLC",
"developerId": "WhatsApp+LLC",
"developerEmail": "android@support.whatsapp.com",
"developerWebsite": "http://www.whatsapp.com/",
"genre": "Communication",
"genreId": "COMMUNICATION",
"score": 4.6188164,
"scoreText": "4.6",
"ratings": 245678446,
"reviews": 1949726,
"histogram": {
"1": 10873744,
"2": 3463905,
"3": 8926116,
"4": 21909620,
"5": 200505007
},
"installs": "10,000,000,000+",
"minInstalls": 10000000000,
"maxInstalls": 12407896263,
"price": 0,
"free": true,
"currency": "USD",
"version": "VARY",
"androidVersion": "VARY",
"released": "Oct 18, 2010",
"updated": "2026-10-13T15:53:15.000Z",
"contentRating": "Everyone",
"icon": "https://play-lh.googleusercontent.com/Gqxk4T0uZs…",
"adSupported": false,
"offersIAP": true
}

summary (free, one per app and market at the end of the run; reviewsFilteredOut counts reviews dropped by the star filter). status is COMPLETE, PARTIAL (stopped by your spending limit), EMPTY or ERROR; stoppedBy is maxReviews, reviewedAfter, checkpoint, endOfReviews, chargeLimit, scanLimit (a star filter matched nothing for several thousand reviews, so the run stopped paging) or error:

{
"type": "summary",
"appId": "com.whatsapp",
"country": "us",
"language": "en",
"status": "COMPLETE",
"reviewsScraped": 5,
"newestReviewDate": "2026-10-13T15:06:11.355Z",
"oldestReviewDate": "2026-10-13T15:05:03.170Z",
"stoppedBy": "maxReviews",
"checkpointUsed": null
}

error (free): {"type": "error", "appId": "com.example.app", "error": "App \"com.example.app\" was not found on Google Play for country=us."}

Pricing and cost examples

Try it free. The first 50 reviews each calendar month are free for every Apify account, with nothing to enter: the actor keeps count in a small key-value store in your account (free-slice-google-play-reviews-scraper) and charges only from the 51th on. The free results are real results you keep; the counter resets on the first of each month.

JobReviewsCost
All reviews of a mid-size app in one market10,000$0.60
Daily monitor of 50 apps in 3 markets averaging 20 new reviews a day each, checkpoint on3,000 a day$0.18 a day, about $5.50 a month
Competitor set: 20 apps × 5 markets × 2,000 newest reviews200,000$12

Platform compute is included in the per-review price. A run that finds nothing new costs only Apify's $0.00005 start fee.

Discounts for paid Apify plans, applied automatically to the buyer's plan: Bronze 10% off, Silver 25% off, Gold and enterprise tiers 40% off the prices above. Free-plan users pay the listed price.

Scheduling: daily review monitoring in two minutes

  1. Create a task from this actor with your apps, the countries and languages you care about, and onlyNewSinceLastRun: true (add maxScore: 2 for an alerts-only task).
  2. Add an Apify schedule (for example every morning).
  3. Add an integration on the task: Slack, e-mail, Google Sheets, Zendesk via Make or n8n, or a webhook. Each run delivers only new reviews; filter on score <= 2 for alerts.

The first checkpoint run fetches up to maxReviewsPerApp reviews; later runs stop at the previous newest review. The checkpoint is kept per app, country and language. To start over, change checkpointStoreName or delete the key-value store.

Run it from your code

Node.js:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('agentsgearbox/google-play-reviews-scraper').call({
apps: ['com.whatsapp'], maxReviewsPerApp: 500, country: 'us', language: 'en',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((i) => i.type === 'review' && i.score <= 2));

Python:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("agentsgearbox/google-play-reviews-scraper").call(run_input={
"apps": ["com.whatsapp"], "maxReviewsPerApp": 500, "country": "de", "language": "de"})
reviews = [i for i in client.dataset(run["defaultDatasetId"]).iterate_items() if i["type"] == "review"]

cURL (synchronous, returns the dataset):

curl -X POST "https://api.apify.com/v2/acts/agentsgearbox~google-play-reviews-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"apps": ["com.whatsapp"], "maxReviewsPerApp": 100}'

For AI agents

Give your agent hands. Instead of fetching pages, getting blocked and reasoning over HTML, it calls this actor as a tool and gets verified results back as JSON, priced per result. The Play Store loads a handful of reviews per fetch and an agent scrolling it never reaches 1,000. This actor returns 1,000 reviews with ratings, versions and developer replies for $0.06.

  • MCP, this actor only: add https://mcp.apify.com?tools=agentsgearbox/google-play-reviews-scraper to Claude Desktop, Claude Code, Cursor or any MCP client (with your Apify token), then ask for "the last 200 one-star reviews of com.whatsapp and the top three complaints".
  • MCP, all agentsgearbox actors: https://mcp.apify.com?tools=agentsgearbox/telegram-channel-scraper,agentsgearbox/google-play-reviews-scraper,agentsgearbox/substack-scraper,agentsgearbox/google-news-scraper,agentsgearbox/brand-name-generator,agentsgearbox/ai-readiness-audit,agentsgearbox/company-lookup,agentsgearbox/app-intelligence,agentsgearbox/app-store-reviews-scraper,agentsgearbox/company-jobs-scraper,agentsgearbox/apple-podcasts-scraper,agentsgearbox/remote-jobs-scraper
  • No Apify account? This actor is eligible for Apify's agentic payments: an agent can buy a spend-capped token through agi.apify.com (x402, MPP or Skyfire) and call the API directly.
  • Prices are per result and known in advance, so the agent can set a spending limit; error records come back as data instead of failed runs.

Limitations, stated plainly

  • Google Play exposes reviews per language, and hides some reviews entirely, so the total you can fetch is lower than the count shown on the store page.
  • newest order is Google's own and can be off by a few minutes; the checkpoint compares dates, so a review that arrives late with an older timestamp is skipped.
  • Reviewer names are what Google shows publicly; no e-mail or profile data is available.
  • The star filter is applied after Google returns the page, so a run can read more reviews than it charges; the summary record shows both counts.

Troubleshooting

SymptomCause and fix
error record "was not found"Wrong package name, or the app is not published in that country. Check the Play URL in a browser with &gl=<country>.
0 reviews with the checkpoint onNothing new since the last run; the summary shows stoppedBy: "checkpoint".
Fewer reviews than expectedOnly reviews written in language are returned. Run once per language.
Run stopped with PARTIALYour spending limit for the run was reached. Raise it or lower maxReviewsPerApp.

Track record

  • Published 13 October 2026 and tested every day since by an automated run on the Apify platform; every test run has succeeded. The Store's run statistics on this page reflect those runs with a delay of up to a day.
  • No browser, so a run cannot fail on Chrome crashes or memory limits, the usual failure mode in this category.
  • Every actor from this account is monitored daily, so a change on Google's side is normally fixed the same day.

More from agentsgearbox

  • Telegram Channel Scraper: public Telegram channels as JSON, no API key.
  • Substack Scraper: Substack posts with full text and comments, custom domains too.
  • Google News Scraper: Google News with real publisher URLs and full text.
  • Brand & Business Name Generator: brand names verified live on domains, handles and app stores.
  • AI Readiness Audit: how well AI search engines and agents can read a site: crawler access, llms.txt, structured data, content without JavaScript, scored with fixes.
  • Company Lookup: one row per domain with legal identity and VAT validation, contacts, socials, tech stack, open jobs, apps, news and Wikidata facts.
  • App Intelligence: App Store and Google Play in one run: search, top charts, full app details and each app's twin on the other store.
  • App Store Reviews Scraper · iOS + Google Play, Any Country: Reviews of any iOS or Android app from both stores in one run: stars, text, version, votes, developer replies, since-last-run checkpoint, rating trend per app..
  • Company Jobs Scraper: every open job on a company's careers page: nine applicant tracking systems, one schema, salaries where stated, hiring signals free.
  • Apple Podcasts Scraper: Apple Podcasts search, charts, episodes with audio links and listener reviews, any country.
  • Remote Jobs Scraper: remote jobs from six boards and the Hacker News hiring thread in one schema, deduplicated, only-new mode for alerts.

All of them are pay-per-event, run without a browser, and are compared with their alternatives on agentsgearbox.com.

Support

Open an issue on this actor's Issues tab, usually answered within a day, or email support@agentsgearbox.com. More actors and daily comparisons of scrapers for 200+ websites at agentsgearbox.com.

The actor reads public Google Play pages. Store and process reviewer data in line with Google's terms and privacy laws such as GDPR.