App Store & Google Play Reviews Scraper
Pricing
from $0.14 / 1,000 review scrapeds
App Store & Google Play Reviews Scraper
Scrape app reviews from the Apple App Store and Google Play in one run, with one output format. Use store URLs, app IDs or just app names.
Pricing
from $0.14 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Solar G
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Scrapes user reviews from the Apple App Store and Google Play in one run. Both stores return the same output format, so results can be combined without extra processing.
Input
| Field | Description |
|---|---|
apps | Any mix of Google Play URLs or package names (com.spotify.music), App Store URLs or numeric IDs (324684580), and plain app names (Spotify). |
stores | Stores to search when an app is given by name. Default: both. |
maxReviewsPerApp | Maximum reviews per app, per store. Default 200. |
country | Two-letter country code. Default us. |
language | Google Play review language. Default en. |
sort | newest, helpful or rating (Google Play only). |
reviewsSince | Optional. Skip reviews older than this date. |
ratings | Optional. Only return these star ratings, e.g. ["1","2"]. |
{"apps": ["Duolingo", "com.whatsapp", "https://apps.apple.com/gb/app/spotify/id324684580"],"maxReviewsPerApp": 500,"country": "gb","ratings": ["1", "2"]}
Output
{"store": "appStore","appId": "570060128","appName": "Duolingo: Language & Chess","country": "gb","reviewId": "14694334772","userName": "Joblogsy","rating": 2,"title": "Annoying","text": "So annoying tells me repeatedly I'm offline when I am not...","date": "2026-10-21T18:45:07.000Z","appVersion": "7.145.1","thumbsUp": 0,"developerReply": null,"url": "https://apps.apple.com/gb/app/id570060128?see-all=reviews"}
developerReply is { "text", "date" } when the developer has responded (Google Play). If an app can't be found, the run outputs an item with an error field and carries on with the other apps.
API usage
Run the Actor and get results in one request:
curl -X POST "https://api.apify.com/v2/acts/solarg~app-reviews-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"apps": ["com.spotify.music"], "maxReviewsPerApp": 500}'
With the JavaScript client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('solarg/app-reviews-scraper').call({"apps": ["com.spotify.music"], "maxReviewsPerApp": 500});const { items } = await client.dataset(run.defaultDatasetId).listItems();
With Python:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("solarg/app-reviews-scraper").call(run_input={"apps": ["com.spotify.music"], "maxReviewsPerApp": 500})items = client.dataset(run["defaultDatasetId"]).list_items().items
You can also schedule runs in Apify Console and send results to Google Sheets, Slack, webhooks, Zapier, Make or n8n through Apify's integrations.
Pricing
$0.20 per 1,000 reviews. Platform usage is included in the price.
Limitations
- Apple's public review feed returns at most 500 reviews per app per country. To get more App Store reviews, run several countries.
- App Store developer replies aren't included in Apple's public feed.
- Google Play has no hard limit, but very large pulls take longer.
Notes
Review text and usernames are public, but they can still count as personal data. Use them in line with applicable law. Report problems in the Issues tab.