App Store & Google Play Reviews Scraper avatar

App Store & Google Play Reviews Scraper

Pricing

from $0.15 / 1,000 results

Go to Apify Store
App Store & Google Play Reviews Scraper

App Store & Google Play Reviews Scraper

Scrapes user reviews and ratings for any app on the Apple App Store or Google Play — from a single pasted link, in any country.

Pricing

from $0.15 / 1,000 results

Rating

0.0

(0)

Developer

Mina

Mina

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

What does App Store & Google Play Reviews Scraper do?

App Store & Google Play Reviews Scraper collects user reviews and star ratings for any mobile app on the Apple App Store and Google Play. Paste the app's link and get every review as a row: rating, title, text, author, date, app version, helpful votes and, on Google Play, the developer's reply. Each row also carries the app's own listing data, such as publisher, price, overall rating and category.

You can mix iPhone and Android apps in one run, and both land in the same table. Because it runs on the Apify platform, you also get API access, scheduled runs, integrations (Google Sheets, Slack, webhooks, Zapier and more) and run monitoring.

Why scrape app reviews?

  • Find what users complain about most, in their own words, and feed it to sentiment analysis or an LLM summary.
  • Catch a bad release early: watch ratings and the reviewed app version after each update.
  • Benchmark competitors: compare your app's reviews with a rival's on the same measures, across both stores.
  • Research a new market by reading what users in a given country or language say before you launch there.
  • Check how developers respond: Google Play rows include the developer's public reply and when it was posted.

How to scrape App Store and Google Play reviews

  1. Open the app's page on the App Store or Google Play and copy the address from your browser.
  2. Paste it into App links. Add as many apps as you like, one per line, from either store.
  3. Set Max reviews per app and, if you want, the Countries to read.
  4. Click Start and wait for the run to finish.
  5. Download the reviews from the Output tab, or fetch them through the API.

Input

Everything is set on the Input tab. Only App links matters for a first run. A full Apple link (https://apps.apple.com/us/app/whatsapp-messenger/id310633997), a Google Play link (https://play.google.com/store/apps/details?id=com.spotify.music), a numeric Apple id or an Android package name all work.

{
"app_urls": [
"310633997",
"com.spotify.music"
],
"max_reviews_per_app": 100,
"countries": "us, gb, de",
"sort_by": "newest",
"star_rating": 1
}
  • Max reviews per app: the limit for each app in each country.
  • Countries: 2-letter codes, used for apps given as a bare Apple id or Android package name (as in the example above). A pasted link that already names a country (/us/app/… or &gl=de) uses only that one.
  • Sort reviews by: newest, most relevant (most helpful on the App Store), or highest rating (Google Play only).
  • Only reviews with this many stars: leave it empty for all ratings.

Output

Each review is one item in the dataset. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Here is a shortened example; the review values are illustrative:

{
"store": "google_play",
"app_id": "com.spotify.music",
"country": "US",
"app_url": "https://play.google.com/store/apps/details?id=com.spotify.music&gl=us",
"app_name": "Spotify: Music and Podcasts",
"app_publisher": "Spotify AB",
"app_price": 0.0,
"app_currency": "USD",
"app_rating": 4.34,
"app_rating_count": 36411746,
"app_installs": "1,000,000,000+",
"app_categories": ["Music & Audio"],
"app_content_rating": "Teen",
"app_updated_at": "2026-09-29T14:38:09+00:00",
"review_id": "6f1c2a7e-3b9d-4c55-9e0a-2d7b8c1f4a90",
"author": "Jane D.",
"rating": 4,
"title": null,
"text": "Great playlists, but the app pauses now and then.",
"review_version": "9.1.86.2432",
"likes": 3,
"posted_at": "2026-09-30T13:59:47+00:00",
"developer_reply": "Thanks for the feedback! Please try reinstalling the app.",
"developer_reply_at": "2026-09-30T18:02:11+00:00"
}

Data fields

FieldDescription
storeapp_store or google_play
app_idApple numeric id or Android package name
countryCountry the reviews were read for (see the FAQ for how Google Play uses it)
app_urlLink to the app's store page
app_name, app_publisherApp name and publisher
app_price, app_currencyPrice in that country's store
app_rating, app_rating_countOverall star rating and number of ratings
app_versionCurrent version (on Google Play, only when one version serves every device)
app_installsInstall band, such as 1,000,000+ (Google Play only)
app_categories, app_content_ratingStore category and age rating
app_released_at, app_updated_atFirst release and last update, in UTC
review_idThe store's id for the review
authorReviewer's display name
ratingStars given, 1–5
titleReview title (App Store only; Google Play reviews have none)
textReview text
review_versionApp version the review was written about
likesHow many people marked the review helpful
posted_atWhen the review was posted, in UTC
developer_reply, developer_reply_atDeveloper's public reply and its date (Google Play only)

How much does it cost to scrape app reviews?

The Actor uses pay-per-event pricing: $0.00005 per run start and $0.00015 per review saved. 1,000 reviews cost about $0.15, and platform usage is included. The $5 of monthly credit on Apify's free plan covers roughly 33,000 reviews. You pay only for reviews that are saved: apps that fail or have no reviews are not billed.

Tips for scraping app reviews

  • Going deeper on the App Store: Apple serves at most 500 reviews per app per country (10 pages of 50). To get more, give the app as its bare id (e.g. 310633997) and add countries; each App Store country has its own reviews.
  • Google Play goes as deep as you ask. Raise Max reviews per app to read further back.
  • Spend less: keep Max reviews per app small and sort by newest for regular monitoring. Set a maximum cost per run, and the Actor stops cleanly when it is reached.
  • Only negative reviews: set Only reviews with this many stars to 1. Google Play filters on its side. On the App Store the filter is applied to the up to 500 reviews each country offers, so you may get fewer.
  • Monitoring: schedule the Actor daily with sort by newest and a small limit, then send new rows to Google Sheets or Slack.

FAQ, disclaimers, and support

The Actor reads only reviews that the stores publish openly, without logging in. Reviews include reviewers' display names, which are personal data under rules such as the GDPR and CCPA. Only collect what you need, store it securely, and make sure you have a lawful reason to process it. Also check each store's terms of service for your use case. If you are unsure, ask a lawyer.

Why do Google Play countries return the same reviews?

Google Play groups reviews by language, not country. Each country you list reads reviews in its main language: de gives German reviews, jp Japanese, and most other countries English. A country whose language was already read for that app (for example gb after us) is skipped, so no review is saved or billed twice.

Why are developer replies missing for App Store reviews?

Apple's public review feed does not include developer replies, so developer_reply is always empty on App Store rows. Google Play rows include replies where the developer wrote one.

What happens to apps that could not be read?

Links that are not app links, apps that do not exist in a country, and apps with no reviews are listed in the FAILED_INPUTS record in the run's key-value store, with the reason. They never appear as dataset rows, so you are not charged for them. The run's status message summarises the outcome. A run is marked failed only when the stores failed to answer for every app it tried.

Support

Found a bug or need another field? Open an issue on the Issues tab and we will look into it. If you need a custom solution, such as another app store or a scheduled export into your own systems, get in touch through the Issues tab as well.