Google Play Review Scraper [FAST] | Multi-App Ratings & Replies
Under maintenancePricing
from $0.10 / 1,000 reviews
Google Play Review Scraper [FAST] | Multi-App Ratings & Replies
Under maintenanceScrape Google Play reviews from up to 100 apps in one run. Get ratings, review text, helpful votes, and developer replies. Filter by stars, language, country, or date. Pay only for reviews delivered at $0.0001 per review ($0.10 per 1,000). Zero delivered reviews means zero review charges.
Pricing
from $0.10 / 1,000 reviews
Rating
0.0
(0)
Developer
Apizy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Play Reviews Scraper
Turn Google Play reviews into clean, structured data in seconds. Enter a Play Store URL or Android package ID to collect ratings, review text, dates, reviewer details, helpful votes, and developer replies. Scrape one app or compare up to 100 apps in one run, without a browser, Google account, or API key.
Use the results to spot recurring complaints, understand what customers like, compare competitors, and track feedback after a release. Each delivered review is one row in the Dataset, ready for spreadsheets, dashboards, and automation tools.
What does Google Play Reviews Scraper do?
The Actor collects public written reviews from Google Play. Each row can include:
- Rating, full review text, title when available, and review date
- Public reviewer name and avatar URL
- Helpful vote count and app version when available
- Developer reply and reply date when available
- App package ID, app URL, review URL, requested language and country, and scrape time
Choose newest reviews, highest-rated reviews, or Google's most helpful order. Narrow the results to a specific star rating, or use a date cutoff to collect recent feedback. The requested maximum is per app: two apps with maxReviews: 100 can produce up to 200 rows.
What can you use it for?
- Find bugs and feature requests in your own app's reviews.
- Compare customer feedback across competing Android apps to see what users like, dislike, and wish they had.
- Watch reactions after an app update or marketing campaign.
- Analyze one-star reviews to prioritize support, bug fixes, and product improvements.
- Spot unmet needs in competitors' reviews when researching your next app idea.
- Use real review excerpts to validate a vibe-coded MVP or give an AI coding assistant context for user stories and feature specs.
- Send review data to Make, n8n, Zapier, spreadsheets, or your own analysis pipeline.
How to use
- Open the Actor and enter your input.
- Enter one Play Store URL or package ID in App URL or package ID, or add up to 100 entries under Apps.
- Optionally choose the review language, store country, sort order, maximum reviews per app, star rating, or date cutoff.
- Click Run.
- Open the Dataset tab to preview or download review rows. Open Output for the run summary and per-app results.
You can enter com.whatsapp or https://play.google.com/store/apps/details?id=com.whatsapp. Use either app or apps in JSON input; do not provide both.
Input examples
One app: newest reviews
{"app": "com.whatsapp","maxReviews": 100,"sortBy": "newest"}
Compare multiple apps
{"apps": ["com.whatsapp","https://play.google.com/store/apps/details?id=org.videolan.vlc"],"language": "en","country": "us","maxReviews": 100}
This requests up to 100 reviews for each app, or 200 rows total. Duplicate package IDs or URLs for the same app are processed once.
Recent one-star reviews
{"app": "com.whatsapp","sortBy": "newest","starRating": 1,"sinceDate": "2026-10-01","maxReviews": 500}
This requests written one-star reviews dated October 1, 2026 or later. sinceDate includes the entire date from midnight UTC and requires sortBy: "newest". If fewer than 500 matching reviews are available, the Actor returns only those it finds.
Input fields
| Field | Type | Default | Description |
|---|---|---|---|
app | string | None | One Play Store app URL or Android package ID. Required when apps is omitted. |
apps | array of strings | None | 1–100 Play Store URLs or package IDs. Required when app is omitted. |
language | string | "en" | Language requested from Google Play, such as "en", "id", or "pt-BR". Does not translate text. |
country | string | "us" | Two-letter Play Store country code, such as "us" or "id". Does not guarantee reviewer location. |
sortBy | string | "newest" | "newest", "rating" (highest first), or "helpful" (Google's helpfulness order). |
maxReviews | integer | 100 | Maximum review rows per app, from 1 to 10,000. |
starRating | integer | None | Filter to reviews with a rating from 1 to 5 stars. Omit for all ratings. |
sinceDate | string | None | Inclusive UTC cutoff in YYYY-MM-DD format. Only works with sortBy: "newest". |
Choose a review workflow
| Goal | Input to use | Result |
|---|---|---|
| Read recent feedback | sortBy: "newest" | Newest written reviews first |
| Investigate low ratings | starRating: 1 or 2 | Reviews with that exact star rating |
| Check feedback since a release | sortBy: "newest" + sinceDate | Reviews on or after the selected UTC date |
| Find praise | sortBy: "rating" | Highest-rated reviews first |
| See prominent feedback | sortBy: "helpful" | Google's most helpful order |
| Compare apps | apps: [...] | One Dataset with an appId on every review |
These are input combinations, not a separate mode field. sinceDate filters the current run; the Actor does not remember reviews from previous runs.
Output
Every review is saved as one item in the default Dataset. The run summary is saved separately in the default Key-Value Store as OUTPUT. The summary does not contain the review rows.
Example Dataset item (illustrative values):
{"reviewId": "2783d30a-5541-44f4-99db-64ea1fc3b42d","appId": "com.whatsapp","appUrl": "https://play.google.com/store/apps/details?id=com.whatsapp","reviewUrl": "https://play.google.com/store/apps/details?id=com.whatsapp&reviewId=2783d30a-5541-44f4-99db-64ea1fc3b42d","rating": 4,"title": null,"text": "Easy to use, but I would like more notification controls.","date": "2026-10-13T04:38:58.853Z","reviewerName": "A Google user","reviewerAvatarUrl": null,"thumbsUp": 3,"appVersion": "2.26.39.79","developerReplyText": null,"developerReplyDate": null,"language": "en","country": "us","scrapedAt": "2026-10-14T04:51:42.645Z"}
| Dataset field | Description |
|---|---|
reviewId | Google Play review ID |
appId, appUrl, reviewUrl | App identity and links back to Google Play |
rating, title, text | Star rating and review content |
date | Review timestamp returned by Google Play; edits may change it |
reviewerName, reviewerAvatarUrl | Public reviewer details |
thumbsUp | Helpful vote count, when available |
appVersion | App version associated with the review, when available |
developerReplyText, developerReplyDate | Developer response, when available |
language, country | Requested review language and store country |
scrapedAt | Timestamp when the Actor saved the review |
Optional values are null when Google Play does not provide them.
Example OUTPUT summary for a two-app run:
{"summary": {"appId": null,"appUrl": null,"appIds": ["com.whatsapp", "org.videolan.vlc"],"language": "en","country": "us","sortBy": "newest","maxReviews": 5,"starRating": null,"sinceDate": null,"successCount": 10,"chargedCount": 10,"failedCount": 0,"skippedCount": 0,"duplicateCount": 0,"pagesFetched": 2,"stopReason": "completed","apps": [{"appId": "com.whatsapp","appUrl": "https://play.google.com/store/apps/details?id=com.whatsapp","status": "succeeded","successCount": 5,"duplicateCount": 0,"pagesFetched": 1,"stopReason": "max_reviews","error": null},{"appId": "org.videolan.vlc","appUrl": "https://play.google.com/store/apps/details?id=org.videolan.vlc","status": "succeeded","successCount": 5,"duplicateCount": 0,"pagesFetched": 1,"stopReason": "max_reviews","error": null}],"startedAt": "2026-10-14T11:01:26.007Z","finishedAt": "2026-10-14T11:01:27.138Z","totalDurationSeconds": 1}}
successCount is the number of review rows saved. failedCount counts apps, not reviews. chargedCount counts review events charged for delivered rows. For a single app, summary.appId and summary.appUrl contain that app instead of null.
| Stop reason | Meaning |
|---|---|
max_reviews | The requested limit was reached for an app; it does not mean the app has no more reviews. |
since_date | The next review was older than the requested date. |
source_exhausted | Google Play returned no further review page. |
no_reviews | No written reviews were returned for that app and filters. |
completed | All apps in a multi-app run finished. |
partial_failure | At least one app failed; results from other apps were kept. |
all_failed | Every app failed; the run is marked failed and still writes a summary. |
spending_limit | The run reached its Pay Per Event charge limit; later apps may be skipped. |
Pricing
Pay $0.0001 per review delivered to the Dataset ($0.10 per 1,000 reviews). Review charges apply only to successfully saved rows. Failed or empty results have no review charge; if a run ends after delivering some reviews, only those delivered reviews count.
| Delivered reviews | Review charges |
|---|---|
| 0 | $0 |
| 100 | $0.01 |
| 1,000 | $0.10 |
| 10,000 | $1.00 |
The table shows review charges only. Check the Pricing tab for the complete current price before running the Actor.
Notes
- Google Play chooses which written reviews are available for the requested language and country. The returned text is not translated, and individual reviews may use another language.
- Star-only ratings without written review text are not available as review rows. A Play Store rating count can therefore be much larger than the number of reviews returned.
countrychooses a storefront, not the reviewer's confirmed location.sinceDatefilters reviews before saving them and stops paging when it reaches an older review in newest-first order. Google Play controls its review ordering and may change it.- Apps in a batch are processed sequentially. If one app cannot be fetched, the Actor continues with the others;
OUTPUT.summary.appsrecords each result. - For a large batch, choose a run timeout long enough for all apps and review pages to finish.
More Actors You Might Like
Built by the same Apizy team and backed by our transparent pricing philosophy: no hidden result charges, no wasted review credits, and no review charge for failed or empty results.
| Actor | What it helps you collect |
|---|---|
| YouTube Comment Scraper | Comments, authors, likes, and replies from YouTube videos |
| YouTube Channel Scraper V2 | Subscribers, engagement, email, and social links from channels |
| YouTube Video Scraper | Video titles, views, durations, thumbnails, and publish dates |
| YouTube Transcript Scraper | Video transcripts with optional timestamps |
Get in Touch
Have a question or need a custom scraping workflow? Email apizy.studio@gmail.com.