App Store & Google Play Scraper: Apps, Ratings, Charts
Pricing
from $0.50 / 1,000 apps
App Store & Google Play Scraper: Apps, Ratings, Charts
Public app data from the Apple App Store and Google Play in one clean schema: title, developer company, price, ratings and histogram, installs, version, release notes, Google Play reviews and Apple top charts. For app-market research and competitor tracking.
Pricing
from $0.50 / 1,000 apps
Rating
0.0
(0)
Developer
Folt Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
App Store & Google Play Scraper — Apps, Ratings, Reviews & Top Charts
Get public app data from the Apple App Store and Google Play in one clean schema: title, developer company, category, price and currency, rating average and count, rating histogram, installs, version, size, release notes, description, icon and screenshots — per country. Add Google Play reviews (with developer replies) and Apple top charts (top free / top paid) in the same run.
Built for app-market research, competitor tracking and product/marketing analytics: compare your app with competitors across countries, watch prices, ratings and release cadence, or track who climbs the charts.
Why use it
- 🍏🤖 Both stores, one schema — the same fields for App Store and Google Play apps, so you can put them side by side in one sheet
- 🌍 Per country — prices, currency, ratings, availability and charts for up to 50 storefronts per run
- 📊 Rich Google Play data — 1–5★ rating histogram, install range and install count, written-review count, ads / in-app purchase info
- 🏆 Apple top charts — top free and top paid, up to 100 ranks per country, optionally with a full app record for every charted app
- 💬 Google Play reviews without personal data — rating, text, app version, date, helpful count and the developer's reply. Reviewer names, avatars and ids are never returned; emails and phone numbers in text are redacted
- 🤝 Polite and transparent — only public, robots.txt-allowed pages and Apple's documented API; Apple's ~20 calls/minute limit is respected; every run records the robots.txt decision in its summary
- ⚡ Fast and cheap — no browser; 100 App Store apps are one API call
How to use
- Paste app ids or store URLs into Apps — mix both stores freely:
- App Store:
6448311069,id6448311069orhttps://apps.apple.com/us/app/chatgpt/id6448311069 - Google Play:
com.spotify.musicorhttps://play.google.com/store/apps/details?id=com.spotify.music
- App Store:
- Pick countries (2-letter codes, default
us) and, for Google Play texts, a language (en,de,pt-BR…). - Optionally add Apple top charts and tick Include reviews for Google Play reviews.
- Run. Use Max results or Apify's maximum cost per run to cap spending — the Actor stops cleanly.
Input example
{"apps": ["6448311069", "479516143", "com.spotify.music", "com.duolingo"],"countries": ["us", "de"],"language": "en","appleCharts": ["top-free"],"chartSize": 25,"includeReviews": true,"maxReviewsPerApp": 20}
Output
Four record types share one dataset: app, review, chart-entry and error (an input that failed, never charged). Real records from a test run on 2026-10-06 (long texts shortened here):
App Store app
{"type": "app","store": "apple","appId": "479516143","bundleId": "com.mojang.minecraftpe","country": "us","title": "Minecraft: Play with Friends!","developer": "Mojang","developerLegalName": "Mojang AB","developerId": "479516146","developerUrl": "https://apps.apple.com/us/developer/mojang/id479516146","genre": "Games","genres": ["Games", "Simulation", "Adventure"],"price": 6.99,"currency": "USD","priceText": "$6.99","free": false,"ratingAverage": 4.5071,"ratingCount": 841917,"ratingHistogram": null,"version": "26.52","sizeBytes": 1327799296,"minOsVersion": "13.0","contentRating": "9+","releaseDate": "2011-11-17T08:00:00.000Z","lastUpdated": "2026-09-28T16:23:50.000Z","releaseNotes": "Various bug fixes!","description": "Dive into an open world of building, crafting and survival. Gather resources, survive the night, and build whatever you can imagine one bloc…","supportedLanguages": ["DA", "NL", "EN", "FI", "…"],"iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/3b/b7/24/3bb724be-0244-933a-af48-ad2195689877/AppIcon-0-0-1x_U007emarketing-0-10-0-85-220.png/512x512bb.jpg","screenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/07/47/6f/07476fcd-1ecf-18ca-e7f7-364d6c6cd5e1/pr_source.png/406x228bb.png", "…"],"storeUrl": "https://apps.apple.com/us/app/minecraft-play-with-friends/id479516143","scrapedAt": "2026-10-06T15:08:39.202Z"}
Google Play app
{"type": "app","store": "google","appId": "com.duolingo","country": "us","language": "en","title": "Duolingo: Learn Languages","summary": "Make language learning fun with Spanish, French, English, chess, math & music.","developer": "Duolingo","developerId": "6957685454452609502","developerUrl": "https://play.google.com/store/apps/dev?id=6957685454452609502","developerWebsite": "https://www.duolingo.com/help/support-request","genre": "Education","genreId": "EDUCATION","price": 0,"currency": "USD","free": true,"inAppPriceRange": "$0.99 - $239.99 per item","containsAds": true,"ratingAverage": 4.7321,"ratingCount": 49510755,"ratingHistogram": { "1": 1025581, "2": 370222, "3": 1130252, "4": 5788262, "5": 41196389 },"reviewCount": 958793,"installs": "500,000,000+","minInstalls": 500000000,"installCount": 979094893,"version": null,"contentRating": "Everyone","releaseDate": "2013-05-29T12:18:00.000Z","lastUpdated": "2026-09-30T16:46:06.000Z","releaseNotes": "Our mascot owl, Duo, is trading in his usual diet of mice for bugs this week. Yup, we’re squashing those pesky bugs to make the experience b…","storeUrl": "https://play.google.com/store/apps/details?id=com.duolingo","scrapedAt": "2026-10-06T15:06:53.473Z"}
Google Play review — no reviewer identity; the reviewer's name is removed from the developer's reply too
{"type": "review","store": "google","appId": "com.ubercab","country": "us","reviewId": "feb5aa1b-c2fa-4f20-8b37-dffab90c9d1a","rating": 3,"title": null,"text": "The app itself has usually worked fine for getting a ride but often means finding your driver. It determines weird pickup spots sometimes, e…","appVersion": "4.646.10004","date": "2026-09-08T03:28:38.000Z","thumbsUpCount": 7,"developerReplyText": "Hi [name]! We would like to know more about this. It would be great if you could send out a description of this with details at t.uber.com/c…","developerReplyDate": "2020-01-17T06:20:15.000Z","storeUrl": "https://play.google.com/store/apps/details?id=com.ubercab"}
Apple chart entry
{"type": "chart-entry","store": "apple","chart": "top-free","country": "de","rank": 1,"appId": "6473753684","title": "Claude by Anthropic","developer": "Anthropic PBC","releaseDate": "2024-05-13","storeUrl": "https://apps.apple.com/de/app/claude-by-anthropic/id6473753684","chartUpdatedAt": "2026-10-06T15:07:22.000Z"}
Fields
| Field | App Store | Google Play |
|---|---|---|
appId | numeric id | package name |
developer / developerLegalName | developer name / legal seller name | developer name / — |
developerId, developerUrl, developerWebsite | ✓ | ✓ |
genre, genreId, genres | ✓ (all genres) | ✓ (primary) |
price, currency, priceText, free | ✓ | ✓ |
inAppPriceRange, containsAds | — | ✓ |
ratingAverage, ratingCount | ✓ (this country) | ✓ |
ratingHistogram (1–5★ counts) | — | ✓ |
reviewCount (written reviews) | — | ✓ |
installs, minInstalls, installCount | — | ✓ (installCount is the figure Google embeds in the page; the page itself only shows the range) |
version, minOsVersion | ✓ | when not "varies with device" |
sizeBytes | ✓ | — (Google no longer publishes it) |
contentRating, releaseDate, lastUpdated, releaseNotes, description | ✓ | ✓ |
summary (short description) | — | ✓ |
supportedLanguages | ✓ | — |
iconUrl, screenshotUrls (max 10), storeUrl | ✓ | ✓ |
Descriptions are clipped at 5,000 characters, release notes and review texts at 3,000. Missing values are null, never guessed.
Pricing
Pay per result: $0.50 per 1,000 apps, $0.10 per 1,000 reviews and $0.30 per 1,000 chart entries, plus $0.002 per run. Platform usage is included — you pay nothing else. Example: 50 competitor apps in 3 countries with 20 reviews each = 150 apps + 3,000 reviews ≈ $0.38. Error rows are free. Cap any run with Max results or Apify's maximum cost per run — the Actor stops cleanly.
Use cases
- Competitor tracking: schedule a daily run for your app and your competitors; chart ratings, rating counts, prices and release cadence over time
- Market research: compare prices, categories and ratings of an app across 50 countries and both stores
- Chart monitoring: who entered the top 100 in Germany this week, and which company is behind it
- Product feedback: what users praise or complain about in Google Play reviews, and how competitors reply
FAQ
Which countries work? Any App Store / Google Play storefront, as a 2-letter code (us, gb, de, bg, jp…). An app that isn't sold in a country returns an error row for that country.
Why are there no App Store reviews? Apple's customer-review feed (itunes.apple.com/{country}/rss/customerreviews/…) is disallowed by Apple's robots.txt (Disallow: /*/rss/*), and Apple's website terms forbid page scraping, so we don't collect them. App Store records still include the rating average and count.
How many Google Play reviews do I get? Up to 20 per app, country and language — the reviews Google shows on the public app page (its "most relevant" selection, not the newest). Loading more would require Google Play's internal endpoint, which its robots.txt disallows (Disallow: /_), so we don't use it. Running several countries or languages gives you different reviews.
Why is a review's date newer than the developer's reply? The date is when the review was last edited; reviewers often update old reviews after a reply.
Can I search by keyword? No. Both stores disallow their search pages in robots.txt (itunes.apple.com: Disallow: /search*, play.google.com: Disallow: /store/search). Use app ids / URLs, or start from the Apple top charts.
Is this personal data? Reviewer names, usernames, avatars and user ids are never output, the reviewer's name is removed from developer replies, and emails / phone numbers in texts are replaced with [email] / [phone]. Note that some developers publish under their own personal name — that is how the store lists them.
Limitations
- App Store: no reviews and no rating histogram (see FAQ). Ratings are per storefront. App texts come in the storefront's own language (the Language setting applies to Google Play only).
- Google Play: at most 20 reviews per app, country and language; reviews have no title; app size is not published;
version/minOsVersionarenullwhen Google shows "Varies with device". Google Play data is read from the public app page, so a change to Google's page layout can break it until we update the Actor. - Charts: Apple top free and top paid (iPhone apps), up to 100 ranks — the limit of Apple's public feed. Apple's feed server is sometimes slow; the Actor retries, and a chart that still fails returns an
errorrow. - No keyword search (see FAQ).
- Throughput: App Store lookups are throttled to Apple's documented ~20 calls/minute (100 apps per call); Google Play pages are fetched about one per second.