Google Play Store Reviews Scraper
Pricing
from $0.20 / 1,000 results
Google Play Store Reviews Scraper
[๐ฐ $0.2 / 1K] Extract reviews from any app on Google Play โ reviewer, rating, text, date, helpful votes, app version, device, and developer replies. Accepts app package names or full Play Store URLs.
Pricing
from $0.20 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
71
Total users
23
Monthly active users
16 days ago
Last modified
Categories
Share
Pull user reviews from any Android app on the Google Play Store at scale โ reviewer names, 1-to-5 star ratings, full review text, publish dates, helpful votes, app versions, device types, and developer replies, plus app metadata (title, publisher, overall rating, install bucket, icon) attached to every row. Built for app product managers, ASO agencies, and customer-insight teams who need fresh Play Store reviews without writing a batchexecute parser or scrubbing chunked RPC responses by hand.
Why This Scraper?
- 24 typed fields per review โ every row carries the review (id, rating, text, helpful votes, language, app version, device) plus 8 app-metadata fields (title, publisher, overall rating, total review count, install bucket like
500M+, icon URL, package name, canonical URL) so you can group and filter without a second lookup. - Developer replies on every row โ
ownerReplyTextandownerReplyAtare extracted whenever the developer responded, letting you measure reply rate, reply latency, and reply-text sentiment in a single dataset. - 4 sort modes including Highest and Lowest Rating First โ Google's RPC only ships 3 sort modes; the actor synthesizes "Highest" and "Lowest" by fanning out across the 5 star buckets so you get clean stratified coverage instead of relevance-biased samples.
- 5-star multi-select rating filter โ pull only 1โ and 2โ reviews for support triage, only 5โ for testimonial mining, or any combination โ each rating is fetched in its own pass so the cap applies per bucket.
- 55 country codes and 30 interface languages โ get region-specific reviews from Brazil to Vietnam, with Google Play's locale-resolved review text in
language=de,language=ja,language=zh-CN, and 27 more. - Date-window early stop โ pair "Newest First" with
recentDaysorreviewsStartDateand the run halts the moment a review older than the window appears, so a "last 7 days" sweep across 100 apps costs a fraction of a full export. - Phone, Tablet, and Chromebook isolation โ Google Play exposes three device review buckets; pick one and only that device's reviewers come back, perfect for diagnosing tablet-only rendering bugs or Chromebook keyboard complaints.
- Pastes both
com.spotify.musicand fullplay.google.com/store/apps/details?id=...URLs in the same input list, with invalid package names skipped (warned, never fatal) so one bad entry doesn't kill a 500-app batch. - Drop-in pairing with the Google Play Apps Scraper โ both actors use the identical
appIdcolumn, so you can chain "Top 100 Free Finance apps" โ 500 reviews each into one pipeline with zero data transformation.
Use Cases
Product & App Development
- Track sentiment and recurring complaints across app versions
- Catch crash and login regressions in the first 24 hours after a release
- Compare user reactions across competing apps in your category
- Build in-house dashboards for review trends and rating drops
Market Research & Competitive Intelligence
- Benchmark your app against direct competitors on rating, review volume, and reply rate
- Surface feature requests and pain points hiding in 1โ and 2โ reviews
- Map review sentiment across countries to guide localization priorities
- Spot competitors' weak spots from their lowest-rated reviews
Marketing, ASO & Agencies
- Mine 5โ reviews for testimonials and store-listing copy
- Identify which app versions drove rating spikes or drops
- Audit client apps for unanswered negative reviews ripe for a reply strategy
- Pull multilingual reviews to inform international ad creative
Customer Support & Community
- Alert on new negative reviews containing keywords like
crash,bug,refund,login - Build a reply workflow by feeding unreplied low-rated reviews into your ticketing tool
- Measure developer reply rates and reply latency over time
Data Science & Research
- Train sentiment and topic models on multilingual review corpora
- Study review dynamics across categories, countries, and app sizes
- Correlate app-version release dates with rating shifts
Getting Started
Simple โ One App, Latest Reviews
{"appIdsOrUrls": ["com.supercell.brawlstars"],"maxReviewsPerApp": 500,"sortBy": "newest"}
Multiple Apps at Once
Mix package names and full URLs in the same list:
{"appIdsOrUrls": ["com.spotify.music","com.whatsapp","https://play.google.com/store/apps/details?id=com.instagram.android"],"maxReviewsPerApp": 1000,"sortBy": "newest"}
Only 1โ and 2โ Reviews With Keywords
Perfect for support teams hunting for specific issues:
{"appIdsOrUrls": ["com.asana.app"],"maxReviewsPerApp": 500,"sortBy": "newest","ratings": ["1", "2"],"keywords": ["crash", "bug", "refund", "login"]}
Recent Reviews Only (Last 7 Days)
Combine with "Newest First" for the fastest, cheapest fresh-reviews run โ collection stops automatically once reviews fall outside the window:
{"appIdsOrUrls": ["com.duolingo"],"maxReviewsPerApp": 2000,"sortBy": "newest","recentDays": 7}
Localized Reviews โ Germany, German Language
{"appIdsOrUrls": ["com.spotify.music"],"maxReviewsPerApp": 500,"sortBy": "newest","language": "de","countryCode": "DE"}
Tablet-Only Reviews for a Specific App Version
{"appIdsOrUrls": ["com.supercell.brawlstars"],"maxReviewsPerApp": 1000,"sortBy": "highest","deviceType": "tablet","appVersions": ["65.165", "64.226"]}
Input Reference
Apps
| Parameter | Type | Default | Description |
|---|---|---|---|
appIdsOrUrls | string[] | [] | App package names (e.g. com.supercell.brawlstars) or full Google Play URLs. Mix and match in the same list. |
Collection Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxReviewsPerApp | integer | 1000 | Maximum reviews per app. Set to 0 for all available. |
sortBy | string | "mostRelevant" | mostRelevant, newest, highest (highest rating first), or lowest (lowest rating first). |
deviceType | string | "phone" | Restrict to one device bucket: phone, tablet, or chromebook. |
language | string | "en" | Interface and review-text language. 30 options including English, German, French, Spanish, Japanese, Simplified and Traditional Chinese, Arabic, Hindi, Portuguese, Russian. |
countryCode | string | "US" | Country used to resolve region-specific reviews. 55 options across the Americas, Europe, Asia-Pacific, and MENA. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
ratings | string[] | [] | Star ratings to keep ("1" through "5", multi-select). Empty = all ratings. Each rating runs as its own pass so the cap applies per bucket. |
keywords | string[] | [] | Only keep reviews whose text contains any of these words or phrases (case-insensitive). |
reviewsStartDate | string | โ | Only reviews posted on or after this date. Format: YYYY-MM-DD. With sortBy: "newest", the run halts as soon as older reviews are reached. |
reviewsEndDate | string | โ | Only reviews posted on or before this date. Format: YYYY-MM-DD. |
recentDays | integer | 0 | Only reviews from the last N days. Overrides reviewsStartDate when greater than 0. |
appVersions | string[] | [] | Only keep reviews reported from these app versions (e.g. ["65.165", "64.226"]). |
uniqueOnly | boolean | true | Drop duplicate reviews matched by review ID across the run. |
Output
Each row is one review with the parent app's metadata attached. Example:
{"reviewId": "a2c4e8f0-1234-5678-90ab-cdef12345678","appId": "com.supercell.brawlstars","appTitle": "Brawl Stars","appUrl": "https://play.google.com/store/apps/details?id=com.supercell.brawlstars","developer": "Supercell","appOverallRating": 4.2,"appReviewCount": 25666604,"appInstalls": "500M+","appIconUrl": "https://play-lh.googleusercontent.com/...","reviewerName": "Jane D.","reviewerAvatarUrl": "https://play-lh.googleusercontent.com/a/...","rating": 5,"reviewText": "Great game, lots of fun with friends. The new brawler is amazing!","publishedAt": "2026-04-18T14:22:31Z","timestamp": 1776261751,"language": "en","helpfulCount": 42,"appVersion": "65.165","deviceType": "phone","ownerReplyText": "Thanks for the love! Glad you're enjoying the new brawler.","ownerReplyAt": "2026-04-19T09:11:02Z","position": 1,"scrapedAt": "2026-04-20T16:04:12Z"}
App Metadata (attached to every review row)
| Field | Type | Description |
|---|---|---|
appId | string | App package name (e.g. com.supercell.brawlstars) |
appTitle | string | Human-readable app title |
appUrl | string | Canonical Google Play URL |
developer | string | App publisher / developer name |
appOverallRating | number | Current overall star rating of the app (1.0โ5.0) |
appReviewCount | number | Total number of reviews the app has on Google Play |
appInstalls | string | Install count label (e.g. 500M+, 10B+) |
appIconUrl | string | URL of the app's icon |
Review Fields
| Field | Type | Description |
|---|---|---|
reviewId | string | Unique review identifier |
reviewerName | string | Display name of the reviewer |
reviewerAvatarUrl | string | URL of the reviewer's profile image |
rating | integer | Star rating, 1โ5 |
reviewText | string | Full review body text |
publishedAt | string | Review publish date (ISO 8601, UTC) |
timestamp | integer | Unix epoch seconds for the review |
language | string | Language code used for the review |
helpfulCount | integer | Number of "helpful" votes the review received |
appVersion | string | App version the reviewer was using (occasionally empty for very old versions) |
deviceType | string | Device bucket of the reviewer: phone, tablet, or chromebook |
ownerReplyText | string | Developer's reply text (present only when the developer responded) |
ownerReplyAt | string | Developer's reply date (ISO 8601, UTC) |
position | integer | 1-indexed order within this app's collection |
scrapedAt | string | ISO 8601 timestamp of when the row was collected |
Tips for Best Results
- "Most Relevant" is capped at ~50โ150 reviews per app โ Google's UI hard-caps it. For deep scans (anything over ~150) switch to
sortBy: "newest"or use "Highest"/"Lowest" rating fan-out. - Pair "Newest First" with
recentDaysorreviewsStartDatefor free early-stop savings. Collection halts the instant a review older than the window appears, so a daily monitoring run on 100 apps stays cheap. keywords,appVersions, andreviewsEndDateare post-collection filters. Final row count may be belowmaxReviewsPerAppwhen few reviews match โ widen the cap or relax the filter to get more.- Match
languagetocountryCode. Google Play returns region-specific reviews, socountryCode: "DE"+language: "de"is a very different dataset thancountryCode: "US"+language: "en". Mismatches silently return generic results. - Use "Highest Rating First" to mine testimonials, "Lowest Rating First" to triage support. Both fan out across the 5 star buckets in predictable order โ within each rating bucket, reviews come back newest-first.
- Chain with the Google Play Apps Scraper โ discover apps by Top Charts, search, or developer catalog there, then paste the resulting
appIdcolumn directly intoappIdsOrUrlshere. No transformation needed. - Batch many apps in one run. Invalid package names are skipped with a warning, so one bad
appIdin a 500-app list won't kill the run.
Pricing
$0.40 per 1,000 reviews โ pay only for reviews delivered to your dataset.
| Reviews | Estimated Cost |
|---|---|
| 100 | $0.04 |
| 1,000 | $0.40 |
| 10,000 | $4.00 |
| 100,000 | $40.00 |
A "result" is any review row in the output dataset. Platform fees (compute, storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation and alerts on new reviews
- Google Sheets โ Direct spreadsheet export for review dashboards
- Slack / Email โ Notifications when new low-rated reviews appear
- Webhooks โ Trigger your own backend when a run completes
- Apify API โ Full programmatic access for pipelines and data warehouses
Legal & Ethical Use
This actor is designed for legitimate product research, market intelligence, and customer insight. Users are responsible for complying with applicable laws, Google's Terms of Service, and any privacy regulations that apply to their region. Review text and reviewer names are public data on Google Play โ do not use the collected data for spam, harassment, targeted advertising to individual reviewers, or any unlawful purpose.