App Store & Google Play Reviews Scraper
Pricing
from $0.15 / 1,000 review scrapeds
App Store & Google Play Reviews Scraper
Scrape App Store and Google Play reviews in one run. Unified schema, pagination, date filter, CSV/JSON export. $0.15 per 1,000 reviews.
Pricing
from $0.15 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
evanatlasx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Scrape public user reviews from the Apple App Store and Google Play in one run, with one unified output format. Built for app-review monitoring, competitor research, sentiment analysis and product feedback mining.
Why this scraper
- Real pagination on both stores. Google Play reviews are fetched page by page with continuation tokens, so you can collect thousands of reviews per app. On the App Store we combine the "most recent" and "most helpful" public feeds to go past the usual 500-review limit (up to ~1,000 per app and country).
- One schema for both stores. Every review has the same fields, so you can merge iOS and Android feedback without any post-processing.
- No duplicates. Reviews are deduplicated by store + review id.
- Date filter. Use
sinceDateto get only fresh reviews, perfect for daily or weekly monitoring. - Robust. Network errors are retried with exponential backoff, requests are rate-limited politely, and invalid apps are logged and skipped instead of failing the whole run.
- No login, no cookies, no API keys. Only public data is collected.
Input
| Field | Type | Default | Description |
|---|---|---|---|
store | both | appstore | googleplay | both | Which store(s) to scrape. |
apps | array of strings | – | App Store ids (310633997), Google Play package names (com.whatsapp), iOS bundle ids (with store: appstore) or store URLs. |
country | string | us | Two-letter storefront country code. |
language | string | en | Two-letter language code. |
maxReviews | integer | 500 | Maximum reviews per app. |
sort | newest | relevant | rating | newest | Fetch order. |
sinceDate | ISO date | – | Only return reviews posted on or after this date. |
How apps entries are routed:
https://apps.apple.com/us/app/whatsapp-messenger/id310633997→ App Store (country taken from the URL)https://play.google.com/store/apps/details?id=com.whatsapp&gl=us→ Google Play (country taken fromgl)310633997→ App Storecom.whatsapp→ Google Play (or an iOS bundle id lookup whenstoreisappstore)
Example input
{"store": "both","apps": ["310633997", "com.whatsapp", "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"],"country": "us","language": "en","maxReviews": 1000,"sort": "newest","sinceDate": "2025-01-01"}
Output
Each review is saved as one dataset item:
{"store": "googleplay","appId": "com.spotify.music","reviewId": "3501ac36-26ef-4534-93fd-40813dc76e4c","userName": "Mike T.","rating": 5,"title": null,"text": "The best music app you can use...","date": "2026-09-08T16:47:12.008Z","appVersion": "9.1.78.2218","developerReply": null,"developerReplyDate": null,"thumbsUp": 2,"country": "us","lang": "en","url": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=3501ac36-26ef-4534-93fd-40813dc76e4c"}
| Field | Notes |
|---|---|
store | appstore or googleplay |
appId | Numeric App Store id or Google Play package name |
reviewId | Store review id (unique per store) |
rating | 1–5 stars |
title | Review title (App Store only; null on Google Play) |
date | ISO 8601 timestamp |
appVersion | App version the review was written for, when available |
developerReply, developerReplyDate | Developer response (Google Play; not exposed by the public App Store feed) |
thumbsUp | Helpful votes |
url | Link to the review (Google Play) or the app's reviews page (App Store) |
A run summary (reviews per app, timing and any skipped apps with the reason) is stored in the default key-value store under RUN_SUMMARY.
Pricing
This Actor is prepared for pay-per-event pricing: you are charged per review saved to the dataset (review-scraped event). Runs that return no reviews are not charged.
Performance
Typical speed measured on popular apps (US storefront):
- Google Play: ~1,000 reviews in about 10 seconds
- App Store: ~1,000 reviews in 30–45 seconds
Limitations
- App Store volume: Apple's public review feed returns at most 500 reviews per sort order. This Actor merges two sort orders, giving up to about 1,000 unique reviews per app and country. For more, run the Actor for several countries.
- App Store
sinceDate: for very popular apps that get more than 500 reviews per month, older reviews in the date window may be out of reach. - App Store
sort: rating: Apple's feed has no rating order, so the Actor collects the available reviews and sorts them by rating itself. - App Store developer replies are not available in the public feed (
developerReplyis alwaysnull). - Google Play
language: Google Play returns reviews written in the requested language, so the same app can return different reviews for differentlanguagevalues. - Only publicly visible reviews are collected. Stores can change their public endpoints at any time.
FAQ
What happens with an invalid app id? The app is skipped, an error is logged with the reason (e.g. "App Store app 999999999999 was not found in storefront us"), and the remaining apps are still scraped. No empty records are saved.
Do I need an Apple or Google account? No. The Actor only uses public, unauthenticated pages and feeds.