Google Play Reviews Scraper
Pricing
from $0.15 / 1,000 review results
Google Play Reviews Scraper
Scrape Google Play reviews by app URL, package ID, or search query. Extract review text, ratings, dates, app versions, developer replies, helpful votes, reviewer data, app metadata, countries, and review languages.
Pricing
from $0.15 / 1,000 review results
Rating
0.0
(0)
Developer
Blynx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
๐ฑ Google Play Reviews Scraper
Scrape Google Play reviews by package ID, Google Play URL, or search query. Collect review text, ratings, dates, app versions, helpful votes, developer replies, reviewer names, reviewer images, app icons, app metadata, countries, and review languages.
The Actor runs on requests and is built for app review monitoring, sentiment analysis, competitor tracking, support QA, localization research, and product feedback workflows.
โจ What You Can Collect
- ๐ Review text, rating, review ID, publish date, reviewer name, and reviewer image
- ๐ผ๏ธ App icon, app title, package ID, Google Play URL, version, genre, installs, score, ratings count, and reviews count
- ๐ Helpful vote count (
thumbsUpCount) - ๐ท๏ธ App version / review-created version when Google Play provides it
- ๐ฌ Developer reply text and reply date
- ๐ฃ๏ธ Detected review language (
detectedLanguage) with strict language filtering - ๐ Multiple countries and multiple review languages in the same run
- ๐ Apps discovered from Google Play search queries
๐งญ How It Works
flowchart LRA["Package IDs, app URLs, or search queries"] --> B["Discover Google Play app IDs"]B --> C["Fetch app metadata"]C --> D["Fetch review pages"]D --> E["Detect review text language"]E --> F["Apply language, rating, keyword, date, reply, and version filters"]F --> G["Save reviews, apps, errors, and summary datasets"]
๐ Quick Start
๐ฑ Scrape Reviews From One App
{"appIdsOrUrls": ["com.supercell.brawlstars"],"countries": ["us"],"reviewLanguages": ["en"],"maxReviewsPerApp": 100,"sort": "newest"}
๐ Scrape Reviews From a Google Play URL
{"appIdsOrUrls": ["https://play.google.com/store/apps/details?id=com.spotify.music"],"countries": ["us"],"reviewLanguages": ["en"],"maxReviewsPerApp": 50}
๐ Find Apps by Search Query
{"searchQueries": ["fitness app", "habit tracker"],"maxAppsPerSearch": 5,"countries": ["us"],"reviewLanguages": ["en"],"maxReviewsPerApp": 50}
๐ฃ๏ธ Scrape Several Review Languages
{"appIdsOrUrls": ["com.whatsapp"],"countries": ["us"],"reviewLanguages": ["en", "ru", "es", "de", "fr"],"customReviewLanguages": ["sv"],"strictReviewLanguage": true,"maxReviewsPerApp": 100}
โญ Monitor Negative Reviews
{"appIdsOrUrls": ["com.supercell.brawlstars"],"countries": ["us", "gb"],"reviewLanguages": ["en"],"ratings": ["1", "2"],"recentDays": 30,"maxReviewsPerApp": 200,"sort": "newest"}
๐ Find Reviews About Bugs or Subscriptions
{"appIdsOrUrls": ["com.spotify.music"],"countries": ["us"],"reviewLanguages": ["en"],"keywords": ["bug", "crash", "subscription", "payment"],"maxReviewsPerApp": 100}
๐งฉ Collect App Details Only
{"searchQueries": ["budget planner"],"maxAppsPerSearch": 10,"countries": ["us"],"reviewLanguages": ["en"],"maxReviewsPerApp": 0,"outputMode": "apps"}
โ๏ธ Input Schema
| Field | Type | Description |
|---|---|---|
appIdsOrUrls | array | Google Play package IDs or full app URLs. Use this for exact app targets. |
searchQueries | array | Google Play search terms used to discover app IDs before scraping reviews. |
maxAppsPerSearch | integer | Number of apps to take from each search query. |
countries | array | Google Play country codes such as us, gb, de, fr, br, jp. |
reviewLanguages | array | Review text languages to collect, such as en, ru, es, de, fr, pt-BR. |
customReviewLanguages | array | Extra Google Play language codes not shown in the dropdown. |
strictReviewLanguage | boolean | Detects review text language and skips reviews written in other languages. Enabled by default. |
maxReviewsPerApp | integer | Maximum matching reviews per app, country, and review language. Use 0 for app details only. |
sort | string | Review order: newest, relevant, or rating. |
ratings | array | Keep only selected star ratings. Leave empty for all ratings. |
keywords | array | Keep reviews containing at least one word or phrase. Case-insensitive. |
excludeKeywords | array | Skip reviews containing any listed word or phrase. Case-insensitive. |
dateFrom / dateTo | string | Keep reviews inside a date range. Format: YYYY-MM-DD. |
recentDays | integer | Keep only reviews from the last N days. Use 0 to disable. |
onlyWithDeveloperReply | boolean | Keep only reviews with a developer reply. |
onlyWithoutDeveloperReply | boolean | Keep only reviews without a developer reply. |
appVersions | array | Keep reviews from exact app versions. |
outputMode | string | Default dataset content: reviews, apps, or both. |
includeAppDetails | boolean | Adds app title, icon, score, installs, developer, genre, version, and URL. |
dedupe | boolean | Removes duplicate reviews across repeated app/country/language combinations. |
fetchPageSize | integer | Number of reviews requested per page before local filters are applied. |
maxPagesPerApp | integer | Pagination safety limit for strict filters. |
maxConcurrency | integer | Number of app/country/language jobs running in parallel. |
requestDelayMs | integer | Optional delay between review page requests. |
๐ฆ Output Schema
๐ Review Item
{"itemType": "review","reviewId": "fae2f69e-3186-4248-b322-01a24f56c1d1","appId": "com.supercell.brawlstars","appTitle": "Brawl Stars","appUrl": "https://play.google.com/store/apps/details?id=com.supercell.brawlstars&hl=en&gl=us","appIcon": "https://play-lh.googleusercontent.com/...","country": "US","language": "en","detectedLanguage": "en","rating": 5,"text": "Great game...","publishedAt": "2026-07-01T11:26:12+00:00","timestamp": 1782905172,"appVersion": "68.250","reviewCreatedVersion": "68.250","thumbsUpCount": 0,"developerReplyText": "Thanks for your feedback!","developerReplyDate": "2026-07-01T13:10:00+00:00","reviewerName": "Alex","reviewerImage": "https://play-lh.googleusercontent.com/...","position": 1,"crawledAt": "2026-07-02T09:00:00+00:00"}
๐ฑ App Item
{"itemType": "app","appId": "com.spotify.music","appTitle": "Spotify: Music and Podcasts","appUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us","appIcon": "https://play-lh.googleusercontent.com/...","developer": "Spotify AB","genre": "Music & Audio","score": 4.3,"ratingsCount": 32500000,"reviewsCount": 1200000,"installs": "1,000,000,000+","version": "Varies with device","country": "US","language": "en"}
๐๏ธ Datasets
flowchart TDA["Default dataset"] --> B["Reviews only"]A --> C["Apps only"]A --> D["Apps and reviews"]E["apps dataset"] --> F["App metadata"]G["errors dataset"] --> H["Invalid inputs or failed app/language jobs"]I["summary dataset"] --> J["Counters, filters, runtime, duplicates, empty locales"]
- ๐ Default dataset: controlled by
outputMode - ๐ฑ
apps: app-level metadata - โ ๏ธ
errors: invalid inputs or failed app/country/language jobs - ๐
summary: run counters, filters, runtime, duplicate count, and empty locale count
๐ก Notes
Google Play may return ratings without written text. This Actor saves written reviews returned by Google Play. Reviewer images are shown when Google Play provides them; sometimes Google returns a default profile image instead of a personal avatar.
Strict review language filtering is enabled by default. The Actor requests a Google Play locale and also checks the detected language of each review text before saving it.
๐ Feature Requests and Bug Reports
If you need a new field, filter, export format, language, country setup, or workflow, message me on Apify or open an issue on the Actor page.
If you find a bug, please include:
- ๐ฑ App package ID or Google Play URL
- ๐ Country and review language
- โ๏ธ Input settings
- ๐งพ Run ID
- โ What you expected to get
- โ What you received instead
I use this information to reproduce issues faster and ship fixes cleanly.