App Store & Google Play Reviews Scraper
Pricing
$0.12 / 1,000 reviews
App Store & Google Play Reviews Scraper
Scrape every review Apple App Store and Google Play expose, in one flat schema with ISO dates, working review links, country on every row and exact limits. Plain HTTP, no browser.
Pricing
$0.12 / 1,000 reviews
Rating
0.0
(0)
Developer
Aniruddha Garje
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Export reviews from the Apple App Store and Google Play for any app, country and language, in one table. I built it on the stores' public JSON endpoints with plain HTTP requests, so there is no browser to slow it down.
At a glance
| Use it when | You need reviews from the Apple App Store, Google Play or both, for one or more apps and countries. |
| Input you need | App Store IDs or links and Google Play package names or links in apps (required); optionally countries, sort, maxReviewsPerApp, since. |
| What you get | One row per review with rating, text, ISO date, app version, country and, on Google Play, the developer reply. |
| Cost | $0.12 per 1,000 reviews saved. |
| Limits | Apple's public feed stops at 500 reviews per country and sort order. Reviewer names are off by default. |
I built this Actor and test it against what the live site shows. The check runs again every week.
What you get
One row per review, with the same fields for both stores:
| Field | Example | Notes |
|---|---|---|
store | googlePlay | appStore or googlePlay |
appId | com.whatsapp | App Store ID or Play package name |
country | us | Every row carries the country it came from |
language | en | Google Play only; Apple's feed follows the country |
reviewId | d3bda379-... | Stable ID from the store |
rating | 4 | 1 to 5 |
title | Great app | App Store only |
text | I love this app | |
date | 2026-10-06T15:54:48.000Z | ISO 8601, UTC, always present |
appVersion | 2.26.38.73 | When the store provides it |
thumbsUpCount | 12 | Helpful votes |
developerReply, developerReplyDate | Google Play (Apple's public feed has no replies) | |
reviewUrl | A link that opens: the review on Google Play, the app's reviews page on the App Store | |
schemaVersion | 1 | Changes only if the schema ever changes |
Reviewer names and profile links are off by default. Turn on Include reviewer names and profile links to add userName, userUrl (App Store) and userImage (Google Play).
What this Actor handles for you
- Complete paging. This Actor pages through everything each store returns. Google Play pages run until the store has no more reviews. Apple's public feed has a hard limit of 10 pages of 50 reviews (500) per country and sort order; page 11 answers HTTP 400. Apple's feed also returns some pages empty even though they hold reviews (seen on 8 October 2026); the Actor retries each empty page, carries on to the next one, and lists any page that stayed empty in
RUN_SUMMARY, so you know exactly what may be missing. The Actor tells you when the 500 limit is reached, and you can collect more App Store reviews by adding countries, each of which has its own limit.maxReviewsPerAppis honoured exactly, and the run summary says why a store ran out if it did. - Many countries in one run. Every country you list is fetched separately, and every row carries its
country. - A stable schema. One flat schema for both stores, versioned with
schemaVersion. Fields a store does not have are present asnull, never missing. - Dates and links on every row.
dateis always an ISO timestamp.reviewUrlalways opens a real page: the review itself on Google Play, and the app's reviews page on the App Store (Apple has no per-review page). - Errors do not stop the run, and any app format works. Pages that fail are retried, and an app a store does not have is reported in the run summary while the run continues (
continueOnError, on by default). Apps can be App Store IDs, App Store URLs, Play package names or Play URLs, mixed in one list.
Input
| Field | Default | What it does |
|---|---|---|
apps | IDs, package names or URLs, both stores mixed | |
stores | both | Which stores to read |
countries | ["us"] | Two-letter country codes |
languages | ["en"] | Google Play languages |
sort | newest | newest, mostHelpful or rating (Apple has no rating sort and uses newest) |
maxReviewsPerApp | 500 | Per app, store and country (and language on Play). 0 means no limit |
since | Only reviews on or after this date | |
ratings | all | Keep only these stars |
includeDeveloperReplies | true | Reply text and date |
includeReviewerInfo | false | Reviewer names and profile links |
continueOnError | true | Skip and report a failing app instead of stopping |
Pricing
Pay per result: $0.12 per 1,000 reviews. You are charged only for reviews saved to your dataset, never for errors, retries or duplicates. If you set a maximum cost per run, the Actor stops cleanly when it is reached.
Reliability
If a run is restarted or migrated, it resumes where it stopped and does not deliver or charge the same review twice. Each run saves a RUN_SUMMARY record with counts per app and country, why each store stopped, and any errors.
Scheduled monitoring
Schedule the Actor weekly with since set to last week's date to receive only reviews from that date on.
Use cases
Each one is a ready task you can open, run and copy:
- Export app reviews from several countries: one app, four countries, one table with the country on every row.
- Monitor new app reviews since a date: only reviews from a date on. Schedule it daily and move the date forward.
- Export only 1 and 2 star app reviews: read the complaints first, with app version and developer reply.
Read more
I write up what the data shows, with the run ID behind every number: