Google Play Data API Scraper
Pricing
from $1.00 / 1,000 results
Google Play Data API Scraper
Unofficial REST-style API for Google Play Store. Search apps, get full details, extract reviews, list category top charts, fetch developer profiles, get app permissions. Built for developers, ASO tools, and app analytics platforms.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Logiover
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
📱 Google Play Data API — Unofficial REST-style Scraper for Google Play Store
One actor. Ten endpoints. Sub-3-second cold start. The fastest, most complete unofficial Google Play API on Apify — built for developers, ASO platforms, market researchers, AI agents, and anyone who needs structured data from the Play Store without the hassle of a Google Developer Console account.
Search apps by keyword, pull full app details, scrape reviews with automatic pagination, get top charts by category, find similar apps, list a developer's portfolio, mine autocomplete suggestions for ASO keyword research, audit permissions and data-safety info — all from a single Apify actor.
No headless browser. No proxy required. No login. Pure HTTP. Just JSON.
🎯 What you can do with this Google Play scraper
| You want to… | Use mode | Typical input |
|---|---|---|
| Find apps matching a keyword | search | "query": "meditation" |
| Get every detail about a specific app | app | "appId": "com.spotify.music" |
| Pull thousands of user reviews | reviews | "appId": "...", "maxResults": 5000 |
| See top free / paid / grossing apps | list | "collection": "TOP_FREE" |
| Find competitors and similar apps | similar | "appId": "..." |
| List every app by a publisher | developer | "devId": "Spotify AB" |
| Get ASO autocomplete keywords | suggest | "query": "fit" |
| Audit Android permissions | permissions | "appId": "..." |
| Check Google Play data-safety info | datasafety | "appId": "..." |
| List all Google Play categories | categories | — |
Every result is tagged with a _mode field so you can run multiple modes back-to-back and slice the dataset afterwards.
🚀 Why developers, ASO teams, and analysts pick this actor
Compared with other Google Play scrapers on Apify
| Most others | This actor | |
|---|---|---|
| Endpoints | 1–3 (reviews only, or details only) | 10 endpoints in one |
| Cold start | 8–15 seconds (headless browser) | ~3 seconds (pure HTTP) |
| Reviews pagination | Manual / capped at 200 | Automatic, up to 100,000+ per app |
| Batch app lookups | Sequential | 5× concurrent |
| Output schema | Sparse / undocumented | 70 fields, all documented with examples |
| Dataset views | None | 4 pre-built views (Overview, Apps, Reviews, App details) |
| Maintenance | Often abandoned | Built on actively-maintained npm package |
Compared with Google's official Play Developer API
| Official Google API | This actor | |
|---|---|---|
| Access scope | Your own apps only | Any public app on Google Play |
| Reviews API | OAuth + Play Console required | Just call it |
| Search / discovery | Not available | Yes |
| Top charts | Not available | Yes |
| Competitor analysis | Not possible | Yes (search, similar, developer modes) |
| Setup time | Hours (OAuth, scopes, verification) | Seconds |
⚡ Quick start — three runs in 30 seconds
Run 1 — Search apps by keyword
{"mode": "search","query": "meditation","country": "us","language": "en","maxResults": 50}
Returns: 50 apps matching "meditation" with title, icon, developer, rating, install count, price, summary, and direct Play Store URL.
Run 2 — Get full details for one app
{"mode": "app","appId": "com.spotify.music","country": "us","language": "en"}
Returns: every public field — full description (text + HTML), 30+ screenshots, install bands, exact rating histogram (1-star to 5-star counts), version, last updated, content rating, ads/IAP flags, developer name/email/website/legal address, privacy policy URL, genre, and more.
Run 3 — Pull 1,000 newest reviews
{"mode": "reviews","appId": "com.spotify.music","country": "us","language": "en","maxResults": 1000,"reviewSort": "NEWEST"}
Returns: 1,000 reviews with user name, avatar, star rating, full review text, date, app version, helpful-votes count, developer reply text and date, and per-criterion sub-ratings (when available).
📖 All 10 endpoints in depth
1. mode: "search" — Keyword search
Find apps that match a search term — the same results a user sees when they type into Google Play's search bar.
{"mode": "search","query": "spotify","country": "us","language": "en","maxResults": 50,"fullDetail": false}
Set fullDetail: true to enrich each hit with the full 50+ field app record (slower, but no separate app calls needed).
Use cases: keyword tracking for ASO, finding competitors, niche discovery, building app directories.
2. mode: "app" — Full app details
Pull every public field for one app — or many apps in parallel (5× concurrency).
{"mode": "app","appIds": ["com.spotify.music", "com.zhiliaoapp.musically", "com.instagram.android"],"country": "us","language": "en"}
Returns 50+ fields including:
- Identity: appId, title, summary, description, descriptionHTML
- Ratings: score (float), scoreText (display), ratings count, reviews count, full histogram (1–5 star breakdown)
- Reach: installs (display band), minInstalls, maxInstalls, realInstalls
- Pricing: price, currency, free, priceText, offersIAP, IAPRange
- Visual assets: icon, headerImage, screenshots[], video, videoImage
- Metadata: version, recentChanges, released, updated (epoch ms), androidVersion, contentRating, genre, genreId, categories
- Developer: developer, developerId, developerEmail, developerWebsite, developerAddress, developerLegalName, developerLegalEmail
- Compliance: privacyPolicy, adSupported, isAvailableInPlayPass
- Availability: preregister, earlyAccessEnabled, available
Use cases: app intelligence dashboards, competitor pricing analysis, version monitoring, content rating compliance audits.
3. mode: "reviews" — User reviews with automatic pagination
Pull anywhere from 1 to 100,000+ reviews per app. Pagination is fully automatic — just set maxResults and the actor handles continuation tokens.
{"mode": "reviews","appId": "com.spotify.music","country": "us","language": "en","maxResults": 5000,"reviewSort": "NEWEST","reviewScore": null}
Sort options: NEWEST (default), RATING (highest first), HELPFULNESS.
Filter by star rating: set reviewScore: 1 to pull only 1-star reviews — handy for negative-sentiment monitoring.
Use cases: review sentiment analysis, NPS-style monitoring, support-load forecasting, version-bug tracking (filter reviews by version field after export), competitor weakness research.
4. mode: "list" — Top charts
Pull top-100 charts (or any size up to 200) for any collection × category combination Google Play exposes.
{"mode": "list","collection": "TOP_FREE","category": "GAME_PUZZLE","maxResults": 100,"country": "us","language": "en","fullDetail": false}
Collections: TOP_FREE, TOP_PAID, TOP_GROSSING, NEW_FREE, NEW_PAID, TRENDING.
Common category codes: GAME, BUSINESS, EDUCATION, FINANCE, SOCIAL, MUSIC_AND_AUDIO, PHOTOGRAPHY, PRODUCTIVITY, SHOPPING, TOOLS, TRAVEL_AND_LOCAL, HEALTH_AND_FITNESS, LIFESTYLE, ENTERTAINMENT, COMMUNICATION, NEWS_AND_MAGAZINES, MAPS_AND_NAVIGATION, FOOD_AND_DRINK, WEATHER, BOOKS_AND_REFERENCE, DATING, MEDICAL, PARENTING, BEAUTY, SPORTS, AUTO_AND_VEHICLES, HOUSE_AND_HOME, ART_AND_DESIGN, VIDEO_PLAYERS, PERSONALIZATION, COMICS, EVENTS, LIBRARIES_AND_DEMO. Game subcategories: GAME_ACTION, GAME_ADVENTURE, GAME_ARCADE, GAME_BOARD, GAME_CARD, GAME_CASINO, GAME_CASUAL, GAME_EDUCATIONAL, GAME_MUSIC, GAME_PUZZLE, GAME_RACING, GAME_ROLE_PLAYING, GAME_SIMULATION, GAME_SPORTS, GAME_STRATEGY, GAME_TRIVIA, GAME_WORD.
Use cases: chart-position tracking, category benchmarking, market trend analysis, country-by-country expansion research.
5. mode: "similar" — Apps similar to a given app
Get the "Similar apps" list that Google Play shows on every app page.
{"mode": "similar","appId": "com.spotify.music","country": "us","language": "en","maxResults": 30,"fullDetail": true}
Use cases: competitor mapping, market sizing for a niche, finding adjacent categories, ad-targeting lookalike audiences.
6. mode: "developer" — All apps by a publisher
List every app a developer has published on Google Play.
{"mode": "developer","devId": "Spotify AB","country": "us","language": "en","maxResults": 100,"fullDetail": false}
The devId is the developer's URL-encoded name (you'll find it in any of their app records as developerId).
Use cases: publisher portfolio analysis, M&A research, identifying "studio" releases, agency competitive monitoring.
7. mode: "suggest" — Autocomplete suggestions for ASO
Get the autocomplete suggestions Google Play shows as you type — gold for ASO keyword research because they reflect actual search behavior.
{"mode": "suggest","query": "fit","country": "us","language": "en"}
Returns: ranked list of suggested search terms (e.g. fitness apps, fitness tracker, fitness band).
Use cases: ASO keyword discovery, long-tail keyword mining, title and short-description optimization, paid UAC campaign keyword seeding.
8. mode: "permissions" — Android permissions
List every Android permission an app declares.
{"mode": "permissions","appId": "com.spotify.music","country": "us","language": "en","shortPermissions": false}
Set shortPermissions: true for compact string output instead of full permission objects.
Use cases: privacy audits, MDM (Mobile Device Management) policy compliance, security research, "what does this app access?" UX displays.
9. mode: "datasafety" — Google Play data-safety info
Pull the "Data safety" section that Google requires every developer to fill in — what data the app collects, whether it's shared, and security practices.
{"mode": "datasafety","appIds": ["com.spotify.music", "com.zhiliaoapp.musically"],"country": "us","language": "en"}
Use cases: GDPR/CCPA compliance research, vendor security reviews, consumer privacy tools, building "privacy nutrition label" UIs.
10. mode: "categories" — All Play Store categories
Get the full list of Google Play category codes — useful for populating filter UIs or for use in list mode.
{"mode": "categories"}
No other inputs needed.
⚠️ Known limitation: Google Play occasionally changes how it exposes its category list. When that happens, this endpoint may return a reduced list until the upstream library is updated. Common stable category codes are documented above under endpoint 4.
💡 Real-world use cases
ASO platforms and app store optimization tools
- Keyword tracking — run
searchmode daily across your tracked keywords, compute rank changes - Suggest mining — feed
suggestmode 1,000 seed terms, harvest tens of thousands of long-tail keywords - Competitor monitoring — run
appmode on competitors weekly, alert on title / description / screenshot changes - Top-chart tracking —
listmode by country + category for market-share dashboards
App intelligence and analytics platforms
- Bulk metadata ingestion —
appmode in batch (pass hundreds ofappIds) - Review streaming —
reviewsmode in a scheduled Apify task, deduplicate by reviewidserver-side - Install-band estimation —
minInstalls/maxInstallsfields give you Google's official bands per country - Pricing intelligence —
price,free,IAPRange,offersIAPfields for monetization research
AI agents and LLM-powered tools
- ChatGPT / Claude plugins — wrap this actor as a tool so users can ask "what are the top 10 mindfulness apps in Germany?"
- RAG pipelines — pull full app
description+ recentreviewsfor context-rich embeddings - Customer-support bots — given an app ID, fetch latest reviews + version + recent changes to answer "what's broken in the new version?"
Market research and consultancies
- Category benchmarking — top-100 free + grossing charts by country, joined to install bands
- Genre trend analysis — track which categories are growing by sampling top charts over time
- Publisher M&A research —
developermode to map a target's portfolio and revenue indicators
Privacy, compliance, and security teams
- Permission audits —
permissionsmode across hundreds of corporate-approved apps - Data-safety reviews —
datasafetymode for GDPR / app procurement workflows - Privacy "nutrition label" UIs — surface what an app collects in a user-friendly format
Internal alerting and product monitoring
- Your own app's reviews — schedule
reviewsmode hourly, alert on sudden 1-star spikes - Version drift — compare
versionfield run-over-run, alert when a new release hits Play Store - Competitor releases —
appmode on competitor IDs daily, alert onupdatedtimestamp change
🔌 Integration — call this actor from your stack
REST API (curl)
curl -X POST \"https://api.apify.com/v2/acts/YOUR-USERNAME~google-play-data-api/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "search","query": "meditation","maxResults": 50}'
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const { defaultDatasetId } = await client.actor('YOUR-USERNAME/google-play-data-api').call({mode: 'reviews',appId: 'com.spotify.music',maxResults: 1000,reviewSort: 'NEWEST',});const { items } = await client.dataset(defaultDatasetId).listItems();for (const review of items) {console.log(`${review.score}★ ${review.userName}: ${review.text}`);}
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR-USERNAME/google-play-data-api").call(run_input={"mode": "app","appIds": ["com.spotify.music", "com.instagram.android"],"country": "us","language": "en",})for app in client.dataset(run["defaultDatasetId"]).iterate_items():print(f"{app['title']:40s} ⭐ {app['score']:.1f} 📥 {app['installs']}")
No-code automation (n8n, Make, Zapier)
This actor works out-of-the-box with any tool that supports Apify's HTTP API. Trigger it on a schedule, push results to Google Sheets, Airtable, Notion, Slack, your warehouse — whatever you already use.
📊 Output format
Universal fields (on every item, every mode)
| Field | Type | Description |
|---|---|---|
_mode | string | Which endpoint produced this item — use it to filter when you mix modes |
scrapedAt | string (ISO 8601) | UTC timestamp of when this item was scraped |
Pre-built dataset views
Switch between these in the Apify dataset UI without any post-processing:
- Overview — universal columns across all modes (
_mode,appId,title,developer,score,installs,price,url) - App catalog — best for
search,list,similar,developermodes (icon, title, developer, rating, install band, price) - Reviews — best for
reviewsmode (user, rating, text, date, version, developer reply) - App details — wide view for
appmode (50+ fields including ratings, pricing, monetization, content rating, developer contact)
Export formats
The Apify dataset exposes the data as JSON, CSV, XLSX (multi-sheet workbook), HTML, RSS (great for review monitoring), and JSONLines (for streaming pipelines).
⚡ Performance benchmarks
Measured on Apify default resources, us locale:
| Operation | Time |
|---|---|
| Cold start (container spin-up to first result) | ~3 seconds |
search — 50 results | 2–4 seconds |
app — single app full details | 1–2 seconds |
app — batch of 100 apps (5× concurrency) | 20–30 seconds |
reviews — 1,000 reviews (auto-paginated) | 10–15 seconds |
reviews — 10,000 reviews | 90–120 seconds |
list — top 100 from a chart | 2–4 seconds |
similar — 30 results | 2–4 seconds |
developer — 50 apps by publisher | 2–4 seconds |
suggest — autocomplete | <1 second |
permissions / datasafety — single app | 1–2 seconds |
categories | <1 second |
Non-US locales may be slightly slower due to localization. Reviews retrieval scales linearly with maxResults.
🌍 Country and language support
Pass any combination of country (ISO 3166-1 alpha-2, e.g. us, gb, de, tr, jp, br, in, mx) and language (BCP 47, e.g. en, tr, de, fr, pt, ja, ar, hi).
The same app can have different titles, descriptions, ratings, screenshots, and even availability per locale. For accurate localized data, always pair country with the matching language.
Tested heavily in: us/en, gb/en, de/de, fr/fr, es/es, it/it, tr/tr, jp/ja, kr/ko, br/pt, mx/es, in/en, in/hi.
❓ FAQ
Is this an official Google API?
No — this is an unofficial scraper. It accesses only data that is publicly visible on the Google Play website, the same way a browser would. No authentication, no Play Console account, no OAuth.
Do I need a Google account or API key?
No. You only need an Apify account (free tier works for testing).
Is this legal?
This actor scrapes publicly available data from play.google.com. As with any scraper, use it responsibly: respect rate limits, follow Google's terms of service, and use the data for legitimate research, analytics, or product purposes. Bulk redistribution of Google's data or commercial resale may require additional consideration — consult your legal counsel.
How accurate is the rating data?
score is the floating-point average rating Google Play exposes (e.g. 4.3372774), and scoreText is the rounded display version ("4.3"). The histogram field gives you the exact 1-star to 5-star vote counts. ratings is the total rating count (including no-comment ratings) and reviews is the count of reviews that include text.
Can I scrape paid app prices and in-app purchases?
Yes — for paid apps price returns the numeric price in the requested country's currency. For apps with IAPs, offersIAP is true and IAPRange returns Google's price-range string (e.g. "$0.99 – $99.99 per item").
What about app screenshots and icons?
app mode returns the icon URL and a screenshots array with every screenshot (often 20–40 images). Each is a direct CDN URL — no auth required to fetch.
How do I get historical reviews (older than the last few months)?
Use reviewSort: "NEWEST" and crank maxResults up. The reviews endpoint will paginate backwards in time as long as Google Play exposes the reviews. In practice, you can pull tens of thousands of reviews from popular apps.
Why does the categories endpoint sometimes return only one item?
Google Play occasionally changes its HTML structure, which can break the upstream parser. The actor returns whatever the library finds. Common category codes are documented in the list endpoint section above — use those directly until the parser is updated upstream.
Can I run multiple modes in one actor run?
Each actor run executes one mode. To combine modes (e.g. search then reviews on every result), call the actor multiple times via the API and join the datasets on appId. Each result includes _mode so you can keep everything in a single combined dataset.
What's the difference between price=null and price=0?
This actor normalizes both to price: 0, free: true for consistency. If you want to distinguish "explicitly priced at 0" from "unpriced", look at priceText — free apps return "Free", while paid apps return the localized currency string.
How do I monitor my own app's reviews?
Set up a scheduled Apify task with this config:
{"mode": "reviews","appId": "YOUR.APP.ID","reviewSort": "NEWEST","maxResults": 100}
Schedule it hourly. Use the Apify dataset's RSS export to feed into Slack, email, or a webhook. Each review has a unique id so you can deduplicate.
Can I use this for App Store / iOS data too?
This actor covers Google Play (Android) only. For App Store (iOS) data, use a separate scraper.
Does this support proxy rotation?
The actor uses pure HTTP and works fine from Apify's default infrastructure without proxies. If your use case requires custom proxy routing for high-volume runs, you can configure proxy settings in the Apify run options.
🛠 Built on open source
This actor is built on top of google-play-scraper — the de-facto unofficial Google Play library (84,000+ weekly npm downloads, MIT-licensed, actively maintained since 2017). The actor wraps the library with:
- A unified mode-based interface so all 10 methods are accessible from one input form
- Automatic pagination for reviews
- Concurrent batch processing (5× workers) for app detail lookups
- Retry logic with exponential backoff for transient errors (429s, 5xx, network blips)
- Output normalization (consistent URL format, price/free reconciliation)
- A complete dataset schema with 70 fields and 4 pre-built views
- Production logging with per-mode and per-app progress
🆘 Support
Have an issue, a feature request, or a use case you'd like supported?
- Bug reports & feature requests: open an Issue on this actor's page
- Response time: typically within 24 hours
- Custom modifications: available on request — contact via Apify Console
Keywords
google play scraper · google play api · unofficial google play api · play store api · google play store scraper · google play reviews scraper · android app data api · google play search api · google play top charts · google play developer api · play store data extraction · app store data · android app reviews · aso keyword research · app intelligence platform · play store autocomplete · google play permissions · google play data safety · android app analytics · play store metadata · google play category scraper · google play similar apps · play store competitor analysis