App Store & Google Play Reviews Scraper avatar

App Store & Google Play Reviews Scraper

Pricing

from $0.07 / 1,000 reviews

Go to Apify Store
App Store & Google Play Reviews Scraper

App Store & Google Play Reviews Scraper

Get App Store and Google Play reviews in one run, in one format: rating, title, text, date, app version, helpful votes and developer replies. Many countries at once, plus a per-app summary with rating trends and top complaints. $0.10 per 1,000 reviews.

Pricing

from $0.07 / 1,000 reviews

Rating

0.0

(0)

Developer

Brandon Ob

Brandon Ob

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

Share

This app store reviews scraper gets reviews from the Apple App Store and Google Play in one run, in one format. Paste app links, IDs or package names, pick the countries, and get every review as a row: stars, title, text, date, app version, helpful votes and the developer's reply. Each run also saves a free per-app summary with the average rating, star distribution, last-30-days trend, rating by app version and the words that come up most in 1–2 star reviews. It costs $0.10 per 1,000 reviews.

What does App Store & Google Play Reviews Scraper do?

  • Collects App Store and Google Play reviews for any number of apps, mixed in one list.
  • Accepts App Store URLs or IDs, Google Play URLs or package names, or an app name (searched in the App Store; the top result is used).
  • Collects reviews per country, for as many countries as you list (us, gb, de, br, …).
  • Sorts by newest or most relevant/helpful, and filters by star rating (for example 1–2 stars only).
  • Returns the same fields for both stores, so iOS and Android reviews sit side by side in one table.
  • Saves a free per-app summary (APP_SUMMARY): average rating, star distribution, last 30 days vs older, rating by version and top complaint words.
  • Uses only the stores' public data: no login, API key or cookies.

Use cases

  • Product teams: see what users complain about after each release, on iOS and Android side by side.
  • App store optimization (ASO): track ratings by country and version, and find the words users use about your app.
  • Competitor research: pull a competitor's 1–2 star reviews to see where their app falls short.
  • Support and community teams: export Google Play reviews with developer replies to find the ones still unanswered.
  • Market research and investors: compare ratings and sentiment trends across apps in a category.
  • Review monitoring: schedule a daily run with "Newest first" and a small limit to keep a running history.

How to use it

  1. Open the Actor in Apify Console and paste app links, IDs, package names or app names into Apps, one per line.
  2. Add the countries you want (default us).
  3. Optional: set the maximum reviews per app and country, the sort order, a star filter and the Google Play language.
  4. Click Start, then open the Reviews view or download the dataset. Open the key-value store for APP_SUMMARY.
  5. To monitor reviews, save the input as a task and run it on a schedule, or call the Actor from the API.

Input

FieldWhat it does
appsApp Store URLs or IDs, Google Play URLs or package names, or app names. One per line.
searchTermsOptional app names to look up in the App Store (top match used).
countriesTwo-letter country codes; reviews are collected per country (default us).
maxReviewsPerAppMaximum reviews per app and country (default 200).
sortnewest (default) or relevant.
languageLanguage of Google Play reviews (default en). App Store reviews follow the country.
minRating, maxRatingKeep only reviews within this star range (default 1–5).
includeSummarySave the per-app summary as APP_SUMMARY (on by default; free).

Example input:

{
"apps": [
"https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580",
"com.spotify.music"
],
"countries": ["us", "gb"],
"maxReviewsPerApp": 200,
"sort": "newest",
"minRating": 1,
"maxRating": 2,
"language": "en",
"includeSummary": true
}

Output

One row per review, with the same fields for both stores:

{
"store": "googleplay",
"appId": "com.spotify.music",
"appName": "Spotify: Music and Podcasts",
"country": "us",
"reviewId": "90ac3882-…",
"userName": "A Google user",
"rating": 1,
"title": null,
"text": "Too many ads between songs.",
"date": "2026-11-03T20:45:28Z",
"appVersion": "9.1.94.1929",
"thumbsUp": 1,
"voteCount": null,
"developerReply": "Thanks for leaving a review…",
"replyDate": "2026-11-03T21:02:10Z",
"url": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=90ac3882-…"
}

Some fields exist in only one store: title and voteCount are App Store only; developerReply and replyDate are Google Play only.

The free per-app summary is saved in the run's key-value store as APP_SUMMARY, one entry per app and store:

{
"store": "appstore",
"appName": "Spotify: Music and Podcasts",
"countries": ["gb", "us"],
"reviewCount": 400,
"averageRating": 3.7,
"ratingDistribution": {"1": 80, "2": 24, "3": 56, "4": 16, "5": 224},
"last30DaysAverage": 3.6,
"olderAverage": 4.1,
"byVersion": [{"version": "9.1.94", "reviews": 310, "averageRating": 3.6}],
"topComplaintKeywords": [{"word": "ads", "reviews": 41}, {"word": "shuffle", "reviews": 19}]
}

The dataset can be downloaded as JSON, CSV, Excel, XML or HTML, or read through the API.

Pricing

Pay per event: $0.10 per 1,000 reviews saved. The summary and using both stores cost nothing extra, and reviews removed by the star filter are not charged. You can set a spending limit per run and the run stops when it is reached.

Discounts apply automatically on paid Apify plans: 10% off on Starter, 20% on Scale and 30% on Business.

Example: 500 reviews in each of 4 countries for 2 apps (4,000 reviews) cost about $0.40.

Integrations and API

Run it and get the reviews back in one call:

curl -X POST "https://api.apify.com/v2/acts/adhistory~app-store-google-play-reviews-scraper/run-sync-get-dataset-items?token=<YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"apps": ["324684580", "com.spotify.music"], "countries": ["us"], "maxReviewsPerApp": 100}'

Python, with the apify-client package:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("adhistory/app-store-google-play-reviews-scraper").call(run_input={
"apps": ["com.spotify.music", "Duolingo"],
"countries": ["us", "de"],
"minRating": 1,
"maxRating": 2,
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["store"], review["rating"], review["text"][:80])
summary = client.key_value_store(run["defaultKeyValueStoreId"]).get_record("APP_SUMMARY")

Like every Apify Actor, it also works with Make, Zapier and n8n, with webhooks and schedules, and as a tool for AI agents through the Apify MCP server.

FAQ

Why at most 500 reviews per country on the App Store? Apple's public reviews feed returns the 500 most recent (or most helpful) reviews per app and country. To get more App Store reviews, add more countries: each country has its own 500. Google Play has no such cap.

Does it need a login, API key or cookies? No. It uses only the stores' public data.

Can I monitor reviews over time? Yes. Schedule the Actor daily with "Newest first" and a small maximum (for example 50) to keep a running history.

Can I export App Store reviews to CSV or Excel? Yes. Download the dataset as CSV, JSON or Excel from the run's Output tab.

Can I scrape reviews of an app I don't own? Yes. It reads the public reviews anyone can see in the stores.

Google Play shows reviews in other languages too. Why don't I get them? Google Play returns reviews in the language you choose. Run again with another language (for example es) to collect those.

Am I charged for reviews outside my star filter? No. You are charged only for the reviews saved to the dataset.

How is an app name matched? It is searched in the App Store and the top result is used. Use the URL or ID when you need a specific app.

Found a bug or need a feature? Open an issue on the Issues tab — I usually reply within a day.