Google Play Store Scraper
Pricing
from $0.56 / 1,000 app details
Google Play Store Scraper
Scrape Google Play Store โ app details, ratings, reviews, and search results. Extract app name, developer, installs, rating, price, screenshots, and 30+ fields. No API key needed.
Pricing
from $0.56 / 1,000 app details
Rating
5.0
(3)
Developer
Automation Lab
Maintained by CommunityActor stats
0
Bookmarked
1.3K
Total users
261
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
Scrape Google Play Store at scale: search apps by keyword, pull ranked Top Charts, get full Android app details, export up to 100,000 reviews per app, and find similar apps and developer portfolios. No API key or login required.
What does Google Play Scraper do?
Google Play Scraper extracts structured data from Google Play in six modes:
- ๐ Search โ Find apps by keyword with their search position (
searchRank) and full app details on every row, for ASO and keyword research. Google Play shows at most 30 apps per search term. - ๐ Top Charts โ Discover ranked Top Free, Top Paid, or Top Grossing apps by category and locale, with full app metadata. Google Play lists at most 200 apps per chart.
- ๐ฑ Details โ Get full app information for package IDs or Google Play URLs: 47+ fields including installs, ratings histogram, screenshots, developer contact info, changelog, and more.
- โญ Reviews โ Export up to 100,000 reviews per app with star ratings, text, dates, developer replies, thumbs-up counts, and app version. Filter by star rating or collect only reviews since a date.
- ๐งญ Similar apps โ Get the apps Google Play lists as similar to a given app, with full details, to map competitors.
- ๐ค Developer apps โ Get all apps from a developer, with full details and contact data.
Results are flat JSON ready for analysis, monitoring, or your own systems.
Who is it for?
Mobile app developers and indie developers
- Monitor competitor app ratings and review sentiment to identify gaps in their UX
- Track recent changes in competitor changelogs to anticipate feature launches
- Compare install ranges and ratings to benchmark your app in the category
Market researchers and analysts
- Analyze app category trends and market saturation across multiple countries
- Build datasets of app ecosystems for academic or industry research
- Track developer portfolios and multi-app strategies from company data
Product managers and ASO specialists
- Study top-ranking apps in your target keyword to understand what drives downloads
- Collect user reviews from competitors to identify unmet needs and feature requests
- Monitor your own app's reviews across regions for proactive customer support
Investors and due-diligence teams
- Evaluate mobile app market positioning before investing or acquiring
- Track install growth over time by comparing scraped snapshots
- Extract developer contact info (email, website, legal entity name) for outreach
Why use Google Play Scraper?
- โ No API key required โ scrapes public Play Store pages directly, no Google credentials needed
- โ Six modes in one tool โ search, Top Charts, details, reviews, similar apps, and developer apps without switching actors
- โ 47+ fields per app in every app mode โ search results include installs, developer email and rating histogram, with no second step
- โ Up to 100,000 reviews per app โ saved page by page, so a timeout keeps what was already collected
- โ
Incremental review monitoring โ
reviewsSincestops at your cutoff, so a scheduled run pays only for new reviews - โ Paste IDs or URLs โ package IDs and Google Play links both work
- โ Localization support โ all Google Play countries and languages supported
- โ Flat, clean output โ no nested objects; every field is directly accessible in spreadsheets
- โ Pay-per-result โ only pay for data you extract; a bad input or an empty result costs nothing
- โ Works with Apify's API, scheduling, and 5,000+ integrations โ automate recurring scrapes
What data can you extract?
App fields (47+ total)
| Category | Fields |
|---|---|
| ๐ Identity | appId, title, summary, genre, genreId, categoriesNames, contentRating |
| ๐ Rank and source | searchTerm, searchRank (search), chartRank, chartCollection, chartCategory (Top Charts), sourceAppId (similar apps), sourceDeveloperId (developer apps) |
| ๐ค Developer | developer, developerId, developerEmail, developerWebsite, developerLegalName, developerLegalEmail, developerLegalAddress, developerLegalPhoneNumber |
| โญ Ratings | score, scoreText, ratings, reviews, histogram1starโhistogram5star |
| ๐ Popularity | installs, minInstalls, maxInstalls |
| ๐ฐ Pricing | price, priceText, free, currency, originalPrice, offersIAP, IAPRange |
| ๐ Technical | androidVersion, androidVersionText, version, updatedAt, released |
| ๐ผ Media | icon, headerImage, screenshots, video, videoImage |
| ๐ Content | description, descriptionHTML, recentChanges, privacyPolicy |
| โ๏ธ Flags | free, available, adSupported, containsAds, preregister, isAvailableInPlayPass |
Review fields
| Field | Description |
|---|---|
reviewId | Unique review identifier |
userName, userImage | Reviewer name and profile picture URL |
score, scoreText | Star rating (1โ5) |
text | Full review text |
date | ISO timestamp of the review |
replyText, replyDate | Developer reply (if any) |
thumbsUp | Number of helpful votes |
version | App version installed when reviewed |
criteriaJson | Structured subcriteria ratings (JSON string) |
How much does it cost to scrape Google Play Store?
This actor uses pay-per-event pricing โ you only pay for the data you extract:
The start fee is charged once, with the first result. A run with a bad input or no results costs nothing.
For broad crawls (many terms, app IDs or reviews), set Maximum charge per run before launch. The run saves only the rows that fit the limit and says so in its final status.
| Apify plan | Actor start | Per app detail | Per review |
|---|---|---|---|
| Free | $0.001 | $0.0007 | $0.00011 |
| Bronze | $0.001 | $0.0007 | $0.00011 |
| Silver | $0.001 | $0.00063 | $0.000099 |
| Gold | $0.001 | $0.00056 | $0.000088 |
| Platinum | $0.001 | $0.00056 | $0.000088 |
| Diamond | $0.001 | $0.00056 | $0.000088 |
Calculated cost examples at Free-tier pricing (not event unit prices)
| Use case | Cost breakdown | Total |
|---|---|---|
| Search 2 terms, 25 apps each | $0.001 + 50 ร $0.0007 | $0.036 |
| Details for 20 specific apps | $0.001 + 20 ร $0.0007 | $0.015 |
| 200 reviews for 1 app | $0.001 + 200 ร $0.00011 | $0.023 |
| 100 apps + 50 reviews each | $0.001 + 100 ร $0.0007 + 5,000 ร $0.00011 | $0.621 |
How to scrape Google Play Store
- Open Google Play Scraper on Apify Store
- Click Try for free
- Select a mode:
- Search apps โ enter keywords like
"fitness tracker"or"photo editor" - Top Charts โ choose Top Free, Top Paid, or Top Grossing and an optional category
- App details โ paste app IDs like
com.whatsappor Google Play URLs - App reviews โ paste app IDs or URLs and choose sort order, star filter or a start date
- Similar apps โ paste app IDs or URLs
- Developer apps โ paste developer names, numeric IDs or developer URLs
- Search apps โ enter keywords like
- Set
CountryandLanguageif you need localized results - Set
Max results(start with 10 to preview data cheaply) - Click Start and wait for the run to complete
- Download data as JSON, CSV, or Excel โ or connect via the API
Finding an app's ID
The app ID is the package name visible in the Google Play URL:
https://play.google.com/store/apps/details?id=com.whatsapp^^^^^^^^^^^^App ID: com.whatsapp
Common examples:
- WhatsApp โ
com.whatsapp - Spotify โ
com.spotify.music - Instagram โ
com.instagram.android - TikTok โ
com.zhiliaoapp.musically - Gmail โ
com.google.android.gm
Example inputs
Search mode:
{"mode": "search","searchTerms": ["fitness tracker", "workout app"],"maxResults": 20,"country": "us"}
Top Charts mode โ top 10 free US apps:
{"mode": "topCharts","chartCollection": "top-free","chartCategory": "APPLICATION","maxResults": 10,"country": "us","language": "en"}
Use a Google Play category identifier such as GAME, PRODUCTIVITY, FINANCE, or HEALTH_AND_FITNESS. Omit chartCategory to use APPLICATION (all apps).
Details mode:
{"mode": "details","appIds": ["com.whatsapp", "com.telegram.messenger", "org.thoughtcrime.securesms"],"country": "us"}
Reviews mode โ 1-star reviews for a specific app:
{"mode": "reviews","appIds": ["com.spotify.music"],"maxResults": 100,"reviewSort": "newest","reviewScore": 1}
Reviews mode โ only new reviews, for a daily or weekly schedule:
{"mode": "reviews","appIds": ["https://play.google.com/store/apps/details?id=com.spotify.music"],"maxResults": 5000,"reviewsSince": "7 days"}
Similar apps mode โ map an app's competitors:
{"mode": "similar","appIds": ["com.spotify.music"],"maxResults": 30}
Developer apps mode:
{"mode": "developer","developerIds": ["Spotify AB"],"maxResults": 50}
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
mode | string | Yes | search | Scraping mode: search, topCharts, details, reviews, similar, or developer |
searchTerms | string[] | No | ["whatsapp"] | Keywords to search for apps. Search mode uses the default term when omitted. Also recovers a mixed details input when no app IDs were supplied. |
appIds | string[] | In details/reviews/similar mode | โ | Google Play package IDs or app URLs. Surrounding whitespace and blank form rows are ignored. Details mode requires nonblank IDs unless searchTerms are supplied instead; reviews and similar always require them. |
developerIds | string[] | In developer mode | โ | Developer names, numeric developer IDs or Google Play developer URLs |
chartCollection | string | In Top Charts mode | top-free | top-free, top-paid, or top-grossing |
chartCategory | string | No | APPLICATION | Google Play category identifier such as GAME or FINANCE |
maxResults | integer | No | 50 | Max results per term, chart, app or developer (1โ100,000). Google Play lists at most 30 apps per search and 200 per chart |
country | string | No | us | ISO 3166-1 alpha-2 country code |
language | string | No | en | ISO 639-1 language code |
reviewSort | string | No | newest | Review sort: newest, rating, relevant |
reviewScore | integer | No | all | Filter reviews by star rating (1โ5) |
reviewsSince | string | No | โ | Only reviews from this date or age onward: 2026-10-01 or 7 days. Always uses newest-first order |
Output examples
Ranked app (Top Charts mode)
Search, Top Charts, similar apps and developer apps all return the same rich app object as details mode, plus their rank or source fields. Detail requests are limited to two at a time, and completed rows are saved before later requests so a timeout keeps them. Unavailable apps are skipped; chart and search rows keep their original ranks, so gaps are possible. If every app-detail request fails, the run fails clearly rather than returning an unexplained empty result:
{"appId": "com.example.app","title": "Example App","developer": "Example Developer","score": 4.7,"installs": "10,000,000+","chartRank": 1,"chartCollection": "top-free","chartCategory": "APPLICATION"}
App detail (details mode)
{"appId": "com.whatsapp","title": "WhatsApp Messenger","summary": "Simple. Reliable. Private.","description": "WhatsApp from Meta is a FREE messaging and video calling app...","developer": "WhatsApp LLC","developerEmail": "android@support.whatsapp.com","developerWebsite": "http://www.whatsapp.com/","developerLegalName": "Meta Platforms, Inc.","score": 4.71,"scoreText": "4.7","ratings": 231969073,"reviews": 1975001,"histogram1star": 6819433,"histogram5star": 196283315,"installs": "10,000,000,000+","minInstalls": 10000000000,"price": 0,"priceText": "Free","free": true,"offersIAP": true,"IAPRange": "USD 0.40 - USD 199.99 per item","androidVersion": "VARY","contentRating": "Everyone","genre": "Communication","genreId": "COMMUNICATION","icon": "https://play-lh.googleusercontent.com/...","screenshots": ["https://play-lh.googleusercontent.com/..."],"released": "Oct 18, 2010","updatedAt": "2026-03-24T08:33:50.000Z","version": "VARY","url": "https://play.google.com/store/apps/details?id=com.whatsapp&hl=en&gl=us","scrapedAt": "2026-03-25T12:00:00.000Z"}
Review (reviews mode)
{"reviewId": "71fadf82-c336-480e-8070-73be97ab7e30","appId": "com.spotify.music","userName": "Jane D.","userImage": "https://play-lh.googleusercontent.com/...","score": 4,"scoreText": "4","text": "Great app but the ads are too frequent on the free tier","date": "2026-03-24T12:43:39.342Z","replyText": null,"replyDate": null,"thumbsUp": 7,"version": "9.1.32.2083","scrapedAt": "2026-03-25T12:00:00.000Z"}
Tips for best results
- ๐ Start with
maxResults: 10to verify your input is correct before running large extractions - ๐ Use several search terms for a wider list: Google Play shows at most 30 apps per term, and repeated apps are returned once. If you select details with search terms but no app IDs, the Actor runs a search instead.
- ๐ Read the final status: it says how many results were delivered against your limit and why the run stopped, for example
Got 30 of 100 apps. - ๐ Set country + language together for accurate localization โ
country: "de", language: "de"gives German Play Store results - โญ Filter reviews by score: set
reviewScore: 1to collect only 1-star reviews for product insight research - ๐ Monitor new reviews: schedule a run with
reviewsSince: "7 days"so you collect only recent reviews - โฐ Schedule recurring runs via Apify's scheduler to track rating changes over time โ compare snapshots monthly
- ๐ Export to Google Sheets for easy filtering and charting of app metrics
Integrations
Google Play Scraper โ Google Sheets Connect via Apify's Google Sheets integration to automatically append new app data to a spreadsheet. Use this to maintain a live competitive tracking dashboard: schedule daily runs and use the "append" mode to log how ratings and install ranges change over time.
Google Play Scraper โ Slack / Discord alerts
Use webhooks to notify your team when a monitored app's rating drops below a threshold. Set up a recurring run on your own app's reviews with reviewScore: 1 and trigger a Slack message when new 1-star reviews arrive.
Google Play Scraper โ Make / Zapier workflows Trigger a Make scenario when a run finishes to push extracted reviews into Airtable, Notion, or your CRM. Useful for customer success teams that want to track public feedback alongside internal support tickets.
Google Play Scraper โ Custom analytics pipeline Use the Apify API to pull extracted data into BigQuery, Snowflake, or your data warehouse for long-term trend analysis. Combine with Apple App Store Scraper data for a cross-platform view of the mobile app landscape.
Scheduled monitoring
Set up a recurring Apify schedule (daily, weekly) with mode: "details" on a fixed list of competitor app IDs. Compare score, ratings, and recentChanges across runs to detect when competitors ship major updates or receive rating spikes.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/google-play-scraper').call({mode: 'details',appIds: ['com.whatsapp', 'com.spotify.music'],country: 'us',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/google-play-scraper").call(run_input={"mode": "reviews","appIds": ["com.spotify.music"],"maxResults": 100,"reviewSort": "newest","reviewScore": 1,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor item in items:print(f"{item['userName']}: {item['score']}/5 โ {item['text'][:80]}")
cURL
curl -s "https://api.apify.com/v2/acts/automation-lab~google-play-scraper/runs" \-X POST \-H "Authorization: Bearer YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"mode": "search","searchTerms": ["fitness tracker"],"maxResults": 20,"country": "us"}'
Use with AI agents via MCP
Google Play Store Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Add the Apify MCP server to your AI client โ this gives you access to all Apify actors, including this one:
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/google-play-scraper"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/google-play-scraper"}}}
Example prompts
- "Search Google Play for the top 20 meditation apps and export to CSV"
- "Get all 1-star reviews for com.spotify.music from the last week"
- "Scrape full details for these 5 competitor apps and compare their install counts"
Learn more in the Apify MCP documentation.
Diagnostic privacy
Failed operations send sanitized diagnostic input, exceptions, and Actor/build/run IDs to our private GlitchTip service for repair. Search, chart, and review runs also send bounded progress diagnostics (request phase, elapsed time, memory, and numeric work/output counts) to distinguish in-flight upstream stalls from accumulated batch work. Review counters distinguish pages requested/completed, candidates scanned, score matches and emitted rows without changing sort or filtering. Chart counters distinguish discovered apps, attempted/completed/failed details, pending requests and saved rows, including pending output-write and charging phases. These progress fields contain no search terms, app identifiers, pagination tokens, review text, or response bodies. Secret fields and URL query strings are removed, and reports are retained for 30 days. Diagnostic reports do not change result datasets or billing events.
Legality
Yes. Scraping publicly available data is protected under the HiQ Labs v. LinkedIn ruling in the US. Google Play Store app listings are publicly accessible to anyone without login. This actor only accesses data that any browser visitor can see โ it does not scrape authenticated content, bypass paywalls, or access private data.
As with any scraping tool:
- Only scrape publicly available information
- Do not store or process personal data beyond what your use case requires
- If handling EU user review data, ensure compliance with GDPR
- Review Google's Terms of Service for your specific use case
For commercial use cases involving personal data (e.g., user reviews), consult legal counsel to ensure compliance with applicable privacy laws in your jurisdiction.
FAQ
Do I need a Google account or API key? No. The actor scrapes publicly available Google Play Store pages without any authentication.
How many apps can I scrape in one run?
Google Play shows at most 30 apps per search term and 200 per chart. Reviews go up to 100,000 per app. Use many terms or app IDs to scale; maxResults controls the limit per term, chart, app or developer. Very large jobs may need a longer run timeout.
Why did search return 30 apps when I asked for 100? Google Play itself shows at most 30 apps per search term, or fewer for narrow terms. Add related search terms to widen the list.
Why are some fields null?
Google Play doesn't publish every field for every app, for example a video or discount. Search, chart, similar and developer rows have the same fields as details mode. The size field and the review title field are always null because Google Play no longer publishes them on the web.
Can I filter reviews by star rating?
Yes โ set reviewScore to a number between 1 and 5 to return only reviews with that exact rating. This is useful for extracting only negative (1-star) or positive (5-star) reviews.
The scraper returns empty results โ what should I check?
Verify your app IDs are correct (the package name from the Play Store URL, e.g., com.whatsapp). Check that the app is available in the country you specified. For search mode, try broader keywords if specific terms return no results.
Reviews are fewer than expected โ why?
Google Play limits the number of reviews accessible through public pages. Some apps with few reviews in a specific country/language combination will return fewer results. Try adjusting the country and language parameters or removing the reviewScore filter.
How does this compare to the official Google Play Developer API? The official API requires a developer account and only returns data for apps you own. This scraper accesses public Play Store pages and returns data for any app โ no account or approval needed. It's the only option for competitive research and market analysis.
How fast is the actor? Measured on Apify: a search of 30 apps takes about 10 seconds, 1,000 reviews about 15 seconds, and a chart of 200 apps about 80 seconds.
Can I collect only new reviews?
Yes. Set reviewsSince to a date or an age such as 7 days. The run stops paging at that point, so scheduled runs pay only for recent reviews.
Can I paste Google Play links?
Yes. appIds and developerIds accept Google Play URLs as well as IDs.
Related scrapers
- Apple App Store Scraper โ scrape iOS app details, ratings, and reviews from the Apple App Store
- Trustpilot Reviews Scraper โ company reputation reviews
- G2 Reviews & Products Scraper โ B2B software reviews and product comparisons
Use with AI agents via x402 (no Apify account)
Agent workflows can run this actor through Apify MCP without an Apify account when the MCP client uses a funded x402 wallet. Use the actor-specific MCP endpoint:
https://mcp.apify.com?tools=automation-lab/google-play-scraper&payment=x402
This keeps existing Apify MCP/API usage unchanged; x402 only changes payment/authentication for clients that support it. Learn more in Apify's x402 integration docs.