Google Play Scraper: App Details, Installs & Developer Emails
Pricing
from $2.00 / 1,000 app records
Google Play Scraper: App Details, Installs & Developer Emails
Scrape Google Play app details (ratings, installs, developer email and website, price, genre, screenshots) and developer app lists. Public data only, no login.
Pricing
from $2.00 / 1,000 app records
Rating
0.0
(0)
Developer
Fetchsmith Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Google Play Scraper: Android App Details, Installs & Developer Emails
This Google Play scraper extracts structured Android app data from the Google Play Store, including the public developer email and website for app publisher lead lists: ratings, rating histogram, installs, price, genre, content rating, release and update dates, developer contact details, screenshots and more. Give the Actor a list of Android package names or Google Play URLs and get one clean JSON record per app. You can also list all apps shown on a developer's Google Play page. It is built for app store optimization (ASO) teams, market researchers, investors, mobile growth marketers and lead generation for app developers, and it works without a Google account or API key.
The Actor only reads public Google Play pages that the site's robots.txt allows (app detail pages and developer pages). No login, no cookies, no browser: it is a light HTTP scraper, so runs are fast and cheap.
What data you get
Mode apps (app details)
| Field | Description |
|---|---|
appId, title, url | Package name, app name and Google Play URL |
developer, developerId | Developer name and Google Play developer id |
developerEmail, developerWebsite | Public support email and website listed on the store page |
score, ratings, reviews, histogram | Average rating, number of ratings, number of written reviews, count per star (1 to 5) |
installs, minInstalls, maxInstalls | Install bracket as text and as numbers |
price, free, currency | Price in the storefront currency |
genre, genreId, contentRating | Category and age rating |
released, updated, version | First release date (YYYY-MM-DD when the language is English), last update (ISO timestamp), current version (Google shows VARY for many apps) |
androidVersion | Minimum Android version text |
adSupported, containsAds, offersIAP | Contains ads / offers in-app purchases |
summary, description | Short and full description as plain text |
icon, screenshots | Image URLs |
country, language, scrapedAt | Storefront used and scrape time |
Mode developer (apps of a developer)
appId, title, url, developer, developerId, score, price, free, icon, summary (truncated to 300 characters), position, source (always developer), query (the developer you asked for) and scrapedAt. Use the appId values as input for mode apps to get full details.
How to use
- Choose a mode:
appsordeveloper. - For
apps, add package names (com.duolingo) or Google Play URLs to App IDs or URLs. Fordeveloper, add developer ids, developer names or developer page URLs. - Set language (
hl) and country (gl) to pick the storefront. Prices, availability and ratings depend on the country. - Keep Max items low for a first run, then raise it.
- Click Start and download the dataset as JSON, CSV, Excel or via API.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | apps | apps (full app details) or developer (apps listed on a developer page) |
appIds | string[] | ["com.duolingo"] | Android package names or Google Play app URLs. Used by mode apps |
developerIds | string[] | none | Developer ids, developer names or developer page URLs. Used by mode developer |
language | string | en | Google Play language code (hl), for example en, de, fr |
country | string | us | Two-letter storefront country code (gl), for example us, gb, de |
maxItems | integer | 20 | Apps processed in mode apps, apps returned per developer in mode developer |
proxyConfiguration | object | no proxy | Optional Apify Proxy, only needed for large volumes |
Input example
{"mode": "apps","appIds": ["com.duolingo","https://play.google.com/store/apps/details?id=com.whatsapp&hl=en"],"language": "en","country": "us","maxItems": 20,"proxyConfiguration": { "useApifyProxy": false }}
Developer example:
{"mode": "developer","developerIds": ["Duolingo", "https://play.google.com/store/apps/dev?id=5700313618786177705"],"maxItems": 20}
Output example
{"appId": "com.duolingo","title": "Duolingo: Learn Languages","url": "https://play.google.com/store/apps/details?id=com.duolingo&hl=en&gl=us","developer": "Duolingo","developerId": "6957685454452609502","developerEmail": "super-support@duolingo.com","developerWebsite": "https://www.duolingo.com/help/support-request","score": 4.7375727,"ratings": 50808930,"reviews": 964934,"histogram": {"1": 1012963,"2": 365444,"3": 1176344,"4": 5832680,"5": 42421464},"installs": "500,000,000+","minInstalls": 500000000,"maxInstalls": 981438421,"price": 0,"free": true,"currency": "USD","genre": "Education","genreId": "EDUCATION","contentRating": "Everyone","released": "2013-05-29","updated": "2026-10-06T18:53:36.000Z","version": "VARY","androidVersion": "Varies with device","adSupported": true,"containsAds": true,"offersIAP": true,"summary": "Make language learning fun with Spanish, French, English, chess, math & music.","description": "Learn a new language, chess, math & more with the world’s most downloaded education app! Duolingo is the fun, free app for learning 40+ languages through quick,...","icon": "https://play-lh.googleusercontent.com/tw_coGKgk1K_zO-Ypf9zBKV1s-KT3dYN1MIUxIqtnbfmON5x_YmuoAr31gE4oSfJHNtA-aStTd-qe9R8S6NVyA","screenshots": ["https://play-lh.googleusercontent.com/twmCellsRXWs4bZsSXRv19x-3BIp19FzlQPdu_Va-zE10aL468HHFKJBvEOXo0g67Xsvl3nkIKnpjY7L62OOiA","https://play-lh.googleusercontent.com/VtdxxfTA0xfkAgAj7iIr2DfvYJUoQctTvFDC_1xrX1NLm4d4av-xqaHMH8zqicW7AoXo56kT55LOQCW7gRFRyg"],"country": "us","language": "en","scrapedAt": "2026-10-11T06:45:52.400Z"}
Example Google Play jobs
Copy one of these inputs into the JSON editor and replace the sample apps and developers with your own. Each cost is the most the example can charge at the prices listed under Pricing.
Competitor benchmark for ASO: ratings, installs and last update of four language apps (4 apps, $0.008):
{ "mode": "apps", "appIds": ["com.duolingo", "com.babbel.mobile.android.en", "com.memrise.android.memrisecompanion", "com.busuu.android.enc"], "country": "us", "language": "en" }
Localized store check: the same app in the German storefront with German texts (1 app, $0.002):
{ "mode": "apps", "appIds": ["com.whatsapp"], "country": "de", "language": "de" }
Publisher portfolio: the apps shown on two developer pages, up to 30 each (up to 60 entries, $0.048):
{ "mode": "developer", "developerIds": ["Duolingo", "Google LLC"], "maxItems": 30 }
App publisher contact list: public support email and website from full app records. Use the appId values from a developer run as input (3 apps, $0.006):
{ "mode": "apps", "appIds": ["com.spotify.music", "com.whatsapp", "org.telegram.messenger"] }
Use the Google Play scraper from your code (API)
Every run can be started over the Apify API, so you can feed Google Play data into your own scripts, spreadsheets, dashboards or ASO tools.
Node.js with the apify-client package:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('fetchsmith-labs/google-play-scraper').call({mode: 'apps',appIds: ['com.duolingo', 'com.spotify.music'],country: 'us',language: 'en',});const { items } = await client.dataset(run.defaultDatasetId).listItems();for (const app of items) console.log(app.title, app.score, app.installs);
Python with the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("fetchsmith-labs/google-play-scraper").call(run_input={"mode": "developer","developerIds": ["Duolingo"],"maxItems": 30,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["appId"], item["title"])
cURL, synchronous run that returns the dataset items directly:
curl -X POST "https://api.apify.com/v2/acts/fetchsmith-labs~google-play-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "apps", "appIds": ["com.whatsapp", "org.telegram.messenger"], "country": "de", "language": "de"}'
Results can also go straight to Google Sheets, Make, Zapier, n8n, Slack or a webhook through the Apify integrations on the Actor page. A typical workflow: run mode developer to collect a publisher's package names, then pass those appId values to mode apps for full details.
Pricing
This Actor uses pay-per-event pricing. You only pay for results.
| Event | Price | Charged when |
|---|---|---|
app | $0.002 | One app detail record is returned (mode apps) |
app-listing | $0.0008 | One app is returned in a developer list (mode developer) |
Example: 1,000 app detail records cost 1,000 x $0.002 = $2.00. 1,000 developer list entries cost 1,000 x $0.0008 = $0.80. Apps that cannot be found are not charged. The run stops cleanly when your maximum charge limit is reached.
Use cases
- ASO and competitor tracking: monitor ratings, install brackets, update frequency and metadata of competing Android apps.
- Developer email lists: find app publishers and the support email and website they list publicly on Google Play, for B2B outreach (check the rules that apply to your outreach).
- Market research: build datasets of Android apps by category, price model, content rating or developer.
- Investor and analyst research: track growth signals such as installs and rating counts over time by scheduling your own runs.
- Catalog enrichment: turn a list of package names into full app records for your database or spreadsheet.
- Publisher portfolios: list every app on a developer's Google Play page, then pull full details for each one.
Why this Google Play scraper
- No login, no API key, no browser: a light HTTP scraper, so runs finish in seconds and cost little.
- Two modes in one Actor: full app details by package name or URL, and developer app lists.
- Rating histogram and install numbers as clean fields (
histogram,minInstalls,maxInstalls), not just text. - Pay per result: $2.00 per 1,000 app records, nothing for apps that cannot be found.
- Honest scope: it reads only pages that Google Play's
robots.txtallows, so it has no user reviews and no keyword search. For Apple data see our App Store Scraper.
FAQ
Which data sources are used? Public Google Play detail pages and developer pages, read over HTTP. The Actor intentionally only requests paths that Google Play's robots.txt allows. For that reason it does not include user reviews or keyword search, which would need paths that robots.txt disallows.
Is it legal? The Actor collects only publicly visible store data and no personal data beyond what developers themselves publish on their store pages (such as a support email). You are responsible for using the data in line with the applicable laws and Google Play's terms.
Does it need a proxy? Usually not for moderate volumes. If you scrape thousands of apps and see HTTP 429 errors in the log, enable Apify Proxy in the proxy configuration. Requests are retried 3 times with exponential backoff, with 3 apps processed in parallel.
Why does the developer mode return only a few apps? It returns the apps shown on the first page of the developer's Google Play page (typically 3 to 30 apps). Further apps are loaded by Google through a path that robots.txt disallows, so they are not fetched. Developers with very large catalogs may therefore be only partially listed.
Why is version sometimes VARY? Google Play does not publish a version number for many apps ("Varies with device"). The Actor returns what the store page shows.
Why is released not a date? Release dates are parsed into YYYY-MM-DD for English storefront texts. For other languages the original localized text is returned.
Can I export Google Play data to CSV or Excel? Yes. Every run stores its results in a dataset that you can download as JSON, CSV, Excel, XML or HTML from the Output tab, or fetch over the API.
Can I track ratings and installs over time? Run the Actor regularly on the same package names (for example from your own scheduler or an Apify schedule you create in your account) and compare score, ratings and minInstalls between runs.
What if an app is not found? The Actor logs a warning, skips it and continues. The run fails only if the input is invalid or nothing at all could be processed.
What does Max items do? In mode apps it limits how many of the given apps are processed in total. In mode developer it limits the apps returned per developer.
Support
Found a bug or need an extra field? Open an issue on the Actor page in Apify Console and describe the input that failed.