App Reviews Scraper (App Store + Google Play)
Pricing
from $0.10 / 1,000 results
App Reviews Scraper (App Store + Google Play)
Reviews from the Apple App Store and Google Play in one run: rating, title, text, app version, helpful votes and developer replies. Paste app URLs, ids or package names. Bounded retries on fresh sessions; failed apps are never charged.
Pricing
from $0.10 / 1,000 results
Rating
0.0
(0)
Developer
signal clear
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Security
Limited permissionsShare
Get user reviews from the Apple App Store and Google Play in one run. Paste app URLs, App Store ids or Play package names and get back every review as clean JSON: star rating, title, text, app version, date, helpful votes and the developer's reply.
You only pay for apps that succeed. Each app gets at most 3 attempts, each on a fresh proxy session that resumes where the last one stopped. An app that still fails is listed in the FAILED_APPS record and none of its reviews are saved or charged. Runs are bounded: every request has a timeout and every app has a review cap, so a run never hangs until the platform timeout.
What you can use it for
- Product and UX research: read what users say about your app, or a competitor's, right after each release.
- Release monitoring: schedule a daily run sorted by most recent and catch a bad update from the 1-star spike.
- Competitor benchmarking: the same fields for iOS and Android, so both stores fit in one spreadsheet or dashboard.
- Support and reply tracking: see which reviews got a developer reply and how fast.
- Sentiment analysis and AI agents: a flat, predictable JSON row per review, ready for an LLM or a BI tool.
How to use it
- Add one or more apps. Any of these work, and you can mix stores in one list:
https://apps.apple.com/us/app/whatsapp-messenger/id310633997310633997orid310633997https://play.google.com/store/apps/details?id=com.whatsappcom.whatsapp
- Pick a country (App Store storefront, e.g.
us,gb,de) and a language (Google Play review language, e.g.en,de). - Choose sort (most recent or most helpful), the maximum reviews per app and, optionally, a minimum star rating.
- Turn on Also fetch app metadata if you want the developer, category, average rating and rating count on every row.
- Click Start.
Example input
{"apps": ["310633997", "com.whatsapp"],"country": "us","language": "en","sort": "newest","maxReviewsPerApp": 200,"minRating": 1,"includeAppMetadata": false}
Output
One row per review:
{"store": "googlePlay","appId": "com.ubercab","appTitle": "Uber: Rides, eats, hotels","reviewId": "9d243b45-6ac7-45b1-b63f-3e75e393fccc","author": "Sample User","rating": 2,"title": null,"text": "Driver cancelled twice and support never answered.","version": "4.654.10002","reviewedAt": "2026-10-27T03:57:45+00:00","helpfulCount": 14,"voteCount": null,"developerReply": {"text": "We're sorry to hear this. Please reach out through the Help section in the app.","repliedAt": "2026-10-27T09:12:03+00:00"},"country": "us","language": "en","url": "https://play.google.com/store/apps/details?id=com.ubercab&hl=en&gl=us&reviewId=9d243b45-6ac7-45b1-b63f-3e75e393fccc","source": "batchexecute","input": "com.ubercab","scrapedAt": "2026-10-28T04:01:29+00:00"}
| Field | App Store | Google Play |
|---|---|---|
title | yes | always null (Play reviews have no title) |
version | RSS source only | yes |
helpfulCount | RSS source only (Apple's helpful vote sum) | yes (thumbs-up count) |
voteCount | RSS source only (total votes) | null |
developerReply | web API source only | yes |
url | the app's review page | a link to the single review |
source tells you where a row came from: rss or amp (App Store) or batchexecute (Google Play). With Also fetch app metadata on, each row also has an appInfo object.
Apps that failed are listed in the key-value store record FAILED_APPS with the reason, for example not found (no App Store app 9999999999 in storefront "us").
How the App Store source is chosen
Apple offers two public review sources, and they return different fields:
- RSS feed: newest first only, 50 reviews a page, and Apple stops at page 10 (500 reviews). Includes app version and vote counts. No developer replies.
- App Store web API: the endpoint the App Store website uses. Pages deeper than 500, supports most helpful, and includes developer replies. No app version or vote counts.
With App Store review source on Auto, the scraper uses RSS when you ask for 500 or fewer newest reviews without a rating filter, and the web API otherwise. You can force either one in the advanced settings.
Pricing
You pay per result: one result per review saved. Apps that fail are never pushed to the dataset, so they cost nothing, and a run where every app fails exits with an error and charges nothing. See the Pricing tab for current rates.
Limitations
- Apple RSS cap: the RSS feed stops at 500 reviews and has no "most helpful" sort (Apple returns an empty feed for it). Use the web API source for more.
- App Store reviews are per country. An app with few reviews in one storefront can have thousands in another. An app that isn't sold in the chosen storefront is reported as not found.
- Google Play reviews are per language, not per country. Set language to the language the reviews are written in.
- Google Play "most helpful" is Play's own most relevant order.
- Rating filter: filtering happens after fetching, and each app scans at most 10x your maximum (at least 500 reviews). For a rare rating that can return fewer rows than the maximum.
- Deep runs take time: the web API returns 20 reviews per request, and both stores rate-limit fast clients, so the scraper paces its requests.
- Both stores can change these undocumented endpoints without notice. When that happens, the affected apps land in
FAILED_APPS(not charged) and a fix follows.
Tips
- Proxy: the default Apify proxy (datacenter) is usually enough. If the log shows many retries, switch the proxy to residential.
- Large lists: keep Apps in parallel at 2-4.
- Monitoring: run on a schedule with Most recent and a small maximum, then deduplicate on
reviewId.
Legal and data
This Actor reads reviews that the App Store and Google Play publish openly to anyone, without logging in. For each review it stores the reviewer's display name exactly as the store shows it next to the review. It does not collect profile pictures, user ids, profile links, emails or any other personal data. You are responsible for using the data in line with the stores' terms and with the privacy law that applies to you (for example GDPR if you process reviews from EU users).
FAQ
Why are there fewer App Store reviews than the app page shows? The rating count on the app page includes star ratings without text. Only written reviews are returned, and the RSS source stops at 500.
Can I get reviews from several countries? Run the Actor once per country. Reviews differ per storefront.
Something broke? Open an issue on the Issues tab with your run ID.