Google Play Scraper · Apps, Reviews, Search & Developer Emails avatar

Google Play Scraper · Apps, Reviews, Search & Developer Emails

Pricing

from $1.00 / 1,000 result rows

Go to Apify Store
Google Play Scraper · Apps, Reviews, Search & Developer Emails

Google Play Scraper · Apps, Reviews, Search & Developer Emails

Scrape Google Play — app details, reviews, ranked search (ASO), similar apps and developer portfolios — across multiple countries in one run. Optional data-safety, permissions and developer contact-email enrichment. Prices, ratings and ranking per country. JSON, CSV, Excel.

Pricing

from $1.00 / 1,000 result rows

Rating

5.0

(1)

Developer

Muhamed Didovic

Muhamed Didovic

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

2 days ago

Last modified

Share

Google Play Scraper — App Details, Reviews, Search, Similar & Developer Emails

Turn any Google Play app, search term, or developer into a clean, structured dataset. Pull full app info, reviews, ranked search results, similar apps, or a developer's whole portfolio — and run every input across multiple countries in a single run.

How it works

Get 40+ fields per app including score, ratings histogram, installs, price, content rating, version, and a screenshot gallery — plus optional Data safety disclosures, permissions, similar apps, ASO search rank, and the developer contact email + website for lead generation. Pure HTTP, no browser.

Why Use This Scraper?

  • ✅ Multi-country in one run — every input runs against each country you list; prices, ratings, availability, and ranking are returned per country
  • ✅ Five actions from one actor — app details, reviews, ranked search (ASO), similar apps, and a developer's full app list
  • ✅ ASO rank tracking built in — search results come back in Google Play's ranked order, and the array position is the rank
  • ✅ Optional Data safety section — what data the app collects and shares, plus purposes (privacy & compliance audits)
  • ✅ Optional permissions list — every declared Android permission, grouped by type
  • ✅ Developer contact email + website on every app row — turn the store into a lead list for app-marketing/ASO outreach (with optional email enrichment)
  • ✅ JSON, CSV, or Excel output, ready for spreadsheets, CRMs, and BI tools

Overview

The Google Play Scraper is built for ASO specialists, app marketers, market researchers, and developers who need Google Play data in a spreadsheet instead of a browser tab.

You pick one action per run and feed it the matching input — app URLs/IDs, search terms, or developer IDs. Every input is then executed against each country in countries, so a single run can compare an app's rating in the US, UK, and India side by side, or capture how a keyword ranks in different markets.

The actor is pure HTTP — it parses Google Play's public web data (built on the maintained google-play-scraper engine plus a value-add normalization and enrichment layer). No login, no browser, no API key. Output is clean, flat rows you can export straight to CSV or Excel.

Supported Inputs

Actions

ActionWhat it returnsInput used
App details (appDetails)Full app info per app, with optional Data safety, permissions, similar apps, and developer emailappUrls
Reviews (reviews)App reviews, sorted newest / rating / helpfulness, paginatedappUrls
Search (search)Ranked search results — the array position is the ASO ranksearchQueries
Similar apps (similar)Apps similar to a given appappUrls
Developer's apps (developer)Every app published by a developerdevIds

Every action runs across each country in countries, so the row count is roughly inputs × countries (capped by maxItems).

Input formats

InputAcceptsExample
appUrlsFull Google Play URL or bare package IDhttps://play.google.com/store/apps/details?id=com.spotify.music or com.spotify.music
searchQueriesPlain keywordspodcast app
devIdsDeveloper profile URL or developer IDhttps://play.google.com/store/apps/developer?id=Spotify+AB or Spotify+AB
countriesTwo-letter gl country codes["us", "gb", "in"]
languageTwo-letter hl language codeen

Copy-pasteable input

{
"action": "appDetails",
"appUrls": ["com.spotify.music", "com.whatsapp"],
"countries": ["us", "gb", "in"],
"language": "en",
"includeDataSafety": true,
"includePermissions": true,
"includeSimilar": true
}

Unsupported inputs

  • ❌ Content behind a Google account login (purchase history, library, account settings)
  • ❌ Apple App Store / iOS apps — this actor targets play.google.com only
  • ❌ Mixing actions in one run — pick one action per run (chain runs or schedule for multiple)

Use Cases

AudienceUse case
App marketers & ASO specialistsTrack keyword rank over time, benchmark competitors, study titles, ratings, and screenshots
Market researchers & analystsBulk-export app catalogs, installs, ratings, and pricing across categories and countries
Pricing & availability teamsMonitor per-country price, IAP, and availability — Play is localized, so it varies by market
Review intelligence teamsPull review streams (newest/rating/helpfulness) for sentiment, bug surfacing, and feature requests
Privacy & complianceAudit Data safety disclosures and declared permissions across an app portfolio
Sales / lead-gen & agenciesTurn search results and developer portfolios into a prospect list with contact emails + websites

How It Works

