App Store & Google Play Reviews Scraper + Insights avatar

App Store & Google Play Reviews Scraper + Insights

Pricing

from $0.12 / 1,000 reviews

Go to Apify Store
App Store & Google Play Reviews Scraper + Insights

App Store & Google Play Reviews Scraper + Insights

Scrape App Store and Google Play reviews in one run: any app, many countries, date and star filters. Every app also gets an insights summary with rating distribution and top complaint and praise phrases.

Pricing

from $0.12 / 1,000 reviews

Rating

0.0

(0)

Developer

Zahid Thani

Zahid Thani

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

Scrape Apple App Store and Google Play reviews in one run, for any number of apps and countries, by app name or URL. Every app also gets an insights summary: rating distribution, complaint themes with example quotes, and the phrases users repeat in 1-2★ and 4-5★ reviews. $0.12 per 1,000 reviews.

What can this app review scraper do?

  • 📱 Both stores, one input. Type Duolingo and it finds the app in the App Store and Google Play. Or paste App Store / Google Play URLs, numeric App Store IDs or package names (com.spotify.music).
  • 🌍 Many apps × many countries per run. ["us", "gb", "de", "in"], each fetched separately (the App Store shows different reviews per country).
  • 🗓️ Date and star filters. reviewsSince: "7 days" for weekly monitoring, maxRating: 2 for complaints only.
  • 🧠 Insights included (one appSummary item per app, store and country): store rating and ratings count, rating distribution of the fetched reviews, share of negative reviews, complaint themes (price, bugs, ads, login, updates, performance, support...) with an example quote each, top complaint and praise phrases, and the developer reply rate on Google Play.
  • 🧾 Clean review rows: stars, title, text, ISO date, app version, helpful votes, developer reply and reply date.
  • 🔁 Reliable App Store collection. Apple's feed sometimes returns empty pages. The Actor retries them so you don't get silent gaps.

Who uses it

  • Product teams: track complaints after each release and spot bugs by app version.
  • Competitor research: compare ratings and pain points of rival apps across stores and countries.
  • ASO and marketing: find the words real users use, and mine praise for ad copy and store listings.
  • Agencies and analysts: build a review report for a client app in minutes, in Excel.
  • AI / LLM pipelines: feed fresh reviews into sentiment analysis, summaries or a RAG knowledge base.

How to use it

  1. Click Try for free. The form opens with Duolingo, both stores and the US.
  2. Replace it with your apps (one per line: name, store URL, App Store ID or package name).
  3. Add countries, and optionally a date (reviewsSince) or star filter.
  4. Click Start. 400 reviews (200 per store) take about 20-40 seconds.
  5. Open the Reviews table, or export JSON, CSV or Excel (app summaries are the items with type: "appSummary").

Input examples

One app, both stores, US (the default)

{ "apps": ["Duolingo"], "countries": ["us"] }

Weekly complaint monitor for three competitors in two countries

{
"apps": ["Duolingo", "https://play.google.com/store/apps/details?id=com.babbel.mobile.android.en", "829587759"],
"countries": ["us", "gb"],
"reviewsSince": "7 days",
"maxRating": 2,
"maxReviewsPerApp": 500
}
FieldWhat it does
appsApp names, App Store URLs/IDs, Google Play URLs/package names
storesapple, google or both (default both)
countriesTwo-letter codes: us, gb, de, in, br...
maxReviewsPerAppPer app, store and country (default 200)
sortnewest or helpful (most helpful / relevant)
reviewsSinceA date (2026-09-01) or a relative period (7 days, 2 weeks, 1 month)
minRating / maxRatingStar range, 1-5
includeAppSummaryAdd the insights item per app (default on)
languageGoogle Play review language (en, es, de...)

Output example

Real items from a run on 6 October 2026 (input: Duolingo, US). Reviewer names are public store display names; we've hidden them here.

A review:

{
"type": "review",
"store": "apple",
"appId": "570060128",
"appName": "Duolingo: Language Lessons",
"country": "us",
"reviewId": "14629249103",
"rating": 1,
"title": "Frustrating and unusable—too many clicks!",
"text": "Every time you finish a lesson you have what feels like 10,000 clicks to get past the ad, opening the chests, claiming or denying your gems, and all this BS. It’s click fatigue and so frustrating.",
"userName": "(hidden)",
"date": "2026-10-04T21:02:56-07:00",
"appVersion": "7.142.0",
"thumbsUp": null,
"replyText": null,
"replyDate": null
}

An app summary (lists shortened, quotes cut to 140 characters):

