App Store & Google Play Reviews Scraper - Both Stores, One Run
Pricing
$0.30 / 1,000 review scrapeds
App Store & Google Play Reviews Scraper - Both Stores, One Run
Scrape App Store AND Google Play reviews in ONE run - the only Actor covering both stores together, so you can compare iOS vs Android feedback without merging two exports. Free insights report: complaint keywords, rating trends by version. $0.30 per 1,000 reviews.
Pricing
$0.30 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Gezgin Data
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Scrape App Store and Google Play reviews in a single run. Every other review scraper covers one store at a time, so comparing iOS against Android means running two tools and merging the exports yourself. This one pulls both, normalises them into identical fields, and puts them side by side.
On top of the raw reviews you get a built-in insights report at no extra cost — no LLM, no API key: rating trends by app version, top complaint and praise keywords, feature-request signals, suspicious spike detection, and a cross-app comparison. $0.30 per 1,000 reviews, and it runs on the free Apify plan.
App review insights report: complaint analysis, version trends, and cross-app comparison
The built-in insights report turns raw reviews into answers: a complaint and praise keyword analysis, rating trends by app version, feature-request signals, suspicious-spike detection, and a side-by-side cross-app comparison when you scrape more than one app.
What it does
- Scrapes reviews from Google Play and/or the Apple App Store (pure HTTP — no browser, free-plan compatible).
- Normalises both sources into a unified schema (same fields for both stores).
- Computes insights (pure Python analytics):
- Rating distribution (1–5 stars)
- Rating trend by month
- Rating by app version — the killer developer insight: which release tanked or improved the score
- Top complaint keywords from 1–2★ reviews
- Top praise keywords from 4–5★ reviews
- Feature-request signal detection ("please add", "wish", "would be great", "fehlt", etc.)
- Suspicious spike months (possible fake/incentivised burst of reviews)
- Cross-app comparison table (when scraping multiple apps)
- Writes the insights as JSON (
INSIGHTSKVS key) and as a clean HTML report (REPORTKVS key).
Use cases
- ASO (App Store Optimisation): understand what users love and hate to improve your store listing.
- Competitive analysis: compare your app's sentiment against competitors across both stores.
- Release quality monitoring: see exactly which version caused a rating drop.
- Feature roadmap: surface the most-requested features from user reviews.
- Review moderation / support: identify complaint clusters to address in the next release.
Input
| Field | Type | Default | Description |
|---|---|---|---|
googlePlayAppIds | string[] | ["com.whatsapp"] | Package names or Play Store URLs |
appleAppIds | string[] | [] | Numeric Apple IDs or App Store URLs |
country | string | "us" | Store country code (ISO 3166-1 alpha-2) |
language | string | "en" | Language code (ISO 639-1) |
maxReviewsPerApp | integer | 200 | Max reviews per app (Apple caps at ~500 via RSS) |
generateInsights | boolean | true | Generate the insights report |
maxRunTimeSecs | integer | 3000 | Internal run deadline |
At least one of googlePlayAppIds or appleAppIds must be non-empty.
Example input (JSON)
{"googlePlayAppIds": ["com.whatsapp", "com.spotify.music"],"appleAppIds": ["310633997"],"country": "us","language": "en","maxReviewsPerApp": 200,"generateInsights": true}
Output
Dataset — unified review records
Each record has the same fields regardless of the source store:
{"source": "googlePlay","appId": "com.whatsapp","appName": "WhatsApp Messenger","reviewId": "gp:AbcDef123...","userName": "JohnDoe","rating": 5,"title": null,"text": "Works perfectly, love the encryption.","appVersion": "2.24.10.73","thumbsUp": 12,"date": "2024-05-03T14:22:00+00:00","replyContent": null,"replyDate": null,"country": "us","language": "en"}
Note:
titleis null for Google Play (no review titles).thumbsUpis null for Apple App Store.replyContent/replyDateare null for Apple (not available in the public RSS feed).
KVS: INSIGHTS (JSON)
{"apps": {"googlePlay:com.whatsapp": {"appName": "WhatsApp Messenger","averageRating": 4.21,"storeAverageRating": 4.4,"storeRatingCount": 185000000,"ratingDistribution": { "5": {"count": 31, "pct": 62.0}, ... },"ratingByVersion": {"2.24.10.73": {"reviewCount": 18, "avgRating": 4.50},"2.24.9.81": {"reviewCount": 12, "avgRating": 3.25}},"topComplaintTerms": [{"term": "crashes", "count": 8}, ...],"topPraiseTerms": [{"term": "easy use", "count": 14}, ...],"featureRequestSignals": {"count": 6, "snippets": ["please add voice messages..."]},"suspiciousSpikeMonths": [],...}},"comparison": [{"appName": "WhatsApp Messenger", "store": "googlePlay", "averageRating": 4.21, ...}]}
KVS: REPORT (HTML)
A standalone HTML page with colour-coded rating cards, star distribution bars, version rating table, keyword pills, feature request snippets, trend table, and comparison table. Open directly in a browser or embed in a dashboard.
Google Play field mapping
| google-play-scraper field | Actor field |
|---|---|
title (app metadata) | appName |
score (app metadata) | storeAverageRating |
ratings | storeRatingCount |
version | currentVersion (metadata) |
reviewId | reviewId |
userName | userName |
content | text |
score (review) | rating |
thumbsUpCount | thumbsUp |
reviewCreatedVersion | appVersion |
at (datetime) | date (ISO 8601) |
replyContent | replyContent |
repliedAt | replyDate (ISO 8601) |
Apple App Store field mapping
| iTunes endpoint / field | Actor field |
|---|---|
Lookup trackName | appName |
Lookup averageUserRating | storeAverageRating |
Lookup userRatingCount | storeRatingCount |
Lookup version | currentVersion (metadata) |
RSS id.label | reviewId |
RSS author.name.label | userName |
RSS title.label | title |
RSS content.label | text |
RSS im:rating.label | rating |
RSS im:version.label | appVersion |
RSS updated.label | date |
| n/a | thumbsUp = null |
| n/a | replyContent = null |
Pricing
Pay per review scraped ($0.0003/review = $0.30 per 1,000), no per-run start fee. The insights report is always included free. Cheaper than most App Store review scrapers — and the only one that also returns a built-in analysis report. A run with 200 Google Play reviews + 200 Apple reviews = $0.12 total.
Limitations
- Apple App Store RSS caps at ~500 reviews per app (10 pages × 50).
- Apple RSS does not provide developer replies or thumbs-up counts.
- Reviews are fetched in "most recent" order; historical bulk export is not supported by the public endpoints.
- Language/country filter on Apple applies to the store region; Apple RSS returns mixed languages.
Technical notes
- Pure HTTP — no browser, no Playwright. Runs on Apify free plan (512 MB memory is sufficient).
google-play-scraperPyPI package handles Google Play pagination and anti-bot headers.- Apple App Store uses the public iTunes RSS feed + lookup API (no authentication).
- Insights computed in pure Python (no LLM, no paid API).