App Reviews Scraper & Analysis – Google Play & App Store avatar

App Reviews Scraper & Analysis – Google Play & App Store

Pricing

from $0.10 / 1,000 reviews

Go to Apify Store
App Reviews Scraper & Analysis – Google Play & App Store

App Reviews Scraper & Analysis – Google Play & App Store

Get Google Play and Apple App Store reviews in one dataset plus a free app review analysis per app: review sentiment, rating distribution, topics and keywords, top complaints and praise with quotes, rating by app version and over time. Filter by stars, date, country. $0.10 per 1,000 reviews.

Pricing

from $0.10 / 1,000 reviews

Rating

0.0

(0)

Developer

Chris Elder

Chris Elder

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Security

Limited permissions

Share

App Reviews Scraper & Review Analysis – Google Play & App Store

Export Google Play and Apple App Store reviews into one clean table, plus a free review insights report for every app: rating distribution, star-based review sentiment, topic and keyword counts, top complaints and praise with real quotes, and rating trend per app version and over time. Paste store links, package names or App Store IDs and get star rating, review text, date, app version, likes and developer replies in JSON, CSV or Excel.

✅ Pay per result: $0.10 per 1,000 reviews · 🆓 Apps that fail are never charged · 🔑 No API key, no login, no proxy needed

▶ Try it with one click · 📄 Real example output · 📊 Review insights · 💲 Pricing · 🔌 API & integrations · ❓ FAQ · 🛟 Support

What does App Reviews Scraper do?

  • 📱 Both stores in one run. Google Play and Apple App Store reviews share the same fields, so you can compare an app's Android and iOS feedback side by side.
  • 🔗 Any app reference. Google Play links, package names (com.spotify.music), App Store links, numeric IDs (324684580) or just an app name (looked up on the App Store).
  • 🌍 Many countries. Add country codes (us, gb, de, in…) and each app is scraped per country.
  • ⭐ Filters that save money. Keep only 1–2 star complaints, only 5-star praise, or only reviews since a date. Filtered-out reviews are not saved and not charged.
  • 💬 Developer replies from Google Play (text and date) for support and reputation analysis.
  • 🕵️ Privacy by default. Reviewer names are left out unless you switch them on.
  • 📊 Review insights (free). Per-app app review analysis: what users complain about, what they praise, and which app version made ratings drop. See Review insights.
  • 🧾 SUMMARY record in the key-value store lists the review count (or the error) for every app and country.

Use cases

  • Product managers – see the top complaints after each release and the rating per app version, without reading every review.
  • App marketers / ASO – track rating trends and competitor reviews across countries.
  • Support teams – find unanswered Google Play reviews (developerReply is empty).
  • Data and AI teams – start from the built-in topics and sentiment, then feed review text into your own models or an LLM summary.
  • Agencies – monthly review reports for client apps on both stores.

How to use it

  1. Click Try for free. The prefilled input (Duolingo on Google Play and Spotify on the App Store, 300 reviews each, US) ran in 9.5 seconds in our test and costs about $0.06, including the insights report.
  2. Replace the apps with your own links or IDs and set Max reviews per app and country.
  3. Optional: add countries, star filters or a "since" date.
  4. Click Start, then export the dataset as CSV, Excel or JSON, or read it through the API.

Input example

{
"apps": [
"https://play.google.com/store/apps/details?id=com.spotify.music",
"https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"
],
"maxReviewsPerApp": 50,
"countries": ["us"]
}

Other options: insights (default on, free), insightsIgnoreWords, sort (newest or helpful), minRating, maxRating, sinceDate (YYYY-MM-DD), language (Google Play, default en), includeReviewerNames (default off).

Output example (from a real public run)

The prefilled input above returned 100 reviews (50 per store) in 4.6 seconds of run time (run KwugbuZEwYVVggJKI). Two of the rows:

