App Store & Google Play Reviews Scraper avatar

App Store & Google Play Reviews Scraper

Pricing

$0.12 / 1,000 reviews

Go to Apify Store
App Store & Google Play Reviews Scraper

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

Aniruddha Garje

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

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 whenYou need reviews from the Apple App Store, Google Play or both, for one or more apps and countries.
Input you needApp Store IDs or links and Google Play package names or links in apps (required); optionally countries, sort, maxReviewsPerApp, since.
What you getOne 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.
LimitsApple'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:

FieldExampleNotes
storegooglePlayappStore or googlePlay
appIdcom.whatsappApp Store ID or Play package name
countryusEvery row carries the country it came from
languageenGoogle Play only; Apple's feed follows the country
reviewIdd3bda379-...Stable ID from the store
rating41 to 5
titleGreat appApp Store only
textI love this app
date2026-10-06T15:54:48.000ZISO 8601, UTC, always present
appVersion2.26.38.73When the store provides it
thumbsUpCount12Helpful votes
developerReply, developerReplyDateGoogle Play (Apple's public feed has no replies)
reviewUrlA link that opens: the review on Google Play, the app's reviews page on the App Store
schemaVersion1Changes 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

  1. 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. maxReviewsPerApp is honoured exactly, and the run summary says why a store ran out if it did.
  2. Many countries in one run. Every country you list is fetched separately, and every row carries its country.
  3. A stable schema. One flat schema for both stores, versioned with schemaVersion. Fields a store does not have are present as null, never missing.
  4. Dates and links on every row. date is always an ISO timestamp. reviewUrl always 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).
  5. 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

FieldDefaultWhat it does
appsIDs, package names or URLs, both stores mixed
storesbothWhich stores to read
countries["us"]Two-letter country codes
languages["en"]Google Play languages
sortnewestnewest, mostHelpful or rating (Apple has no rating sort and uses newest)
maxReviewsPerApp500Per app, store and country (and language on Play). 0 means no limit
sinceOnly reviews on or after this date
ratingsallKeep only these stars
includeDeveloperRepliestrueReply text and date
includeReviewerInfofalseReviewer names and profile links
continueOnErrortrueSkip 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:

Read more

I write up what the data shows, with the run ID behind every number: