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

5

Total users

1

Monthly active users

10 days 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.

Scrape several countries in one run too: list us, jp, br, de and every app is pulled in every market, each in its local language, with a country-by-country comparison in the report.

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 (works across languages, including Japanese, Chinese, Korean, Spanish and Portuguese), feature-request signals, developer reply rates, 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), in one or many countries.
  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 in 12 languages ("please add", "fehlt", "por favor adicionem", "追加してほしい", "希望", etc.)
    • Developer reply rate (Google Play): share of reviews answered, share of 1–2★ reviews answered, median reply time — benchmark your support against competitors
    • Country comparison (multi-country runs): the same app's rating, reply rate and top complaint per market, weakest market first
    • 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
countriesstring[]["us"]Store country codes — every app is scraped in every country
countrystring"us"Single country, used only when countries is empty (legacy)
languagestring""Leave empty for each country's main language (jp → ja, br → pt); set e.g. "en" to force one language
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"],
"countries": ["us", "jp", "br"],
"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.
  • Developer reply rates are Google Play only — Apple does not publish replies in its public feed.
  • Keyword analysis for Chinese and Japanese uses character pairs rather than a full dictionary, so a few split-word fragments can appear. Thai reviews are scraped, but Thai keyword results are unreliable (no spaces between words).
  • In multi-country runs the INSIGHTS keys include the country (googlePlay:com.whatsapp:jp); single-country runs keep the plain googlePlay:com.whatsapp format.

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).

中文说明

一次运行,同时抓取 App Store 和 Google Play、多个国家/地区的用户评论。 两个商店的评论会被整理成相同的字段,可以直接对比 iOS 和 Android 用户的反馈,也可以对比不同市场。适合出海开发者、产品经理和 ASO 团队。

为什么用它:

  • 按条计费,无需订阅:每 1,000 条评论 0.30 美元,没有月费,也没有每次运行的启动费。偶尔分析一次竞品,也只需为实际抓取的评论付费。
  • 原始数据,自由使用:结果可导出为 JSON、CSV 或 Excel,也可以通过 Apify API 接入你自己的数据流程或 AI 分析。
  • 多市场一次搞定:在 countries 中填入 us、jp、br 等多个国家代码,每个 App 会在每个市场分别抓取,并自动使用当地语言。报告会按国家对比评分、开发者回复率和主要差评点,评分最低的市场排在最前。
  • 自带分析报告(免费):按版本统计评分(看出是哪个版本拉低了评分)、差评和好评高频词(支持日语、韩语、中文、西班牙语、葡萄牙语等多种语言)、功能需求信号、开发者回复率(Google Play)、异常评论激增检测,以及多款 App 的横向对比。
  • 云端运行:无需 API 密钥,无需浏览器,也不用自己配置海外网络环境或代理。Apify 免费套餐即可运行。

适用场景:

  • 新版本上线后,监控海外用户的口碑变化
  • 对比海外竞品在两个商店的评价
  • 从差评中找出崩溃、付费、广告等核心痛点
  • 为下一个版本的功能规划收集用户需求

使用方法:

  1. 在 googlePlayAppIds 中填入包名(如 com.whatsapp)或 Google Play 链接
  2. 在 appleAppIds 中填入数字 ID(如 310633997)或 App Store 链接
  3. 在 countries 中填入要覆盖的市场(如 us、jp、br),每行一个。language 留空即可按国家自动选择语言
  4. 运行结束后,在 Dataset 中查看评论,在 Key-value store 的 REPORT 中查看 HTML 报告

需要注意:

  • App Store 公开接口每个 App、每个国家最多返回约 500 条最新评论。
  • 开发者回复率仅适用于 Google Play(App Store 的公开接口不提供开发者回复)。
  • 中文和日语的关键词按双字词统计,偶尔会出现被拆开的词语片段。

有问题或功能建议?欢迎在 Issues 页面留言,中英文均可。


More data tools by Gezgin Data