[
{
"store": "google-play",
"appId": "com.spotify.music",
"appName": "Spotify: Music and Podcasts",
"country": "us",
"reviewId": "74467ec7-dc16-439a-b0aa-9c76b5a72a11",
"rating": 4,
"title": null,
"text": "very helpful but it is not for free",
"date": "2026-10-15T18:29:48.130Z",
"appVersion": "9.1.90.2270",
"thumbsUp": 0,
"developerReply": null,
"developerReplyDate": null,
"reviewUrl": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=74467ec7-dc16-439a-b0aa-9c76b5a72a11"
},
{
"store": "app-store",
"appId": "324684580",
"appName": "Spotify: Music and Podcasts",
"country": "us",
"reviewId": "14665076616",
"rating": 5,
"title": "Facts",
"text": "Where would I be without it tho",
"date": "2026-10-14T10:41:04.000Z",
"appVersion": "9.1.90",
"thumbsUp": 0,
"developerReply": null,
"developerReplyDate": null,
"reviewUrl": "https://apps.apple.com/us/app/id324684580?see-all=reviews"
}
]
FieldMeaning
storegoogle-play or app-store
appId, appName, countryWhich app and storefront the review came from
reviewIdThe store's review ID (use it to dedupe scheduled runs)
rating1–5 stars
titleReview title (App Store only; Google Play has none)
textReview text
dateISO 8601, UTC
appVersionApp version the reviewer used, when the store gives it
thumbsUpHelpful votes (Google Play) or vote sum (App Store)
developerReply, developerReplyDateDeveloper's public reply (Google Play)
reviewUrlLink to the review or the app's reviews page
reviewerNameOnly when includeReviewerNames is on

Review insights (app review analysis)

