App Store & Google Play Reviews Scraper - Both Stores, One Run avatar

App Store & Google Play Reviews Scraper - Both Stores, One Run

Pricing

$0.30 / 1,000 review scrapeds

Go to Apify Store
App Store & Google Play Reviews Scraper - Both Stores, One Run

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

Gezgin Data

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

21 hours ago

Last modified

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.

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

  1. Scrapes reviews from Google Play and/or the Apple App Store (pure HTTP — no browser, free-plan compatible).
  2. Normalises both sources into a unified schema (same fields for both stores).
  3. 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)
  4. Writes the insights as JSON (INSIGHTS KVS key) and as a clean HTML report (REPORT KVS 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

FieldTypeDefaultDescription
googlePlayAppIdsstring[]["com.whatsapp"]Package names or Play Store URLs
appleAppIdsstring[][]Numeric Apple IDs or App Store URLs
countrystring"us"Store country code (ISO 3166-1 alpha-2)
languagestring"en"Language code (ISO 639-1)
maxReviewsPerAppinteger200Max reviews per app (Apple caps at ~500 via RSS)
generateInsightsbooleantrueGenerate the insights report
maxRunTimeSecsinteger3000Internal 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: title is null for Google Play (no review titles). thumbsUp is null for Apple App Store. replyContent/replyDate are 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 fieldActor field
title (app metadata)appName
score (app metadata)storeAverageRating
ratingsstoreRatingCount
versioncurrentVersion (metadata)
reviewIdreviewId
userNameuserName
contenttext
score (review)rating
thumbsUpCountthumbsUp
reviewCreatedVersionappVersion
at (datetime)date (ISO 8601)
replyContentreplyContent
repliedAtreplyDate (ISO 8601)

Apple App Store field mapping

iTunes endpoint / fieldActor field
Lookup trackNameappName
Lookup averageUserRatingstoreAverageRating
Lookup userRatingCountstoreRatingCount
Lookup versioncurrentVersion (metadata)
RSS id.labelreviewId
RSS author.name.labeluserName
RSS title.labeltitle
RSS content.labeltext
RSS im:rating.labelrating
RSS im:version.labelappVersion
RSS updated.labeldate
n/athumbsUp = null
n/areplyContent = 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-scraper PyPI 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).

More data tools by Gezgin Data