How It Works

  1. Input — choose an action and supply the matching input (app URLs/IDs, search terms, or developer IDs)
  2. Fan out by country — each input is queued once per country in countries, so prices/ratings/ranking are captured per market
  3. Fetch — Google Play's public web data is retrieved over HTTP (no browser), via the maintained google-play-scraper engine
  4. Parse & enrich — raw data is normalized into clean rows; optionally attach Data safety, permissions, similar apps, and the developer contact email
  5. Output — flat app, review, or searchResult rows as JSON, CSV, or Excel, stopping once maxItems is reached

Input Configuration

FieldTypeRequiredNotes
actionstringyesOne of appDetails, reviews, search, similar, developer. Default appDetails.
appUrlsarray<string>for appDetails / reviews / similarGoogle Play app URLs or bare package IDs.
searchQueriesarray<string>for searchKeywords to search. Results come back in ranked (ASO) order.
devIdsarray<string>for developerDeveloper profile URLs or IDs.
countriesarray<string>noTwo-letter gl codes. Every input runs against each one. Default ["us"].
languagestringnoTwo-letter hl code for returned text. Default en.
includeDataSafetybooleannoAttach the Data safety section (data collected/shared + purposes). One extra request per app. App details only. Default false.
includePermissionsbooleannoAttach the declared permissions list. One extra request per app. App details only. Default false.
includeSimilarbooleannoAttach a similarApps[] list to each app row. One extra request per app. App details only. Default false.
enrichEmailsbooleannoResolve a contact email from the developer's website (lead-gen). Adds contactEmail + emailEnrichment. Billed per email found, only when an email is returned. App details only. Default false.
reviewsSortstringnonewest, rating, or helpfulness (action = Reviews). Default newest.
maxReviewsPerAppintegernoUpper bound on reviews per app per country (action = Reviews). Default 100.
resultsLimitintegernoMax results per search term, developer, or similar-apps call. Default 50.
maxItemsintegernoHard cap on total dataset rows across all inputs and countries. Default 1000. Free-tier runs are capped at 100.
maxConcurrencyintegernoMaximum requests in flight. Default 6.
proxyobjectnoDefaults to Apify Proxy. Geo is handled by the countries param in-request, so a proxy mainly spreads load and avoids rate-limits.

Common scenarios

1. Compare one app across three countries

{
"action": "appDetails",
"appUrls": ["com.spotify.music"],
"countries": ["us", "gb", "in"]
}

2. Track a keyword's ASO rank in two markets

{
"action": "search",
"searchQueries": ["podcast app", "meditation"],
"countries": ["us", "de"],
"resultsLimit": 50
}

3. App details with Data safety, permissions, similar apps + developer email

{
"action": "appDetails",
"appUrls": ["com.whatsapp"],
"countries": ["us"],
"includeDataSafety": true,
"includePermissions": true,
"includeSimilar": true,
"enrichEmails": true
}

4. Newest reviews for an app

{
"action": "reviews",
"appUrls": ["com.spotify.music"],
"countries": ["us"],
"reviewsSort": "newest",
"maxReviewsPerApp": 200
}

Output Overview

Each dataset item is one of three shapes, set by rowType:

  • app — emitted by appDetails, similar, and developer. Carries the full 40+ field app schema, plus optional dataSafety, permissions[], similarApps[], and (with enrichEmails) contactEmail + emailEnrichment.
  • review — emitted by reviews. One row per review.
  • searchResult — emitted by search. One row per ranked result; rank is the 1-based ASO position.

Notes on when fields are populated:

  • country is set on every row — the same app/keyword pulled for three countries produces three rows.
  • developerEmail / developerWebsite come straight from the app's store page (usually present; some apps hide the email).
  • dataSafety, permissions[], and similarApps[] appear only when the matching include* toggle is on. contactEmail + emailEnrichment appear only with enrichEmails and a resolvable website.

Output is JSON by default; the Apify Console "Export" tab also produces CSV and Excel.

Output Samples

App row — appDetails with optional sections

{
"rowType": "app",
"appId": "com.spotify.music",
"url": "https://play.google.com/store/apps/details?id=com.spotify.music&gl=us",
"country": "us",
"title": "Spotify: Music and Podcasts",
"developer": "Spotify AB",
"developerEmail": "support@spotify.com",
"developerWebsite": "https://www.spotify.com",
"genre": "Music & Audio",
"score": 4.33,
"ratings": 30000000,
"installs": "1,000,000,000+",
"priceText": "Free",
"free": true,
"contentRating": "Teen",
"version": "VARY",
"icon": "https://play-lh.googleusercontent.com/...",
"dataSafety": { "collectedData": [], "sharedData": [], "securityPractices": [] },
"permissions": [{ "permission": "...", "type": "..." }],
"similarApps": [{ "appId": "...", "title": "...", "score": 4.2 }],
"scrapedAt": "2026-06-25T20:00:00.000Z"
}

Review row — reviews