Every run also saves a per-app analysis to the key-value store, at no extra charge:

  • INSIGHTS_REPORT: a readable HTML report (open it from the run's Output tab).
  • INSIGHTS: the same data as JSON for dashboards, Sheets or an AI agent.

What it contains for each app:

SectionWhat you get
Rating distributionReviews and share for 1 to 5 stars, average rating
Review sentimentPositive (4 to 5 stars), neutral (3) and negative (1 to 2) shares
Topics12 common app topics (crashes and bugs, ads, price and subscription, login, speed, design, updates, support, notifications, sync, feature requests, privacy) with review counts, average stars and negative share
KeywordsThe most mentioned words and two-word phrases, with average stars
Top complaints and praiseWords that show up far more in 1 to 2 star (or 4 to 5 star) reviews than usual, each with real example quotes, stars, date and app version
Rating by app versionReviews, average stars and negative share per version, plus versions rated well below average
Rating over timeBy day, week or month depending on the date range

How it works: sentiment comes from the star rating, and topics use English keyword rules. There is no AI model in the loop, so results are repeatable and cost nothing extra. Collect at least 300 reviews per app for useful themes, and use sinceDate or a larger max to cover more versions and a longer trend.

Insights example (from a real run)

Run 0cCvQuaqfVxm8P4KT with the prefilled input (24 Oct 2026) analysed 300 Duolingo reviews from Google Play and 300 Spotify reviews from the App Store. Duolingo: average 4.41 stars, 11.3% negative; top complaint theme "lesson" (12 negative mentions, example: "Their animations take up more time than their lessons."). Part of the Spotify result:

{
"store": "app-store",
"appId": "324684580",
"appName": "Spotify: Music and Podcasts",
"countries": [
"us"
],
"reviewsAnalysed": 300,
"dateRange": {
"from": "2026-10-22",
"to": "2026-10-22"
},
"avgRating": 3.98,
"sentimentByStars": {
"positivePct": 71.7,
"neutralPct": 5.7,
"negativePct": 22.7
},
"ratingDistribution": {
"5": {
"reviews": 195,
"pct": 65
},
"4": {
"reviews": 20,
"pct": 6.7
},
"3": {
"reviews": 17,
"pct": 5.7
},
"2": {
"reviews": 19,
"pct": 6.3
},
"1": {
"reviews": 49,
"pct": 16.3
}
},
"topics": [
{
"topic": "pricing",
"label": "Price, subscription and payments",
"reviews": 59,
"avgRating": 3.05,
"negativePct": 42.4,
"mentionsPct": 19.7
},
{
"topic": "ads",
"label": "Ads",
"reviews": 39,
"avgRating": 2.85,
"negativePct": 51.3,
"mentionsPct": 13
},
{
"topic": "updates",
"label": "Updates and changes",
"reviews": 18,
"avgRating": 2.78,
"negativePct": 50,
"mentionsPct": 6
}
],
"negativeThemes": [
{
"term": "ads",
"mentions": 46,
"mentionsPct": 15.3,
"avgRating": 2.98,
"negativePct": 45.7,
"positivePct": 41.3,
"negativeMentions": 21,
"examples": [
{
"quote": "Too many ads.",
"rating": 2,
"date": "2026-10-22",
"appVersion": "9.1.92",
"thumbsUp": 0
}
]
},
{
"term": "song",
"mentions": 66,
"mentionsPct": 22,
"avgRating": 3.5,
"negativePct": 34.8,
"positivePct": 57.6,
"negativeMentions": 23,
"examples": [
{
"quote": "Shuffle will play the same 20 songs over and over out of your playlist.",
"rating": 1,
"date": "2026-10-22",
"appVersion": "9.1.92",
"thumbsUp": 0
}
]
}
],
"positiveThemes": [
{
"term": "life",
"mentions": 9,
"mentionsPct": 3,
"avgRating": 5,
"negativePct": 0,
"positivePct": 100,
"positiveMentions": 9,
"examples": [
{
"quote": "Thank you Spotify for making my life better.",
"rating": 5,
"date": "2026-10-22",
"appVersion": "9.1.92",
"thumbsUp": 0
}
]
}
],
"ratingByVersion": [
{
"appVersion": "9.1.92",
"reviews": 300,
"avgRating": 3.98,
"negativePct": 22.7,
"firstSeen": "2026-10-22",
"lastSeen": "2026-10-22"
}
],
"ratingOverTime": {
"unit": "day",
"periods": [
{
"period": "2026-10-22",
"reviews": 300,
"avgRating": 3.98,
"negativePct": 22.7
}
]
}
}

How much does it cost to scrape app reviews?

EventPrice
Review saved to the dataset$0.0001 ($0.10 per 1,000)
Actor start$0.00005 per run (per GB of memory; default 256 MB)
JobArithmeticCost
One-click example (100 reviews)100 × $0.0001 + $0.00005≈ $0.01
1 app, both stores, 1,000 reviews1,000 × $0.0001$0.10
10 competitor apps × 500 reviews5,000 × $0.0001$0.50

Never charged: apps that can't be found or fail, reviews removed by your star or date filters, and the review insights report. You can also set Max cost per run in the run options.

Integrations (API, AI agents, Make, Zapier)

curl -X POST "https://api.apify.com/v2/acts/chris_elder~app-reviews-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"apps":["com.spotify.music","324684580"],"maxReviewsPerApp":200,"maxRating":2}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("chris_elder/app-reviews-scraper").call(run_input={"apps": ["com.spotify.music"], "maxReviewsPerApp": 500})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
print(review["rating"], review["text"])
  • MCP for AI agents: https://mcp.apify.com/?tools=chris_elder/app-reviews-scraper
  • Make, Zapier and n8n: use their "Run Actor" module.
  • Schedule a daily run with sinceDate and sort: newest to collect only new reviews, and add a webhook to send them on.

Limits and good to know

  • App Store: Apple's public reviews feed returns at most 500 of the most recent (or most helpful) reviews per app and country (10 pages × 50). Add more countries to collect more. App Store developer replies are not in that feed.
  • Google Play: no fixed cap; large jobs (tens of thousands of reviews) take longer. Reviews come in the language you set in language.
  • An app name is matched to the first App Store search result. Use a link or ID when you need a specific app.
  • Stores can change their pages or feeds. If something breaks, open an Issue and it gets fixed.

The Actor reads public review pages and Apple's public feeds, the same data anyone sees in the stores. It does not log in and does not collect reviewer names unless you turn that on. Reviews can contain personal data, so you are responsible for using the data lawfully (for example under GDPR). See Apify's post Is web scraping legal?.

FAQ

Can I get only negative reviews? Yes. Set maxRating to 2.

Does it do sentiment analysis? Yes, the free insights report gives star-based review sentiment, topics and top complaints per app. For deeper text analysis, send the dataset to an LLM through the API or MCP.

Which app version caused the bad reviews? Look at "Rating by app version" in INSIGHTS_REPORT. Versions rated 0.4 stars or more below the app's average are listed at the top.

How do I get only new reviews every day? Schedule the Actor with sort: newest and sinceDate. It stops as soon as it reaches older reviews, so you pay only for new ones.

Why did I get fewer than my max for the App Store? Apple's feed holds at most 500 recent reviews per country, and some apps have fewer in a given country.

Do I need a Google or Apple account or API key? No.

Can I export to Excel or Google Sheets? Yes. Export the dataset as CSV/Excel, or use the Google Sheets Sync Actor below.

Support, reliability and feature requests

  • Bugs reported in the Issues tab are read and answered, and fixes are tested on real apps before release.
  • Failed apps are never charged.
  • Tested on Spotify (both stores) and Duolingo (App Store, found by name) in the US and UK, plus a non-existent package name (skipped, not charged).
  • Built by GPT Shop Ltd with AI-assisted development; every release is reviewed and tested.

More tools from GPT Shop Ltd

Done-for-you

Need this run for you or customised? Done-for-you data from £49: https://tools.gptshopltd.com/done-for-you-scraper/