{
"type": "appSummary",
"store": "google",
"appId": "com.duolingo",
"country": "us",
"name": "Duolingo: Learn Languages",
"developer": "Duolingo",
"rating": 4.732105,
"ratingsCount": 49531109,
"url": "https://play.google.com/store/apps/details?id=com.duolingo&hl=en&gl=us",
"reviewsAnalysed": 200,
"averageRatingOfFetched": 4.42,
"ratingDistribution": { "1": 15, "2": 4, "3": 9, "4": 26, "5": 146 },
"negativeShare": 0.095,
"complaintThemes": [
{ "theme": "Price & subscription", "reviews": 6, "share": 0.316, "example": "use to love this app but it's clear they just want you to buy into their subscription. not to mention they laid off their employees for Ai. " },
{ "theme": "Updates & changes", "reviews": 3, "share": 0.158, "example": "I've had correct answers marked wrong, lost my streak because it didn't register that I had done a lesson, all because I closed the app out " }
],
"topComplaintPhrases": [
{ "phrase": "energy system", "reviews": 3 },
{ "phrase": "heart system", "reviews": 2 }
],
"topPraisePhrases": [
{ "phrase": "new language", "reviews": 6 },
{ "phrase": "learn languages", "reviews": 5 }
],
"developerReplyRate": 0,
"newestReview": "2026-09-27T04:28:02Z",
"oldestReview": "2026-09-08T18:35:40Z"
}

complaintThemes.share is the share of 1-2★ reviews that mention the theme (keyword-based, not an AI model). Every review has a store field (apple or google), so you can compare iPhone and Android users in one sheet.

How much does it cost to scrape app reviews?

EventPricePer 1,000
Review$0.00012$0.12
App summary and insights$0.005-
Run start$0.005-
JobCost
Default run: 1 app, 2 stores, 200 reviews eachabout $0.063
1,000 reviews from 2 apps in 2 countries (4 summaries)about $0.15
10,000 Google Play reviews of one appabout $1.21

Turn off includeAppSummary if you only want raw reviews. Set Maximum cost per run and the Actor stops cleanly at your budget.

Use it with AI agents (MCP) and the API

Connect it to Claude, ChatGPT, Cursor or any MCP client via https://mcp.apify.com?tools=zahidthani/app-store-google-play-reviews and ask, for example:

Get the last 2 weeks of 1-2 star reviews for Duolingo and Babbel on iOS and Android in the US and UK. What are the top 3 complaints for each, with one quote each?

The appSummary items already contain the themes and quotes, so the agent can answer from a handful of items.

curl -X POST "https://api.apify.com/v2/acts/zahidthani~app-store-google-play-reviews/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"apps": ["Spotify"], "countries": ["us"], "maxReviewsPerApp": 100}'

How it compares

This ActorSingle-store review scrapersManual export
App Store and Google Play in one runYes, from one app nameOne store per Actor (two setups, two outputs)No
Many apps and many countries per runYesUsually one app or one countryNo
Find an app by nameYes, both storesUsually needs the exact IDn/a
Insights: rating distribution, complaint themes, phrases, reply rateIncludedRaw reviews onlyNo
Developer replies and reply date (Google Play)YesSomePartial
Retries Apple's empty pagesYesRarelyn/a

If you need millions of raw reviews from one store at the lowest possible price, a single-store scraper at $0.10/1,000 may suit you better. This Actor is built for cross-store comparisons and ready-made insights.

Limits and tips

  • Apple's public review feed returns up to 500 most recent reviews per country (per sort order). Add more countries for more App Store reviews. Google Play has no fixed limit.
  • Apple's feed doesn't include developer replies or helpful votes, so those fields are null for apple rows.
  • A name search uses the top match in each store. For exact results, paste the store URL or ID.
  • Date and star filters are applied to the reviews collected, so a filtered run can return fewer rows than maxReviewsPerApp.

FAQ

How do I scrape both iOS and Android reviews for the same app? Put the app name (e.g. Duolingo) or both store URLs in apps. The reviews arrive in one dataset with a store field on every row.

How do I monitor new reviews every week? Save your input as a task, set reviewsSince to 7 days, and add a weekly schedule. You only pay for the new reviews. Connect Slack, email or Google Sheets to get them automatically.

Can I get only 1-star reviews? Yes: set maxRating to 1 (or 2 for 1-2★). Use minRating: 4 for praise only.

How do I find an app's ID? You don't have to: the name works. For exact matches, copy the store URL: App Store links end in id123456789, Google Play links contain ?id=com.example.app.

Can I export reviews to Excel or Google Sheets? Yes. Export the dataset as Excel/CSV, or use Apify's Google Sheets, Make, Zapier or n8n integrations.

Is it legal to scrape app reviews? The Actor reads only public review pages and feeds that anyone can see without logging in. Reviews include public display names, so handle them in line with GDPR/CCPA and the stores' terms. Most users analyse only the text and ratings.

Something broke? Open an issue on the Issues tab. The Actor is monitored daily and fixed quickly.