{
"rowType": "review",
"appId": "com.spotify.music",
"country": "us",
"reviewId": "gp:AOqpTOH...",
"userName": "Jane D.",
"score": 5,
"title": null,
"text": "Love the new Jam feature — listening together is great.",
"thumbsUp": 142,
"reviewDate": "2026-06-20T10:11:00.000Z",
"version": "8.9.0.123",
"replyText": "Thanks for the kind words! — Spotify",
"scrapedAt": "2026-06-25T20:00:00.000Z"
}

Search-result row — search (rank = ASO position)

{
"rowType": "searchResult",
"query": "podcast app",
"country": "us",
"rank": 1,
"appId": "com.spotify.music",
"title": "Spotify: Music and Podcasts",
"developer": "Spotify AB",
"score": 4.33,
"scrapedAt": "2026-06-25T20:00:00.000Z"
}

Key Output Fields

App row (rowType: "app")

FieldDescription
appIdPackage ID, e.g. com.spotify.music
urlCanonical Play URL (with the row's gl country)
countryThe gl country this row was scraped for
title, summary, descriptionApp name, short summary, full description
developer, developerIdDeveloper name and ID
developerEmailDeveloper contact email (lead-gen)
developerWebsiteDeveloper website (lead-gen)
developerAddressListed physical address
genre, genreIdCategory name and ID
score, scoreTextAverage rating (number + display text)
ratings, reviewsCountTotal ratings and review count
histogramStar distribution (1★–5★ counts)
installs, minInstalls, maxInstallsInstall band text + numeric bounds
priceText, price, free, currencyPrice display, numeric price, free flag, currency
offersIAPWhether the app has in-app purchases
contentRatingContent/age rating
released, updated, versionRelease date, last-updated, current version
recentChanges"What's new" release notes
androidVersionMinimum Android version
privacyPolicyPrivacy-policy URL
icon, screenshots, videoIcon URL, screenshot gallery, promo video
dataSafety (optional)Data collected/shared + purposes (includeDataSafety)
permissions[] (optional)Declared permissions, by type (includePermissions)
similarApps[] (optional){ appId, title, score } per similar app (includeSimilar)
contactEmail (optional)Email resolved from the developer site (enrichEmails)
scrapedAtISO timestamp of the scrape

Review row (rowType: "review")

reviewId, userName, score, title, text, thumbsUp, reviewDate, version, replyText — plus appId, country, and scrapedAt.

Search-result row (rowType: "searchResult")

rank (1-based ASO position), appId, title, developer, score — plus query, country, and scrapedAt.

FAQ

Do I need to log in or supply an API key?

No. The actor reads Google Play's public web data over HTTP — no Google account, no login, no API key.

Is this the official Google Play API?

No. It is not an official API and is not affiliated with Google. It parses the same public app pages you'd see in a browser and returns them as clean, structured rows.

Why do I get different data per country?

Google Play is localized — prices, ratings, availability, and search ranking all differ by market. So you pass countries (two-letter gl codes), and every input is scraped once per country. A row's country field tells you which market it came from.

Does it work outside the country I'm in?

Yes. Geo is controlled by the countries parameter, in-request — not by your IP or the proxy location. You can sit anywhere and pull US, UK, and Indian data in the same run.

Is the developer email always present?

Usually, but not always. The email and website come from the app's store listing; some developers don't publish a contact email, in which case developerEmail is null. The optional enrichEmails step can resolve one from the developer's website when available.

What's the difference between search rank and the other actions?

search returns results in Google Play's own ranked order and stamps each with a 1-based rank — that's the ASO position for the keyword. The other actions (appDetails, reviews, similar, developer) aren't ranked.

Can I export to JSON, CSV, or Excel?

Yes. Output is JSON by default; the Apify Console "Export" tab also produces CSV and Excel (XLSX).

What about rate limits?

Google Play can throttle heavy runs. Keep maxConcurrency reasonable (the default 6 is a safe start) and use a proxy for large jobs. The actor defaults to Apify Proxy; supply your own pool for very large runs.

Support

Found a bug, hit throttling we don't handle gracefully, or want another action or field supported? Open an issue on the actor's Issues tab, or reach out via the memo23 profile on Apify.

Additional Services

Need a custom export shape, a new entry point, scheduled rank monitoring, or a bespoke enrichment pipeline? I build tailored scrapers and data pipelines — get in touch via the memo23 profile.

Explore More Scrapers

If you track apps, rankings, and developers, these pair well:

Full portfolio: apify.com/memo23.


⚠️ Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC, Google Play, or any of their parent companies or subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper accesses only publicly available Google Play pages — no authenticated endpoints, no account-gated content, and nothing behind a Google login. Users are responsible for ensuring their use complies with Google Play's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organization. Developer contact emails and reviewer data are personal data — process them responsibly, honor opt-outs, and seek legal advice before outbound marketing.


SEO Keywords

google play scraper, scrape google play, google play store scraper, play store scraper, google play api, android app scraper, google play app data, play.google.com scraper, Apify google play, google play reviews scraper, google play search scraper, aso rank tracker, app store optimization data, google play developer scraper, android app reviews api, app market research, google play data safety, android app permissions scraper, multi country app pricing, developer contact email scraper, app marketing lead generation