Google Play Reviews Scraper — Play Store Reviews & Ratings avatar

Google Play Reviews Scraper — Play Store Reviews & Ratings

Pricing

from $4.00 / 1,000 review scrapeds

Go to Apify Store
Google Play Reviews Scraper — Play Store Reviews & Ratings

Google Play Reviews Scraper — Play Store Reviews & Ratings

Export Google Play reviews by app ID or URL: rating, text, date, app version, thumbs-up, developer reply. Google Play scraper for ASO teams. $5 per 1,000.

Pricing

from $4.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Features

Limited permissions

Share

Google Play Reviews Scraper exports Google Play Store app reviews as JSON: star rating, review text, review date, app version, thumbs-up count, developer reply, reviewer name, and the app's title, developer, average score, and install range. It is built for app developers, product and ASO teams, market researchers, and AI sentiment pipelines, and costs about USD 5 per 1,000 reviews on the Apify FREE tier (USD 4 per 1,000 on GOLD and above).

Give it Google Play package names (such as com.spotify.music) or app URLs, pick a country, language, and sort order, and set how many reviews you want per app. Each review comes back as one record through the Apify API, MCP, or a dataset export (JSON, CSV, Excel).

What does the Google Play Reviews Scraper return?

Each review is one record with 23 fields. Fields Google Play does not return for a review are null.

FieldWhat it contains
rating, ratingTextStar rating 1–5 (number and text)
reviewTextFull review text
reviewDateWhen the review was posted, ISO 8601
appVersionApp version the reviewer used, when reported
thumbsUpCountHow many users marked the review helpful
developerReplyText, developerReplyDateThe developer's public reply and its date
reviewerName, reviewerImageUrlPublic display name and avatar
reviewId, reviewUrlReview ID and a direct link to it
reviewTitleReview title, rarely used on Google Play
appId, appUrlPackage name and Play Store URL for your country and language
appTitle, appDeveloper, appScore, appInstallsApp name, developer, average rating, and install range (with includeAppDetails)
country, language, sort, scrapedAtRun settings and collection time

In the 2026-10-26 default run of 20 Spotify reviews, 16 had an app version and 2 had a developer reply.

How do I export Google Play reviews for an app?

List package names in appIds, or paste Play Store URLs into appUrls, and set maxReviews.

{
"appIds": ["com.spotify.music", "com.duolingo"],
"maxReviews": 500,
"country": "us",
"language": "en",
"sort": "newest"
}
  • Apps: the package name is the id= value in a Play Store URL, for example https://play.google.com/store/apps/details?id=com.duolingo. Invalid entries are skipped and listed in the run's SUMMARY.
  • maxReviews: 1 to 5,000 reviews per app (default 20). With three apps and maxReviews: 500 you get up to 1,500 reviews.
  • country and language: two-letter codes such as gb and en, or de and de. An invalid code falls back to us or en.
  • sort: newest for monitoring, helpfulness for high-signal reviews, or rating.
  • includeDeveloperReplies and includeAppDetails: both on by default; turn them off for smaller records.
  • pageDelayMs: pause between review pages, 0 to 5,000 ms (default 300).

Call it from code

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/google-play-reviews-scraper').call({
appIds: ['com.spotify.music'],
maxReviews: 200,
sort: 'newest',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((r) => `${r.rating}★ ${r.appVersion ?? '?'}: ${r.reviewText}`));
from apify_client import ApifyClient
client = ApifyClient("MY_APIFY_TOKEN")
run = client.actor("muhammadafzal/google-play-reviews-scraper").call(run_input={
"appUrls": ["https://play.google.com/store/apps/details?id=com.duolingo"],
"maxReviews": 300,
"country": "gb",
"minRating": 1,
"maxRating": 2,
})
complaints = client.dataset(run.default_dataset_id).list_items().items

Can I get only negative (1–2 star) reviews?

Yes. Set minRating: 1 and maxRating: 2. The filter runs after reviews are fetched, so the Actor keeps reading pages until it has maxReviews matching reviews or Google Play has no more. Reviews outside the range are counted as skippedReviews in SUMMARY and are not billed.

Is there an official Google Play reviews API?

Google's Play Developer API returns reviews only for apps in your own developer account, and only recent ones. This Actor reads the public reviews of any app, including competitors, and returns them as JSON from a hosted run.

Use it from an AI assistant

Google Play Reviews Scraper works from Claude, ChatGPT, Cursor, or any MCP client through Apify's MCP server. Add https://mcp.apify.com/?tools=muhammadafzal/google-play-reviews-scraper as a server and ask in plain language, for example: "Pull the 300 newest 1- and 2-star Google Play reviews for com.duolingo in the UK and group the complaints by theme and app version." The assistant sees the input fields and the price per review before it runs the tool.

What does the output look like?

