App Store & Google Play Review Scraper
Pricing
from $0.30 / 1,000 review scrapeds
App Store & Google Play Review Scraper
Pull public app reviews from the Apple App Store and Google Play across all countries in one normalized feed. Signed out, no login, no API keys. Pay per review.
Pricing
from $0.30 / 1,000 review scrapeds
Rating
0.0
(0)
Developer
Jaxx
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
App Store & Google Play Review Scraper — Both Stores, All Countries
Pull public app reviews from the Apple App Store and Google Play — across every country storefront, in one normalized feed — for any app. Signed out, no login, no API keys. You pay per review.
Feed it Apple App Store IDs and/or Google Play package names, pick the countries you care about (or ["all"]), and get one clean, deduplicated table of reviews from both stores at once — the same schema whether a review came from Apple or Google, so you never reconcile two different scrapers again.
- ⭐ Star rating, title, full review text, app version, date, and helpful-count
- 🌍 Every storefront — fan out across all countries in a single run
- 🍎 + 🤖 Both stores, one schema — App Store and Google Play normalized together
- 💬 Developer responses where present
- 💰 Pay per review — an app with no reviews costs you nothing
🎯 Best for
- ASO & product teams — pull all reviews to mine keywords, bugs, and feature requests.
- Sentiment / LLM pipelines — a clean, normalized review feed to run through analysis or a model.
- Competitor & market research — scrape any competitor's app across both stores and all markets.
- International coverage — surface what users in every country actually say, not just the US.
- Support & QA monitoring — pull recent low-star reviews to catch regressions after a release.
⚙️ How it works
Fully signed out, plain HTTP — no browser, no login, no CAPTCHA, no API keys:
- Apple App Store — the public iTunes RSS customer-reviews feed, paginated across pages and fanned out across every requested storefront (up to ~500 most-recent reviews per storefront).
- Google Play — the public web reviews endpoint, per storefront and language.
- Reviews from both stores are normalized into one schema and deduplicated by their stable per-store ID.
Non-PII by design: the actor returns only a review's pseudonymous public display name — never an email, and never any author-contact enrichment.
▶️ How to use (no code)
- Open the actor and add your Apple App Store IDs (the number in
apps.apple.com/app/id123456789) and/or Google Play package names (theid=com.example.appin the Play URL). - Set Countries — e.g.
["us","gb","de","jp"], or["all"]for global coverage. - (Optional) filter by star rating (
minRating/maxRating), asinceDate, or amaxReviewsPerAppcap. - Click Start, then export the results as JSON, CSV, Excel, XML, or HTML — or pull them via the API.
📥 Input
| Field | Type | Default | Notes |
|---|---|---|---|
appStoreIds | array | — | Apple App Store numeric IDs (e.g. 389801252). Empty = Google Play only. |
googlePlayPackageIds | array | — | Google Play package names (e.g. com.instagram.android). Empty = App Store only. |
countries | array | ["us"] | ISO storefront codes, or ["all"] for all major storefronts. |
language | string | en | Google Play review language (BCP-47). |
maxReviewsPerApp | integer | 1000 | Cap per app per store, summed across countries. 0 = maximum available. |
sortBy | enum | mostRecent | mostRecent or mostHelpful. |
minRating / maxRating | integer | — | Only reviews within a star range (1–5). Pull only complaints (maxRating: 2) or praise (minRating: 4). |
sinceDate | ISO date | — | Only reviews on/after this date — for cheap incremental re-runs. |
includeAppMetadata | boolean | true | Also resolve app name (and, on the App Store, version, developer, rating count). |
Example input
{"appStoreIds": ["389801252"],"googlePlayPackageIds": ["com.instagram.android"],"countries": ["us", "gb", "de", "jp"],"sortBy": "mostRecent","maxReviewsPerApp": 500,"minRating": 1,"maxRating": 2}
📤 Output — one record per review
{"store": "app_store","appId": "389801252","appName": "Instagram","country": "us","language": "us","reviewId": "12040288301","rating": 1,"title": "Keeps crashing","body": "Since the last update the app crashes when I open reels…","authorHandle": "Cloud.Yeller","appVersion": "436.0.0","reviewDate": "2026-07-08T14:22:10-07:00","helpfulCount": null,"developerResponse": null,"reviewUrl": "https://itunes.apple.com/us/review?id=12040288301","scrapedAt": "2026-07-10T18:00:00.000Z"}
store is app_store or google_play. Fields that a given store doesn't expose come back null (e.g. title and reviewUrl on Google Play, helpfulCount on the App Store) — the schema stays identical across both.
💰 Pricing (pay-per-event)
You are charged a fixed price per result — not for compute or platform usage.
| Event | Price | Per 1,000 | When you're charged |
|---|---|---|---|
review-scraped | $0.0003 | $0.30 / 1,000 | Once per unique review returned. |
app-resolved | $0.004 | — | Once per app successfully resolved per store. An app/store that returns nothing costs nothing. |
What a run costs — a worked example: scraping 1 app across 4 countries returning 2,000 reviews total = 2,000 × $0.0003 = $0.60, plus 4 App Store + 4 Google Play resolutions = 8 × $0.004 = $0.032. Total ≈ $0.63.
The prices above are exactly what you're billed. Comparable review scrapers price per 1,000 results too — compare the live listings and pick what fits your volume.
❓ FAQ
Which stores and countries are covered?
Apple App Store and Google Play, any storefront. Pass a list of ISO country codes, or ["all"] to fan out across all major storefronts in one run.
How many reviews can I get per app? The App Store returns up to ~500 most-recent reviews per storefront, so covering more countries returns more reviews. Google Play returns recent reviews per storefront. For maximum depth, run across multiple countries.
Is this legal / is it personal data? The actor reads only publicly posted reviews, signed out, and returns only a pseudonymous display name — no email or contact data. Review text can still reference personal experiences, so use the data lawfully (GDPR/CCPA, each store's terms). If unsure about your use, consult your own counsel.
Do I pay for an app that has no reviews?
No. review-scraped only fires per review returned, and app-resolved isn't charged for an app/store that yields nothing.
Can I get only 1-star reviews (or only 5-star)?
Yes — set maxRating: 2 for complaints or minRating: 4 for praise.
Can I run it on a schedule or from my own code?
Yes — schedule it in the Apify Console, call it via the API, drive it with the apify-client SDKs (JS/Python), or wire the output into Make, Zapier, Slack, Google Sheets, or a webhook.
🔌 API-ready
Apify auto-generates integration snippets for this actor — JavaScript, Python, CLI, REST, OpenAPI, and an MCP server — so you can drop it into your own stack or an agent workflow. See the API tab on the actor page.
Maintainer
Published by Jaxx. Found an app that should parse but didn't, or a field you'd like added? Open an issue on the actor's Issues tab — reports and edge cases are actively reviewed.