App Store & Google Play Reviews Scraper
Pricing
from $0.08 / 1,000 reviews
App Store & Google Play Reviews Scraper
Reviews from Apple's App Store and Google Play in one dataset with one schema: rating, title, text, date, app version, helpful votes and developer replies. Paste app IDs or store URLs, pick countries or a language, filter by stars or date.
Pricing
from $0.08 / 1,000 reviews
Rating
0.0
(0)
Developer
Andrew Van De Poel
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Security
Limited permissionsShare
Get app reviews from Apple's App Store and Google Play in one run, in one table: rating, title, text, date, app version, helpful votes and the developer's reply. Paste app IDs or store URLs from either store, mixed. Pick App Store countries and a Google Play language, filter by stars or date, and download JSON, CSV or Excel. No login, no browser, no API keys. A few hundred reviews take a few seconds.
Built for product managers, app developers, ASO and market-research teams, and AI agents that need to know what users say about an app and its competitors.
What you get
One row per review, with the same columns for both stores:
| Field | App Store | Google Play |
|---|---|---|
rating (1-5), text, date, userName, appVersion | ✓ | ✓ |
title | ✓ | null (Play reviews have no title) |
helpfulCount | helpful votes | thumbs-up count |
voteCount (all votes) | ✓ | null |
replyText, replyDate (developer reply) | null (Apple's feed doesn't include replies) | ✓ |
userImageUrl / userProfileUrl | profile link | avatar |
reviewUrl | null | ✓ |
country / language | country | language |
Every row also has store (appStore or googlePlay), appId, appUrl, reviewId and scrapedAt.
Options:
- Sort: newest first, or the store's own order ("Most helpful" on the App Store, "Most relevant" on Google Play)
- Stars: e.g. only 1- and 2-star reviews, to read complaints
- Reviews since: only reviews from a date on. With newest-first sorting the run stops as soon as it reaches older reviews, so a daily scheduled run that collects only new reviews costs almost nothing
- App Store countries: each country has its own reviews. Add several to get more of them
- Google Play language: Google Play groups reviews by the language they're written in
How to use it
- Add apps, one per line. App Store:
284882215,id284882215orhttps://apps.apple.com/us/app/facebook/id284882215. Google Play:com.spotify.musicorhttps://play.google.com/store/apps/details?id=com.spotify.music. - Set Max reviews per app, and optionally sort, countries, language, stars and a start date.
- Click Start. Download results from the Output tab as JSON, CSV, Excel or HTML, or fetch them through the API.
Input example
{"apps": ["310633997", "com.whatsapp", "https://apps.apple.com/gb/app/telegram-messenger/id686449807", "org.telegram.messenger"],"maxReviewsPerApp": 300,"countries": ["us", "gb", "ca"],"language": "en","stars": ["1", "2"],"reviewsSince": "2026-10-01"}
Output
Real output, one review from each store:
[{"store": "googlePlay","appId": "com.spotify.music","appUrl": "https://play.google.com/store/apps/details?id=com.spotify.music","country": null,"language": "en","reviewId": "752659ef-19f9-4479-815d-15cac801ed84","rating": 4,"title": null,"text": "good songs but has adds","date": "2026-10-30T01:55:06.000Z","userName": "Dima","userImageUrl": "https://play-lh.googleusercontent.com/a/ACg8ocL9wnhBPHYoyUyyeRBFACE8HskXDOEhU96AnJDJDuD9WNrdeg=mo","userProfileUrl": null,"appVersion": "9.1.92.3058","helpfulCount": 0,"voteCount": null,"replyText": "Hi. Thanks for sharing this. We hear you and we'll pass your feedback along to the Ads team. For an ad-free experience, we'd recommend checking out our Premium plans at spotify.com/premium. If you've never had Premium before, you should be eligible for our trial.","replyDate": "2026-10-30T16:35:46.000Z","reviewUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=752659ef-19f9-4479-815d-15cac801ed84","scrapedAt": "2026-10-31T01:56:29.610Z"},{"store": "appStore","appId": "284882215","appUrl": "https://apps.apple.com/us/app/id284882215","country": "us","language": null,"reviewId": "14726791143","rating": 5,"title": "Gracias por todo","text": "Humilde siempre","date": "2026-10-29T19:04:29.000Z","userName": "Petenero gallo","userImageUrl": null,"userProfileUrl": "https://itunes.apple.com/us/reviews/id1978260122","appVersion": "585.0.0","helpfulCount": 0,"voteCount": 0,"replyText": null,"replyDate": null,"reviewUrl": null,"scrapedAt": "2026-10-31T01:56:29.610Z"}]
A run summary (apps succeeded and failed, the reasons, warnings and charged events) is saved as OUTPUT in the run's key-value store.
Pricing
You pay per review delivered. The price is in the Pricing tab above.
- 1,000 reviews cost about $0.10 on paid Apify plans.
- No charge for apps that fail, or for reviews your star and date filters leave out.
- No start fee beyond Apify's standard $0.00005 per run.
- Platform usage is included.
- Set Max cost per run in the run options, and the Actor stops cleanly when it gets there, delivering exactly what fits.
Why use this instead of…
- Two separate scrapers: one run, one schema, one export for both stores, so comparing your iOS and Android ratings, or your app against a competitor's, is a single table.
- Your own script: Apple's feed has quirks (its CDN sometimes serves an empty page for an app that has reviews; this Actor asks again past the cache), and Google Play's review endpoint is undocumented. A live test runs against both stores every day, so changes are caught early.
Use with AI agents (MCP)
This Actor works as a tool through the Apify MCP server, so Claude, ChatGPT, Cursor and other MCP clients can call it directly. Typical agent calls:
{ "apps": ["com.duolingo"], "stars": ["1", "2"], "maxReviewsPerApp": 50 }
{ "apps": ["570060128", "com.duolingo"], "reviewsSince": "2026-10-01", "maxReviewsPerApp": 200 }
You can also call it from code with the Apify API or the apify-client package for JavaScript and Python.
FAQ
Why do I get at most 500 App Store reviews per app? Apple's public review feed serves the latest 500 reviews per app and country (10 pages of 50). Add more countries for more reviews. Google Play has no such cap.
Why doesn't the country setting change Google Play results? Google Play shows the same reviews in every country and groups them by language instead. Use Google Play language.
Why is a reply date earlier than its review date? On Google Play, date is when the review was last edited. If the user edited it after the developer replied, the reply is older.
Why are the newest Google Play reviews from about a day ago? Google Play publishes reviews with a delay of roughly a day.
Does it get app details (installs, rating histogram)? Not yet. Open an issue if you need them.
Is this allowed? It reads the public reviews any visitor sees on the store pages, without logging in. Reviews include reviewers' public display names; if you store or publish them, the data-protection rules that apply to you (such as GDPR) still apply.
Does the Actor send anything back to the developer? At the end of each run it sends us a small usage record: how many of each billable event the run was charged, the prices it was charged at, your pricing tier, whether your plan is paid, and a one-way hash of your user ID. That's how we see which Actors are worth maintaining, because Apify doesn't share this with developers. Your input, your results and your account details are never sent.
Something broke or looks wrong? Open an issue on the Issues tab. Issues get a response within 48 hours.