Google Play Data API Scraper avatar

Google Play Data API Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Google Play Data API Scraper

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

Logiover

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 modeTypical input
Find apps matching a keywordsearch"query": "meditation"
Get every detail about a specific appapp"appId": "com.spotify.music"
Pull thousands of user reviewsreviews"appId": "...", "maxResults": 5000
See top free / paid / grossing appslist"collection": "TOP_FREE"
Find competitors and similar appssimilar"appId": "..."
List every app by a publisherdeveloper"devId": "Spotify AB"
Get ASO autocomplete keywordssuggest"query": "fit"
Audit Android permissionspermissions"appId": "..."
Check Google Play data-safety infodatasafety"appId": "..."
List all Google Play categoriescategories

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 othersThis actor
Endpoints1–3 (reviews only, or details only)10 endpoints in one
Cold start8–15 seconds (headless browser)~3 seconds (pure HTTP)
Reviews paginationManual / capped at 200Automatic, up to 100,000+ per app
Batch app lookupsSequential5× concurrent
Output schemaSparse / undocumented70 fields, all documented with examples
Dataset viewsNone4 pre-built views (Overview, Apps, Reviews, App details)
MaintenanceOften abandonedBuilt on actively-maintained npm package

Compared with Google's official Play Developer API

Official Google APIThis actor
Access scopeYour own apps onlyAny public app on Google Play
Reviews APIOAuth + Play Console requiredJust call it
Search / discoveryNot availableYes
Top chartsNot availableYes
Competitor analysisNot possibleYes (search, similar, developer modes)
Setup timeHours (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

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 search mode daily across your tracked keywords, compute rank changes
  • Suggest mining — feed suggest mode 1,000 seed terms, harvest tens of thousands of long-tail keywords
  • Competitor monitoring — run app mode on competitors weekly, alert on title / description / screenshot changes
  • Top-chart trackinglist mode by country + category for market-share dashboards

App intelligence and analytics platforms

  • Bulk metadata ingestionapp mode in batch (pass hundreds of appIds)
  • Review streamingreviews mode in a scheduled Apify task, deduplicate by review id server-side
  • Install-band estimationminInstalls / maxInstalls fields give you Google's official bands per country
  • Pricing intelligenceprice, free, IAPRange, offersIAP fields 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 + recent reviews for 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 researchdeveloper mode to map a target's portfolio and revenue indicators

Privacy, compliance, and security teams

  • Permission auditspermissions mode across hundreds of corporate-approved apps
  • Data-safety reviewsdatasafety mode 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 reviews mode hourly, alert on sudden 1-star spikes
  • Version drift — compare version field run-over-run, alert when a new release hits Play Store
  • Competitor releasesapp mode on competitor IDs daily, alert on updated timestamp 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 ApifyClient
client = 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)

FieldTypeDescription
_modestringWhich endpoint produced this item — use it to filter when you mix modes
scrapedAtstring (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, developer modes (icon, title, developer, rating, install band, price)
  • Reviews — best for reviews mode (user, rating, text, date, version, developer reply)
  • App details — wide view for app mode (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:

OperationTime
Cold start (container spin-up to first result)~3 seconds
search — 50 results2–4 seconds
app — single app full details1–2 seconds
app — batch of 100 apps (5× concurrency)20–30 seconds
reviews — 1,000 reviews (auto-paginated)10–15 seconds
reviews — 10,000 reviews90–120 seconds
list — top 100 from a chart2–4 seconds
similar — 30 results2–4 seconds
developer — 50 apps by publisher2–4 seconds
suggest — autocomplete<1 second
permissions / datasafety — single app1–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).

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