Google Play Store App Reviews Scraper
Pricing
from $0.97 / 1,000 reviews
Google Play Store App Reviews Scraper
Scrape Google Play Store app reviews by app ID or Play Store URL. Supports multiple apps, sorting, score filters, language/country, and maxItems.
Pricing
from $0.97 / 1,000 reviews
Rating
0.0
(0)
Developer
Farhan Ali
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Google Play Store App Reviews Scraper creates a structured dataset of app review records collected from play.google.com. Each dataset item can include the review rating, text, reviewer name and avatar, thumbs-up count, timestamp, app version, developer reply, and the source app ID. Query the source using app package IDs or app detail URLs, control the result limit with maxItems, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or XML.
Dataset at a glance
| Property | Value |
|---|---|
| Source | play.google.com |
| Record unit | One app review |
| Input methods | App package IDs or app detail URLs |
| Main identifiers | reviewId, url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, XML |
| Update model | Fresh records per Actor run |
| Pricing | Pay per event — $1 per 1,000 reviews |
Coverage and available records
- Supported inputs — Google Play package names (
com.spotify.music) or app detail page URLs (https://play.google.com/store/apps/details?id=...). - Multiple apps — Several
appIdscan be scraped in a single run. - Sorting —
sortorders reviews by newest, most relevant, or highest rating. - Rating filter —
filterScorerestricts results to a single star rating (1–5). - Storefront —
languageandcountryset the Play Storehlandglparameters for localized review feeds. - Developer replies —
replyContentandrepliedAtcapture the developer's response when present. - Not currently collected — App metadata (title, category, rating, install counts) and review author profiles.
Data dictionary
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
reviewId | string | No | Stable review identifier; best deduplication key | ea7487e4-0e14-4ec9-9027-cb967b3dcf5d |
userName | string | Yes | Reviewer display name | Alex Bruinekool |
userImage | string | Yes | Reviewer avatar URL | https://play-lh.googleusercontent.com/... |
score | number | Yes | Star rating (1–5) | 1 |
content | string | Yes | Review text | New widget on Android shows... |
thumbsUpCount | number | Yes | Thumbs-up count | 2 |
at | string | Yes | Review timestamp (ISO 8601) | 2026-07-30T09:06:32+00:00 |
appVersion | string | Yes | App version the reviewer used | 9.1.68.1888 |
replyContent | string | Yes | Developer reply text | Hi. We'd recommend restarting... |
repliedAt | string | Yes | Developer reply timestamp | 2026-07-30T15:32:03+00:00 |
appId | string | No | Google Play package name | com.spotify.music |
appUrl | string | No | App detail URL | https://play.google.com/store/apps/details?id=com.spotify.music |
reviewUrl | string | No | Direct review URL | https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=... |
url | string | No | Alias for reviewUrl | https://play.google.com/store/apps/details?id=...&reviewId=... |
Example dataset record
{"reviewId": "ea7487e4-0e14-4ec9-9027-cb967b3dcf5d","userName": "Alex Bruinekool","content": "New widget on Android shows a loading screen for about 1 min every time I want to click on it to open up spotify it won't open or load anything.","score": 1,"thumbsUpCount": 2,"at": "2026-07-30T09:06:32+00:00","replyContent": "Hi. We'd recommend restarting your device to see if that makes any difference.","repliedAt": "2026-07-30T15:32:03+00:00","appVersion": "9.1.68.1888","appId": "com.spotify.music","appUrl": "https://play.google.com/store/apps/details?id=com.spotify.music","reviewUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=ea7487e4-0e14-4ec9-9027-cb967b3dcf5d"}
This record was produced by scraping the app ID com.spotify.music.
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
appIds | array | No | — | Google Play package names | Apps to scrape reviews for |
startUrls | array | No | — | App detail page URLs | App IDs are extracted automatically |
maxItems | integer | No | 0 | 0 = unlimited | Max reviews across all apps |
sort | string | No | NEWEST | NEWEST, MOST_RELEVANT, RATING | Review ordering |
filterScore | integer | No | — | 1–5 | Only reviews with this rating |
language | string | No | en | Play Store hl code (en, es, de, fr, ...) | Review language |
country | string | No | us | Play Store gl code (us, gb, de, in, ...) | Storefront country |
proxyConfiguration | object | No | Residential | Apify proxy config | Residential proxy recommended |
Minimal request:
{ "appIds": ["com.spotify.music"] }
Advanced request:
{"appIds": ["com.spotify.music", "com.whatsapp"],"maxItems": 1000,"sort": "NEWEST","filterScore": 1,"language": "en","country": "us","proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Retrieve the data through the API
- Start the Actor with a JSON input via the Apify API or the Actor's API tab.
- Wait for the run to finish.
- Retrieve items from the run's default dataset.
- Paginate or export the dataset in JSON, CSV, Excel, or XML.
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("datascrapers/playstore-app-reviews").call(run_input={"appIds": ["com.spotify.music"], "maxItems": 500})items = client.dataset(run["defaultDatasetId"]).list_items().items
Data quality and record handling
- Completeness — Score, text, timestamp, and app ID are present on most reviews; developer replies are conditional.
- Deduplication — Use
reviewId(preferred) orurlas the stable external key. - Retries — Residential proxies are recommended for reliable access to the Play Store review feed.
- Normalization —
scoreandthumbsUpCountare numbers; timestamps are ISO 8601 with UTC offset. - Raw vs derived — All fields are taken directly from Google Play's review feed; no AI-generated or computed values are added.
Export and pipeline examples
| Destination | Recommended method | Typical use |
|---|---|---|
| PostgreSQL/Supabase | Dataset API or webhook consumer | Review archive keyed by reviewId |
| Google Sheets | Apify integration | Sentiment and rating dashboards |
| S3/cloud storage | Scheduled export or integration | Periodic app-feedback ingestion |
Pricing and cost examples
Billing is pay-per-event, tiered across Apify plans; the rate below is the free-plan rate.
| Event | Charged when | Free-plan rate |
|---|---|---|
dataset-item (Review) | A review is pushed to the dataset | $1 per 1,000 reviews |
A fixed one-time Actor Start charge of $0.00005 also applies to each run.
| Reviews | Estimated base cost |
|---|---|
| 1,000 | $1 |
| 10,000 | $10 |
Estimates depend on the pricing model and the options enabled.
Limitations and responsible data use
- Only publicly accessible Google Play review data is collected.
- Review availability depends on Google Play's review feed; older reviews may not be fully reachable.
- Developer replies and reviewer avatars are conditional and may be empty.
- No historical snapshots are stored unless you persist them yourself across scheduled runs.
- You are responsible for complying with Google Play's terms and applicable privacy and data laws.
Dataset questions
What does one dataset item represent?
One app review. Reviews are collected for every supplied appIds or startUrls entry.
Which field should I use as a unique identifier?
reviewId is the stable identifier; url is a fallback.
Are fields nullable or conditional?
Yes. replyContent and repliedAt are only present when the developer replied, and appVersion can be empty.
Can I retrieve the records as CSV or JSON?
Yes. The default dataset can be exported as JSON, CSV, Excel, or XML from the Apify Console or via the Dataset API.
How do I paginate large datasets?
The Actor paginates automatically up to maxItems. For very large exports, page through the dataset with the Dataset API offset and limit parameters.
What counts as a billable result?
Each review written to the dataset is one dataset-item event.
Related datasets from Data Scrapers
- TripAdvisor Reviews Scraper — hotel review datasets for sentiment analysis.
- Yelp Scraper — business listings and reviews across categories.
- Best Buy Product Scraper — product data for market and competitor analysis.
Data Scrapers support
Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.