App Store & Google Play Reviews Scraper avatar

App Store & Google Play Reviews Scraper

Pricing

from $0.80 / 1,000 row (app or review)s

Go to Apify Store
App Store & Google Play Reviews Scraper

App Store & Google Play Reviews Scraper

Scrape user reviews and app details from the Apple App Store and Google Play in one run: stars, review text, app version, date, developer replies, ratings, installs and price. One schema for iOS and Android. $0.80 per 1,000 rows.

Pricing

from $0.80 / 1,000 row (app or review)s

Rating

0.0

(0)

Developer

Atakan Kerem GOCER

Atakan Kerem GOCER

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Share

Track apps across both mobile stores in one run. Give it App Store links, Apple ids, Google Play links or Android package names — mixed freely — and get app details and user reviews in a single, identical schema.

  • Both stores, one table: Apple and Android rows have the same columns
  • App details: rating, number of ratings, price, category, content rating, release and update dates, description, icon, screenshots — plus, on Google Play, the install band, Google's exact install counter, the 1–5 star breakdown and the number of written reviews
  • Reviews: stars, title, text, app version, date, helpful count and the developer's reply
  • Country-aware: ratings, prices and reviews differ per store country, so you choose it
  • No personal data by default: reviewer display names are left out unless you ask for them

Who uses it

  • App teams — watch what users say about you and your competitors, release by release
  • ASO and marketing — compare ratings, categories, pricing and install counts
  • Investors and analysts — measure traction across a portfolio of apps
  • Support and product — mine complaints for the bugs that keep coming back

Example output

An app row:

{
"type": "app",
"store": "google_play",
"appId": "com.spotify.music",
"title": "Spotify: Music and Podcasts",
"developer": "Spotify AB",
"category": "MUSIC_AND_AUDIO",
"rating": 4.346,
"ratingCount": 36337000,
"ratingHistogram": { "1": 3706453, "2": 1067673, "3": 1314350, "4": 3098810, "5": 27149714 },
"reviewsTotal": 1853031,
"installs": "1,000,000,000+",
"installsExact": 3125337627,
"price": 0.0,
"currency": "USD",
"free": true,
"inAppPurchases": "$6.99 - $203.88 per item",
"containsAds": true,
"released": "2014-05-27T00:00:00Z",
"updated": "2026-09-18T00:00:00Z",
"contentRating": "Teen",
"url": "https://play.google.com/store/apps/details?id=com.spotify.music"
}

A review row:

{
"type": "review",
"store": "app_store",
"appId": "324684580",
"appTitle": "Spotify: Music and Podcasts",
"rating": 1,
"title": "Cannot upgrade",
"text": "I've been trying to upgrade my plan for the past week…",
"version": "9.1.84",
"date": "2026-09-19T13:39:47Z",
"thumbsUp": 0,
"developerReply": null
}

App rows and review rows share one dataset and are told apart by type. For a clean single-kind table, set maxReviewsPerApp to 0 (apps only) or turn includeAppDetails off (reviews only). In a mixed run the Console's Apps and Reviews tabs show each kind's columns; rows of the other kind appear blank there.

Input

{
"apps": [
"https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
"com.spotify.music"
],
"maxReviewsPerApp": 500,
"reviewSort": "newest",
"country": "us"
}
FieldWhat it does
appsStore URLs, Apple ids (id324684580) or package names (com.spotify.music).
searchTermsOptional keywords; matching App Store apps are added to the run.
maxReviewsPerApp0 for details only. Otherwise reviews per app.
reviewSortNewest, by rating, or most helpful.
includeAppDetailsKeep the app row next to its reviews, or reviews only.
includeReviewerNamesOff by default; see below.
country, languageStore country and language.

Pricing

EventPrice
Row returned (app or review)$0.0008
Actor start$0.00005 per run

$0.80 per 1,000 rows. Apps that cannot be found are listed separately and never charged. Set Maximum cost per run to cap your spend; the run stops cleanly at the limit.

Notes and limits

Written plainly so you know what you are buying:

  • The App Store publishes at most 500 reviews per country (10 pages of 50), and its feed sometimes leaves a page empty, so expect 450–500 for a big app. That is Apple's own limit, not the Actor's. To go deeper, run the same app across several countries. Google Play pages much deeper; runs of over a thousand reviews per app are tested.
  • Google Play no longer publishes the current app version on the app page, so version is empty for Play app rows. Individual Play reviews do carry the version they were written on. App Store rows have the version.
  • installs, installsExact, ratingHistogram, reviewsTotal, inAppPurchases and containsAds are Google Play only; Apple does not publish them. ratingCount is available on both. Fields a store does not publish are null, never guessed.
  • Reviewer names are omitted by default. Reviews are public, but display names are personal data under GDPR and KVKK. Turn includeReviewerNames on only if you have a lawful reason to process them; everything else in the review is returned either way.
  • Country matters. An app can exist in one store country and not another; a missing app is reported with the country in the reason.
  • Review text is returned as the user wrote it, including other languages and emoji.

FAQ

Can I monitor reviews on a schedule? Yes. Add the Actor to a Schedule, sort by newest and cap the review count; then compare reviewId between runs to find what is new.

Can I compare an app against its competitors? Put all of them in apps in the same run. Every row carries store, appId and appTitle, so grouping in a spreadsheet is straightforward.

Why did an app return no reviews? Either it genuinely has none in that country, or it is very new. Try another country.

Something is wrong or missing. Open an issue on the Issues tab with the app URL.