Two records from the default run on 2026-10-26 (reviewer names replaced):

[
{
"appId": "com.spotify.music",
"appUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=US",
"appTitle": "Spotify: Music and Podcasts",
"appDeveloper": "Spotify AB",
"appScore": 4.3491583,
"appInstalls": "1,000,000,000+",
"reviewId": "9dfa7d86-2e6b-435c-a540-3a660d8b974a",
"reviewerName": "Example User",
"reviewerImageUrl": "https://play-lh.googleusercontent.com/a/...",
"rating": 4,
"ratingText": "4",
"reviewTitle": null,
"reviewText": "good app",
"reviewDate": "2026-10-25T07:20:52.343Z",
"appVersion": "9.1.90.2270",
"thumbsUpCount": 0,
"reviewUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=9dfa7d86-2e6b-435c-a540-3a660d8b974a",
"developerReplyText": null,
"developerReplyDate": null,
"country": "us",
"language": "en",
"sort": "newest",
"scrapedAt": "2026-10-26T07:23:16.196Z"
},
{
"appId": "com.spotify.music",
"reviewerName": "Another User",
"rating": 5,
"reviewText": "I really love Spotify because it offers a wide variety of music for both online and offline listening...",
"reviewDate": "2026-10-25T07:19:39.261Z",
"appVersion": null,
"thumbsUpCount": 0
}
]

Each run also writes SUMMARY (and the same object as OUTPUT) to the key-value store: apps, reviews delivered, skipped reviews, settings, and warnings.

Pricing: how much do 1,000 Google Play reviews cost?

You pay per review delivered plus a start fee. Platform usage is included in these prices.

EventFREEBRONZESILVERGOLDPLATINUMDIAMOND
Review scraped (each review)$0.005001$0.004875$0.00475$0.004$0.004$0.004
Actor start, per started GB of allocated memory$0.006251$0.006094$0.005938$0.005$0.005$0.005

The default run uses 512 MB of memory, so it pays one start event. Worked totals:

  • The default 20 reviews on FREE: $0.006251 + 20 × $0.005001 = $0.1063.
  • 5,000 reviews of one app on GOLD: $0.005 + 5,000 × $0.004 = $20.005.

Set maxReviews and Apify's maximum total charge per run to bound spend. When the maximum charge is reached, the Actor saves only the reviews it can bill and stops.

When should I use it, and when not?

Use it when you need:

  • release monitoring: the newest reviews after each app update, by version;
  • competitor and ASO research across several Android apps and countries;
  • complaint mining and sentiment analysis with ratings, thumbs-up counts, and developer replies;
  • review text for an AI classifier, dashboard, or support triage queue.

Use something else when you need:

  • Apple App Store reviews: Apple App Store Review Intelligence;
  • iPad app listings: iPad App Store Scraper;
  • full Play Store listings, permissions, or search results: this Actor returns reviews plus four app-level fields only;
  • reviews filtered by date: sort by newest and stop at the date you need in your own code.

Limits and reliability

  • Up to 5,000 reviews per app per run, read in pages of up to 150.
  • The default 20-review run took about 3 seconds on 2026-10-26. The default timeout is 300 seconds; for many apps at high caps the Actor stops cleanly about 30 seconds before the timeout, keeps the reviews already saved and records the stop reason in SUMMARY, so raise the timeout for bigger jobs.
  • Reviews are deduplicated by review ID within each app.
  • If a review page fails, the Actor keeps the reviews already collected, records a warning, and moves to the next app. A run in which no review page could be read ends as failed and bills no reviews.

FAQ

How many Google Play reviews can I scrape?

Up to 5,000 per app in one run, across as many apps as you list. Google Play only serves the reviews it shows publicly, so smaller apps may return fewer.

Can I scrape reviews from a specific country or language?

Yes. Set country (for example gb, de, in) and language (for example en, de, hi). Google Play returns the reviews it shows in that market.

Does it need a Google account or API key?

No. It reads public review data and handles data access itself. No login, cookies, or Google API key.

Why are some fields null?

Google Play does not return every field for every review. Titles are rarely used, app versions are sometimes missing, and most reviews have no developer reply.

Can I filter reviews by date?

Not directly. Use sort: "newest" and filter on reviewDate downstream, or schedule regular runs with a modest maxReviews.

Does it work for Apple App Store apps?

No. Use Apple App Store Review Intelligence for iOS apps.

Can an AI agent run it by itself?

Yes. Through Apify's MCP server an agent reads the input schema and the price per review, runs the Actor, and receives the dataset. Keep maxReviews modest for autonomous runs.

Compliance note

The Actor reads public reviews only. Reviewer names and avatars are personal data: keep only what your analysis needs, follow the privacy law that applies to you, and respect Google Play's terms when you reuse review text.

Last verified: 2026-10-27