App Store & Google Play Reviews Scraper + Insights Report
Pricing
$0.30 / 1,000 review scrapeds
App Store & Google Play Reviews Scraper + Insights Report
Scrape Google Play AND Apple App Store reviews, then get a built-in insights report — rating trends by version, complaint/praise keywords, feature-request signals, suspicious spike detection, and cross-app comparison. No API key needed. Pure HTTP, free-plan compatible. Pay per review scraped.
Pricing
$0.30 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Berkay
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
The only Google Play review scraper and Apple App Store review scraper that also delivers a built-in insights report — no extra cost, no LLM, no API key required. Runs on the free Apify plan.
Competitors return raw review rows. This actor gives you raw reviews plus analytics: rating trends by app version, top complaint/praise keywords, feature-request signals, suspicious spike detection, and cross-app comparison.
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).