Google Play Store Scraper: Apps, Reviews, Charts & ASO
Pricing
$2.00 / 1,000 results
Google Play Store Scraper: Apps, Reviews, Charts & ASO
Scrape Google Play Store app details, uncapped reviews with star and device filters, keyword search, ranked top charts, developer portfolios, similar apps, permissions, data safety, and ASO keyword data. Flat $2 per 1,000 results, every country and language.
Pricing
$2.00 / 1,000 results
Rating
0.0
(0)
Developer
Sourabh Kumar
Maintained by CommunityActor stats
0
Bookmarked
13
Total users
0
Monthly active users
5 hours ago
Last modified
Categories
Features
Share
Google Play scraper: reviews, app details, top charts and more
Get Google Play data in 10 ways: reviews, app details, keyword search, top charts, developer catalogues, similar apps, permissions, data safety, keyword ideas and keyword rank. Paste app links, IDs or keywords, press Start, and download a clean spreadsheet.
$2 per 1,000 results. No per-run fee, no proxy setup, no login.
Works in every country and language Google Play serves. Prices come in the local currency of the country you pick.
Top use cases
- Pull every review of an app, with ratings, dates and developer replies, with Scrape Google Play app reviews.
- Collect only new reviews on a schedule with Get new Google Play reviews from the last 7 days.
- Track the top 200 games or apps in any country with Google Play top grossing games.
- Get ratings, installs, price and version for a list of apps with Google Play app details, ratings and installs.
- See where your app ranks for the words people search with Track an app's keyword rank on Google Play.
- Find every app Google shows for a search term with Search Google Play apps by keyword.
Pick a mode
Set Mode (mode), paste your entries into URLs, package ids, or keywords (urls), then fill the section with the mode's name if it has one. Other sections are ignored.
| You want | mode | Paste into |
|---|---|---|
| Reviews of an app | reviews | urls (app links or IDs like com.spotify.music) |
| Full details of an app | app-details | urls (app links or IDs) |
| Apps for a search term | search | urls (keywords or Play search links) |
| A top chart | top-charts | Top charts options (chartType, category) |
| Every app by a developer | developer-portfolio | urls (developer links, numeric IDs, exact names, or one of their apps) |
| Apps similar to an app | similar-apps | urls (app links or IDs) |
| An app's permissions | permissions | urls (app links or IDs) |
| An app's data-safety label | data-safety | urls (app links or IDs) |
| Keyword ideas (ASO) | keyword-suggestions | urls (seed keywords) |
| Your app's rank for keywords (ASO) | keyword-rank | urls (your app) + keywords |
Every mode can be scheduled. Run it daily and you have a review monitor, a chart tracker or a keyword rank tracker.
Why this Google Play scraper?
- 📝 Every review, not a sample: reads an app's whole review list, filtered by stars, device and date.
- 🏆 Deep charts and searches: top charts to 200 apps, and up to about 250 results where Google has them.
- 🔎 Rows you can trust: a search returns Google's results in Google's order, never the "Similar apps" block beside them.
- 🌍 Any country and language: local prices, local charts, local review sets.
- 🛠️ ASO tools built in: keyword ideas from Play's own search box, and your app's rank for each keyword.
- 🔒 Privacy data: permissions and the data-safety label, including "no information provided".
- 💳 You pay only for rows you get: a missing app or an empty result is reported, never billed.
1. Reviews: every review of an app
Paste app links or IDs.
Get one row per review: star rating, title, text, author, date, helpful votes, app version, the developer's reply, Google's topic tags and a link that opens the review on Play.
| Option | Field | Default | What it does |
|---|---|---|---|
| Max results per unit | maxResults | 1000 | Reviews per app. 0 = every review |
| Reviews sort | sortBy | 2 | 2 newest, 1 most relevant, 3 highest rated |
| Reviews star filter | starRating | all | Only reviews with this rating (1 to 5) |
| Reviews device filter | deviceType | phone | phone, tablet, watch, chromebook or car |
| Reviews since | sinceDate | none | A date (2026-06-01) or "7 days", "2 weeks", "3 months" |
| Language | language | en | Reviews are picked by language |
Input
{"mode": "reviews","urls": ["com.spotify.music"],"sortBy": 1,"maxResults": 40}
Output (one real row, selected fields)
{"reviewId": "c5de7d25-db91-4088-b575-32040d2f3fc3","packageId": "com.spotify.music","rating": 1,"title": null,"text": "I usually love Spotify, I even have premium, but recently it has been SO testy when I try to open it. Sometimes it will work fine, but most of the time it just opens to a black screen and no matter if I reset the app, or even my phone, nothing really helps it. When it does this, if it eventually opens, everything is incredibly slow to load. I'm very disappointed.","userName": "Sam Hatcher","date": "2025-05-06T04:36:58.000Z","thumbsUp": 2248,"appVersion": "9.0.40.391","replyText": "Hi. Have you tried a quick reinstall? If that doesn't help, we'd recommend reaching out to our Customer Service at support.spotify.com. Just search “Contact Us”, and they'll be happy to help.","replyDate": "2025-05-06T05:26:01.000Z","replyAuthor": "Spotify AB","criterias": [{ "criteria": "vaf_phase1_learning_piano", "rating": 2 },{ "criteria": "vaf_phase1_equalizer", "rating": 3 },{ "criteria": "vaf_phase1_fitness_app_integration", "rating": 2 }],"deviceType": "phone","url": "https://play.google.com/store/apps/details?id=com.spotify.music&reviewId=c5de7d25-db91-4088-b575-32040d2f3fc3","country": "us","language": "en"}
Google picks reviews by language, not country: two countries with the same language give the same reviews, so each app is read once.
2. App details: the full record of an app
Paste app links or IDs. Add several countries to compare prices and ratings.
Get one row per app and country: name, developer and contacts, rating and star breakdown, installs, price (with sale price and end date), in-app purchases, category, content rating, version, update date, chart position, whether it can be installed or is still pre-registration, Play Pass, screenshots and video, permissions, similar apps and the developer's other apps.
Input
{"mode": "app-details","urls": ["com.duolingo"]}
Output (one real row, selected fields)
{"packageId": "com.duolingo","name": "Duolingo: Learn Languages","developer": "Duolingo","developerId": "6957685454452609502","rating": 4.7462745,"ratingCount": 51771886,"reviewCount": 969052,"installs": "500,000,000+","price": 0,"currency": "USD","free": true,"available": true,"preregister": false,"offersIAP": true,"iapRange": "$0.99 - $239.99 per item","category": "Education","categoryId": "EDUCATION","contentRating": "Everyone","updatedOn": "2026-11-09T16:42:17.000Z","releasedOnDate": "2013-05-29T12:18:00.000Z","summary": "Make language learning fun with Spanish, French, English, chess, math & music.","chartRank": "#1","chartLabel": "top free education","playPass": false,"originalPrice": null,"discountPercent": null,"saleEndsAt": null,"developerEmail": "super-support@duolingo.com","url": "https://play.google.com/store/apps/details?id=com.duolingo&hl=en&gl=us","country": "us","language": "en"}
description is plain text; descriptionHTML keeps Google's formatting. price and free are null for an unreleased app with no price yet.
3. Search: apps for a keyword
Paste keywords or Play search links. A link with &price=1 (free) or &price=2 (paid) keeps that filter.
Get one row per app, in Google's order: the search term, position, name, developer, rating, installs, price and category.
Input
{"mode": "search","urls": ["habit tracker"],"maxResults": 30}
Output (one real row, selected fields)
{"searchTerm": "habit tracker","position": 1,"packageId": "org.isoron.uhabits","name": "Loop Habit Tracker","developer": "Álinson S Xavier","rating": 4.7203126,"installs": "5,000,000+","price": 0,"free": true,"category": "Productivity","url": "https://play.google.com/store/apps/details?id=org.isoron.uhabits&hl=en&gl=us","country": "us"}
4. Top charts: the ranked list for a category
Fill the Top charts options section: a chart and a category id such as GAME, GAME_PUZZLE, COMMUNICATION, or APPLICATION for all apps. A pasted category link works too.
Get one row per app with its rank (up to 200), the chart, the chart's category, the app's own genre, rating, installs and price.
| Option | Field | Default | What it does |
|---|---|---|---|
| Chart type | chartType | Top free | Top free, Top grossing, Top paid or New free |
| Category | category | all apps | A Play category id |
| Max results per unit | maxResults | 50 | Apps per chart, up to 200. 0 = 200 |
Input
{"mode": "top-charts","chartType": "topgrossing","category": "GAME","maxResults": 200}
Output (one real row, selected fields)
{"chartType": "topgrossing","category": "GAME","rank": 1,"packageId": "com.scopely.monopolygo","name": "MONOPOLY GO!","developer": "Scopely","appCategory": "Board","rating": 4.5939174,"installs": "100,000,000+","price": 0,"currency": "USD","country": "us"}
5. Developer portfolio: every app by a developer
Paste a developer link, a numeric developer ID, the developer's exact name, or any one of their apps.
Get one row per app: the developer, position, name, rating, installs, price and category. Up to 150 apps for a numeric ID, 100 for a name.
Input
{"mode": "developer-portfolio","urls": ["5700313618786177705"]}
Output (one real row, selected fields)
{"developerId": "5700313618786177705","position": 1,"packageId": "com.google.android.apps.youtube.unplugged","name": "YouTube TV: Live TV & more","developer": "Google LLC","rating": 3.7776847,"installs": "10,000,000+","category": "Entertainment","country": "us"}
6. Similar apps: an app's competitors
Paste app links or IDs.
Get Google's full "Similar apps" list for each app, in Google's order. Often 100 or more per app. The developer's "More by" list is kept apart (it is in app details as moreByDeveloper).
Input
{"mode": "similar-apps","urls": ["com.todoist"],"maxResults": 50}
Output (one real row, selected fields)
{"sourcePackageId": "com.todoist","position": 1,"packageId": "com.socialnmobile.dictapps.notepad.color.note","name": "ColorNote Notepad Notes","developer": "Notes","rating": 4.875933,"installs": "100,000,000+","category": "Productivity","country": "us"}
7. Permissions: what an app asks for
Paste app links or IDs.
Get one row per permission group, as Play's permissions list shows it. groupKey stays the same in every language.
Input
{"mode": "permissions","urls": ["com.duolingo"]}
Output (one real row, selected fields)
{"packageId": "com.duolingo","group": "Identity","groupKey": "perm_identity","permissions": ["find accounts on the device"],"country": "us","language": "en"}
8. Data safety: what an app collects and shares
Paste app links or IDs.
Get one row per app: whether the developer filled in the form, what data is collected or shared, for what purpose, which items are optional, the security practices and the privacy policy link.
Input
{"mode": "data-safety","urls": ["com.simplemobiletools.calculator"]}
Output (one real row, selected fields)
{"packageId": "com.simplemobiletools.calculator","declaration": "declared","collectsData": true,"sharesData": true,"dataCollected": [{ "category": "App info and performance", "type": "Crash logs", "purpose": "Analytics", "optional": false },{ "category": "App info and performance", "type": "Diagnostics", "purpose": "Analytics", "optional": false },{ "category": "App info and performance", "type": "Other app performance data", "purpose": "Analytics", "optional": false },{ "category": "Device or other IDs", "type": "Device or other IDs", "purpose": "Analytics, Account management", "optional": false }],"securityPractices": ["Data is encrypted in transit", "Data can’t be deleted"],"privacyPolicy": "https://simplemobiletools.com/simplecalculator/privacy","country": "us","language": "en"}
declaration is declared, noInformation (the developer gave none) or systemService (a system app Google exempts).
9. Keyword ideas: what people type into Play's search box
Paste seed keywords. Turn on Expand keyword ideas (expandKeywords) to also ask for the seed plus each letter a to z.
Get one row per idea: the seed, the exact query sent, Google's position for it, the suggestion and a search link.
Input
{"mode": "keyword-suggestions","urls": ["habit tracker"],"expandKeywords": true}
Output (one real row, selected fields)
{"seed": "habit tracker","probe": "habit tracker","position": 1,"suggestion": "habit tracker","searchUrl": "https://play.google.com/store/search?q=habit+tracker&c=apps&hl=en&gl=us","country": "us","language": "en"}
10. Keyword rank: where your app shows up
Paste your app (and competitors) into urls, and the search terms into Keywords to rank for (keywords).
Get one row per keyword and app: the rank, whether it was found, and how many results were checked. Where Google has more than one page, the scraper looks up to about 250 deep.
Input
{"mode": "keyword-rank","urls": ["com.duolingo"],"keywords": ["learn spanish", "language learning"]}
Output (one real row, selected fields)
{"keyword": "language learning","packageId": "com.duolingo","rank": 1,"found": true,"resultsScanned": 30,"name": "Duolingo: Learn Languages","developer": "Duolingo","country": "us"}
Use it from an AI agent (Claude, ChatGPT, MCP)
Connect Claude, ChatGPT, Cursor or any MCP client to Apify's MCP server with this scraper as a tool:
https://mcp.apify.com?tools=sourabhbgp/google-play-scraper
Then ask in plain words. The agent fills in the input, and you pay the same per result. For example:
- "Get the 1-star reviews of com.whatsapp from the last 7 days."
- "List the top 100 grossing games on Google Play in Japan."
- "Where does com.duolingo rank on Google Play for 'learn spanish' and 'language app'?"
- "Which apps does Google Play show as similar to Todoist?"
Notes for the agent:
| Question | Mode | Minimum input |
|---|---|---|
| What do users say about an app? | reviews | urls |
| Price, rating, installs, version of an app | app-details | urls |
| Which apps come up for a term? | search | urls (keywords) |
| What is top in a category? | top-charts | chartType, category |
| Everything a company publishes | developer-portfolio | urls (numeric ID, exact name, or one of its apps) |
| An app's competitors | similar-apps | urls |
| Permissions / privacy label | permissions / data-safety | urls |
| Keyword ideas | keyword-suggestions | urls (seeds) |
| An app's rank for keywords | keyword-rank | urls (the app) + keywords |
- Keep the cost small: $0.002 per row. Set
maxResults(per app, query, chart or developer) andmaxItems(whole run) to what the question needs, for example 50 reviews or the top 20 apps. - Apps:
urlstakes package IDs (com.spotify.music) or app links. IDs are case-sensitive. A plain word is not an app and is reported as unusable input. - Dates:
sinceDatetakes a date (2026-06-01) or a relative value (7 days,2 weeks,3 months). Anything else stops the run with[U_CONFIG]before anything is charged. Google shows reviews about a day late, so use at least2 days. - Countries: two-letter codes (
us,gb,in);ukis read asgb; an unknown code stops the run with[U_CONFIG]. Reviews depend onlanguage, not country. - Developers: a numeric ID always works. A name must match Play character for character; when unsure, pass one of the developer's apps instead.
- Output fields:
ratingis the country's average;ratingCountis worldwide.installsis Google's band ("500,000,000+").rankandpositionstart at 1.found: falsemeans the app was not in the results checked (resultsScanned). - Reading the result: the status message starts with a code when a run ends short:
[U_...]means the input,[E_...]means our side. TheRUN_SUMMARYrecord in the run's key-value store lists every input with its own outcome. - Time: a few apps or one chart takes seconds. 1,000 reviews take under a minute. A search past its first page is slower, about one result per second, because each extra app is looked up in full.
What people use it for
- 📱 App developers: watch new reviews and reply faster, by star rating and app version.
- 📈 ASO teams: track keyword ranks daily and find new keywords from Play's own search box.
- 🕵️ Product and market research: map a category's top 200 and every competitor's similar apps.
- 💰 Analysts: follow prices, sales, installs and ratings across countries.
- 🔐 Privacy and compliance teams: audit permissions and data-safety labels at scale.
- 🧠 AI and data teams: build review datasets for sentiment analysis and model training.
How much does it cost?
You pay per row, and each row is charged once. Same price on every plan, every mode.
| What you get | Per 1,000 |
|---|---|
| Any row: review, app, search result, chart entry, keyword row | $2.00 |
There is no per-run fee.
- Free plan: your $5 monthly credit covers about 2,500 rows.
- Starter plan ($19): about 9,500 rows a month.
Limitations
- Search depth depends on Google: most searches have 13 to 30 results; only some go on to about 250.
- Developer catalogues: up to 150 apps for a numeric ID and 100 for a name; bigger catalogues are cut at that point.
- Charts stop at 200: that is the deepest list Google serves.
- Ranks move a little: on deep searches Google reshuffles results between requests, so a rank past the first page can shift from one run to the next.
- Reviews arrive a day late: Google shows a new review about 24 hours after it is written.
- App size is not shown: Google no longer lists download size on the public page.
- Ratings by country: the star average and breakdown are per country; in a small market the breakdown is Google's estimate.
FAQ
How do I scrape Google Play without coding?
Pick a mode, paste app links, IDs or keywords, and press Start. Download the results as Excel, CSV or JSON.
Can I get only new reviews every day?
Yes. Set Reviews since to 2 days and schedule the run daily. Google shows reviews about a day late, so 1 day would return nothing; with 2 days, runs overlap a little, so remove repeats by reviewId.
Do I need a proxy or a Google account?
No. It works out of the box, and it doesn't log in.
Can I use it from code or an AI agent?
Yes. Call it through the Apify API, or connect it to an AI agent through Apify's MCP server (see above).
Is scraping Google Play legal?
It collects only what Google Play shows any visitor, with no login. How you use the data is your responsibility, especially personal data such as reviewer names.
Your feedback
Something missing or wrong? Open an issue.