Google Play Store Scraper
Pricing
Pay per event
Google Play Store Scraper
Scrape Google Play app data: keyword search, app details, top charts, developer portfolios and similar apps. Every record carries 57 fields — installs, ratings histogram, screenshots, IAP range, developer legal contact, permissions, data safety and reviews. No headless browser.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Crikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Pull Android app data straight from the Google Play Store — by keyword, by package name, off the top charts, out of a developer's portfolio, or from Google's own "similar apps" graph. Every app comes back as one flat row with 57 fields: installs, ratings histogram, screenshots, in-app purchase range, release and update dates, content rating, and the publisher's contact and legal details.
No headless browser, no API key, no login. Roughly 6 apps per second at default concurrency.
What it does
Pick a mode, fill in the one list it reads, and run:
| Mode | Reads | Returns |
|---|---|---|
| Search | searchTerms | Apps matching each keyword, in store rank order |
| App details | appIds | The full record for package names or Play Store URLs you already have |
| Top charts | collection + category | A ranked chart — Top free, Top paid or Top grossing, overall or per category |
| Developer | developerIds | Every app a publisher has on the store |
| Similar | appIds | The apps Google shows as similar to yours — your real competitive set |
Any mode can be enriched per app with user reviews, declared Android permissions, the Data Safety disclosure, and the similar apps list.
Fields
Every row carries the same keys, so a dataset mixing modes still exports to one clean CSV.
Identity appId · url · title · summary · description · descriptionHtml
Media icon · headerImage · screenshots · video · videoImage · previewVideo
Ratings score · scoreText · ratingsCount · reviewsCount · histogram (1–5 star counts)
Installs installs · minInstalls · maxInstalls
Money price · currency · priceText · free · originalPrice · discountEndDate · offersIap · iapRange
Availability available · preregister · earlyAccessEnabled · isAvailableInPlayPass
Taxonomy genre · genreId · categories
Publisher developer · developerId · developerInternalId · developerEmail · developerWebsite · developerAddress · developerLegalName · developerLegalEmail · developerLegalAddress · developerLegalPhone · privacyPolicy
Compliance contentRating · contentRatingDescription · adSupported
Release released · updatedTimestamp · updatedAt (ISO) · version · recentChanges · androidVersion · androidVersionText · androidMaxVersion
Provenance source · searchTerm · collection · category · developerQuery · similarTo · rank
Enrichment (opt-in) permissions · dataSafety · similarApps · reviews
Run context country · language · scrapedAt
rank is the app's position in the result Google returned, preserved per keyword or chart — which
is what makes this usable for ASO tracking rather than just a list of apps.
Example input
Keyword research with full records and 50 reviews each:
{"mode": "search","searchTerms": ["habit tracker", "budget planner"],"maxItems": 100,"fullDetail": true,"maxReviewsPerApp": 50,"country": "us","language": "en"}
The top 200 free finance apps in Germany:
{"mode": "topCharts","collection": "TOP_FREE","category": "FINANCE","maxItems": 200,"country": "de","language": "de"}
Your competitive set, with permissions and data-safety disclosures:
{"mode": "similar","appIds": ["com.myfitnesspal.android"],"maxItems": 50,"includePermissions": true,"includeDataSafety": true}
Example output (trimmed)
{"appId": "com.spotify.music","url": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=us","source": "search","searchTerm": "music streaming","rank": 1,"title": "Spotify: Music and Podcasts","score": 4.32,"ratingsCount": 34781234,"histogram": { "1": 1820331, "2": 512980, "3": 1104772, "4": 3241009, "5": 28102142 },"installs": "1,000,000,000+","minInstalls": 1000000000,"free": true,"offersIap": true,"iapRange": "$0.99 - $199.99 per item","genre": "Music & Audio","developer": "Spotify AB","developerEmail": "support@spotify.com","developerLegalName": "Spotify AB","contentRating": "Teen","adSupported": true,"released": "Oct 6, 2011","updatedAt": "2026-08-04T09:12:18.000Z","version": "9.0.42.123","country": "us","language": "en"}
Things worth knowing
Search returns 22–30 apps per keyword. That is Google's own limit — the store renders a single results cluster and there is no deeper page to fetch, for anyone. For more volume, pass more keywords, or use Top charts, which paginates properly (200+ apps in one call).
fullDetail is on by default, and it is the point. With it off you get only the 12 fields the
listing page carries — title, ID, icon, developer, price, score, summary. With it on, each app is
fetched individually for the complete 57-field record. Turn it off when you only need a ranked list
of package names and want it fast.
maxItems is a hard cap on billable rows across the whole run, counted after de-duplication.
Set it to 0 to take everything the store returns.
Nothing charges except a real app record. If a query legitimately returns nothing, the run still writes one row explaining what happened, free. If a single app 404s mid-run, that failure is written as its own free row and the rest of the run continues. You are never billed for a miss.
Country changes the answer. Prices, availability and chart order are all per-store. Set both
country and language; a mismatched pair returns English copy with local pricing.
Proxy. Google Play serves datacenter IPs the same payload as residential ones, so the default Apify datacenter proxy is all this needs. Residential is available but is not worth the cost here.
Reliability
Each app lookup is retried with exponential backoff on transient failures and abandoned immediately
on a genuine 404. Enrichment calls (permissions, data safety, similar, reviews) can never sink a
record — they fail to null and the app row is still written. A RUN_SUMMARY record in the run's
key-value store reports what was requested, what was written, and every query that failed.