App Store & Google Play Reviews & ASO Scraper
Pricing
from $0.50 / 1,000 app reviews
App Store & Google Play Reviews & ASO Scraper
Compare app store reviews. No API key / no login. Open Input → leave defaults → Start (1 app + 1 review page ≈ USD 0.003/row): https://console.apify.com/actors/KY0baTWeop8f7C8Ey/input From USD 3/1k.
Pricing
from $0.50 / 1,000 app reviews
Rating
0.0
(0)
Developer
naoki anzai
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 hours ago
Last modified
Categories
Share
App Store & Google Play Reviews Scraper
Open Input (leave defaults → Start)
Paid first-run JSON ≈ Try Input: 1 app + 1 review page ≈ USD 0.003/row. From USD 3/1k. Paste an app ID and Start. Keep the first run bounded; this does not change the Actor's Store pricing. Open Console Input (deep link above) and run this JSON.
{"appIds": ["1232780281"],"appUrls": [],"bundleIds": [],"searchTerms": [],"playAppIds": [],"playUrls": [],"maxAppsPerTerm": 1,"countries": ["us"],"language": "en","maxReviewPages": 1,"reviewSort": "mostRecent","includeReviews": true,"includeAppProfile": false,"minRating": 0,"proxy": {"useApifyProxy": false},"dryRun": false,"runMode": "snapshot","monitorKey": "app-aso-q","initialRunMode": "baseline_only","maxChargeUsd": 0.05,"emitUnchanged": false,"baselineStableKeys": []}
Store Quickstart
Run the bounded paid first-run JSON above first; keep report/export options off unless needed.
{"appIds": ["1232780281"],"appUrls": [],"bundleIds": [],"searchTerms": [],"playAppIds": [],"playUrls": [],"maxAppsPerTerm": 1,"countries": ["us"],"language": "en","maxReviewPages": 1,"reviewSort": "mostRecent","includeReviews": true,"includeAppProfile": false,"minRating": 0,"proxy": {"useApifyProxy": false},"dryRun": false,"runMode": "snapshot","monitorKey": "app-aso-q","initialRunMode": "baseline_only","maxChargeUsd": 0.05,"emitUnchanged": false,"baselineStableKeys": []}
{"appIds": ["1232780281"],"countries": ["us"],"maxReviewPages": 1,"includeReviews": true,"includeAppProfile": true,"runMode": "extract","maxChargeUsd": 0.25,"dryRun": false}
Use with Apify MCP
Exact actor: taroyamada/app-store-review-aso-scraper
Sample input JSON:
{"appIds": ["1232780281"],"maxAppsPerTerm": 5,"countries": ["us"],"language": "en","maxReviewPages": 5,"reviewSort": "mostRecent","includeReviews": true,"includeAppProfile": true}
ASO teams and product analysts use this Actor to acquire recent public app reviews and storefront profiles at low cost. Input Apple IDs, App Store URLs, bundle IDs, Google Play packages, or App Store search terms. Get normalized review rows and per-storefront rating, version, sentiment, and keyword snapshots.
Great for ASO teams, app marketers, product managers, and competitive/market research.
Run the next report
- Compare release-window review signals across apps with App Release & Category Review Benchmark Report.
What you get
For each app and storefront you can get:
- Every recent customer review (up to ~500 per storefront): rating, title, text, author, app version, helpful votes, date.
- An app profile / ASO snapshot: name, developer, price, genres, content rating, current version + release dates, official average rating and total rating count, plus computed signals from the review sample:
- Rating histogram (1–5 stars)
- Sentiment breakdown (positive / neutral / negative share)
- Versions seen in recent reviews
- Top keywords customers actually use
Inputs
Provide any combination of sources:
| Field | Description |
|---|---|
appIds | Apple numeric track IDs, e.g. 1232780281 |
appUrls | App Store URLs, e.g. https://apps.apple.com/us/app/notion/id1232780281 |
bundleIds | Apple bundle identifiers, e.g. com.notion.notion |
searchTerms | Keywords to discover App Store apps (ASO / competitor discovery) |
playAppIds | Google Play package names, e.g. com.spotify.music |
playUrls | Google Play URLs, e.g. https://play.google.com/store/apps/details?id=com.spotify.music |
countries | Storefront codes, e.g. ["us","gb","jp"] |
language | Language code for Google Play requests, e.g. en |
maxReviewPages | Pages of reviews per app per storefront (Apple ~50/page, Google Play ~100/page) |
reviewSort | mostRecent or mostHelpful |
minRating | Keep only reviews ≥ this rating (0 = all) |
includeReviews / includeAppProfile | Toggle each output type |
emitUnchanged / baselineStableKeys | For recurring monitoring, set emitUnchanged: false and pass stable keys from the previous run to emit and charge only new rows |
Example: same app on both stores
{"appIds": ["1232780281"],"playAppIds": ["notion.id"],"countries": ["us"],"maxReviewPages": 5}
Example: reviews for specific apps, two countries
{"appIds": ["1232780281"],"countries": ["us", "gb"],"maxReviewPages": 10,"reviewSort": "mostRecent"}
Example: discover competitors by keyword and snapshot them
{"searchTerms": ["habit tracker", "budget app"],"maxAppsPerTerm": 10,"countries": ["us"],"includeReviews": true,"includeAppProfile": true}
Example: recurring no-change-safe run
{"appIds": ["1232780281"],"countries": ["us"],"maxReviewPages": 1,"includeReviews": true,"includeAppProfile": true,"runMode": "monitor","monitorKey": "notion-us-reviews","initialRunMode": "baseline_only","emitUnchanged": false,"dryRun": false}
Output
Each dataset item is either an app_review or an app_profile row.
Review row (charged as app-review):
{"rowType": "app_review","appId": "1438388363","appName": "Habit Tracker","country": "us","reviewId": "14143606963","author": "Chelsea123","rating": 5,"title": "Love it","content": "Keeps me consistent every day...","appVersion": "2.14.11","voteSum": 3,"voteCount": 4,"updated": "2026-06-03T08:58:57-07:00","sourceUrl": "https://apps.apple.com/us/app/id1438388363"}
App profile row (charged as app-profile):
{"rowType": "app_profile","appId": "1438388363","appName": "Habit Tracker","country": "us","primaryGenre": "Productivity","version": "2.14.12","averageUserRating": 4.79,"userRatingCount": 141798,"ratingHistogram": { "1": 13, "2": 1, "3": 8, "4": 15, "5": 63 },"sentiment": { "positive": 78, "neutral": 8, "negative": 14, "positiveShare": 0.78 },"versionsSeen": [{ "version": "2.14.12", "count": 40 }],"topKeywords": [{ "word": "habits", "count": 24 }, { "word": "love", "count": 23 }]}
Pricing — pay for raw rows or ASO snapshots
| Event | Price | When |
|---|---|---|
app-review | $0.0005 | per public review row delivered |
app-profile | $0.02 | per app and storefront ASO snapshot |
app-review is the commodity row. The differentiated output is app-profile: official rating + total ratings, rating histogram, sentiment breakdown, top keywords, and versions seen, in one row. Turn it off (includeAppProfile: false) if you only want raw reviews; keep it on for ASO, product, and competitive research workflows.
How billing works (fair by design):
app-reviewis charged per review delivered. An app that returns no reviews produces no review charges; it is reported as a run warning only.app-profileis charged once per app per storefront, when the app's official profile is successfully retrieved. The profile carries value even with no recent reviews (official rating, total ratings, version, genre), so it is charged whenever you enable it and the app is found. If the app's metadata can't be retrieved, no profile is emitted or charged. SetincludeAppProfile: falseto never incur this event.- Recurring monitoring can avoid repeat charges: use
runMode: "monitor",initialRunMode: "baseline_only", andemitUnchanged: false. The first run stores a private baseline; unchanged later runs produce 0 dataset rows and 0 charges.
Use cases
- ASO reports — track keywords, ratings, and review themes for your app and competitors across storefronts.
- Product — surface bugs, churn drivers, and feature requests from recent reviews by version.
- Market & competitive research — snapshot a whole category by keyword and compare rating histograms and sentiment.
- Review monitoring / alerting — schedule recurring runs and feed new low-star reviews into your tools.
FAQ
- Does it need an account or API key? No. It uses Apple's public iTunes Search/Lookup/Customer-Reviews-RSS endpoints and Google Play's public store endpoints.
- How many reviews per app? Apple exposes the most recent ~500 per storefront (10 pages × 50). Google Play is paginated via
maxReviewPages(~100/page). Scrape more countries to widen coverage. - Which countries? Any storefront via its two-letter code (
us,gb,jp,de, ...). - Both stores? Yes — provide Apple sources (
appIds/appUrls/bundleIds/searchTerms) and/or Google Play sources (playAppIds/playUrls). Each row carries aplatformfield.
Compliance
Only public, non-authenticated Apple endpoints are used. Output is for research and analytics. Do not use review data to identify, target, or contact individual reviewers, or to generate or post fake reviews. See docs/source-compliance.md.