Google Play Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Google Play Scraper (Cheap)
Google Play Store scraper that extracts app listings, ratings, downloads, developer info, and user reviews by keyword search, category browse, or top charts, so you can track competitors and analyze any app market without writing a single line of code.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
Google Play App Data Scraper

Pulling app data off Google Play by hand is slow: you click into each listing, copy the rating, scroll for the install count, hunt down the developer email. This scraper does the clicking for you. Give it a keyword, a category, a top chart, or a list of package IDs, and it returns each app as one clean row with the title, star rating, installs, price, and developer details already split into fields. Turn on the profile and review options when you need the full picture. One app or a thousand, the output stays the same shape, ready for a spreadsheet or a model.
What you get
Each app comes back as a single row with a steady set of columns, so loading the results into a sheet or database stays predictable. The data falls into a few groups:
- App basics —
appId,appTitle,storeUrl,publisher,categoryName,categoryCode,ageRating - Ratings and pricing —
starRating,ratingsTotal,freeApp,priceLabel,priceAmount,installCount,iapRange - Version and content —
versionName,androidMinimum,updatedDate,changelog,description - Media —
iconUrl,thumbnailUrl,bannerUrl,screenshotUrls,promoVideoUrl - Developer —
devName,devWebsite,devEmail,devAddress - Run context —
reviewList,queryUsed,collectedAt,errorMessage
Quick start
- Press Try for free and open the input form.
- Choose how to find apps: type a keyword in Search term, paste App IDs, set a Store category, or pick a Ranking list.
- Flip on Pull full app profile and Collect reviews if you want the long description, screenshots, and user reviews.
- Set a Results limit, press Start, then export the data as JSON, CSV, Excel, or XML.

Use cases
- App store research — size up a category, see who ranks, and track ratings and install bands over time
- Competitor monitoring — watch rival apps for price changes, version bumps, and rating shifts
- ASO and keyword work — pull the apps that surface for a search term and study their titles, categories, and descriptions
- Lead generation — collect developer names, websites, and contact emails from a category or chart
- Review mining — gather user reviews to read sentiment, surface bugs, and spot feature requests
- Market sizing — compare install counts and rating volumes across regions using the language and country settings
Input
| Field | Type | Required | Description |
|---|---|---|---|
queryTerm | string | One of queryTerm, appPackages, categoryFilter, or chartType | Keyword to search on Google Play, such as habit tracker. |
appPackages | array of strings | Optional | Package IDs to pull directly, e.g. com.whatsapp. Use alone or with a search term. |
categoryFilter | string | Optional | Browse a category instead of searching, e.g. PRODUCTIVITY or GAME_PUZZLE. |
chartType | string | Optional | Pull a ranked chart: topselling_free, topselling_paid, or topgrossing. |
deviceFilter | string | No | Limit results to a device class: phone, tablet, tv, chromebook, watch, or car. |
fetchFullProfile | boolean | No | Pull the full profile (description, installs, version, screenshots, developer info) per app. Adds one request each. Default false. |
fetchReviews | boolean | No | Collect user reviews for each app. Default false. |
reviewsPerApp | integer | No | Most reviews to gather per app when review collection is on. Default 25. |
languageCode | string | No | Two-letter language code for results. Default en. |
regionCode | string | No | Two-letter country code for the storefront region. Default us. |
resultsLimit | integer | No | Most apps to return per run. Default 30. |
timeoutSeconds | integer | No | Seconds to wait on each request before timing out. Default 45. |
Example input
{"queryTerm": "habit tracker","categoryFilter": "PRODUCTIVITY","fetchFullProfile": true,"fetchReviews": true,"reviewsPerApp": 25,"languageCode": "en","regionCode": "us","resultsLimit": 30,"timeoutSeconds": 45}
Output
Every app in the run becomes one row. Search results give you the basics; turning on the full profile and reviews fills in the rest. Fields the store does not publish for a given app come back as null so your dataset stays rectangular.
Example output
{"appId": "com.habitify.android","appTitle": "Habitify: Habit Tracker","storeUrl": "https://play.google.com/store/apps/details?id=com.habitify.android","publisher": "Unstatic Ltd.","categoryName": "Productivity","categoryCode": "PRODUCTIVITY","ageRating": "Everyone","starRating": 4.6,"ratingsTotal": 41208,"freeApp": true,"priceLabel": "Free","priceAmount": 0.0,"installCount": "1,000,000+","iapRange": "$1.99 - $59.99 per item","versionName": "12.3.1","androidMinimum": "8.0","updatedDate": "Jun 12, 2026","changelog": "Bug fixes and a faster home screen.","description": "Habitify helps you build and keep daily habits with simple tracking, streaks, and reminders.","iconUrl": "https://play-lh.googleusercontent.com/example-icon=s512","thumbnailUrl": "https://play-lh.googleusercontent.com/example-thumb=s256","bannerUrl": "https://play-lh.googleusercontent.com/example-banner=w1024","screenshotUrls": ["https://play-lh.googleusercontent.com/example-shot-1=w720","https://play-lh.googleusercontent.com/example-shot-2=w720"],"promoVideoUrl": "https://www.youtube.com/embed/exampleVideoId","devName": "Unstatic Ltd.","devWebsite": "https://www.habitify.me","devEmail": "support@habitify.me","devAddress": "71-75 Shelton Street, London, WC2H 9JQ, United Kingdom","reviewList": [{"reviewId": "gp:AOqpTOExampleReviewId","reviewerName": "Maya R.","reviewerAvatar": "https://play-lh.googleusercontent.com/example-avatar=s64","reviewRating": 5,"reviewText": "Clean design and the streaks actually keep me going.","likes": 38,"reviewDate": "June 18, 2026","reviewIsoDate": "2026-06-18T09:14:00Z","appVersion": "12.3.1","developerReply": "Thank you! Glad the streaks help.","developerReplyDate": "2026-06-19T11:02:00Z"}],"queryUsed": "habit tracker","collectedAt": "2026-06-29T12:00:00.000000+00:00","errorMessage": null}
Output fields
| Field | Type | Description |
|---|---|---|
appId | string | Package identifier, e.g. com.discord |
appTitle | string | App title |
storeUrl | string | Link to the Play Store page |
publisher | string | Publisher or studio name |
categoryName | string | Category label |
categoryCode | string | Category code |
ageRating | string | Maturity rating, e.g. Everyone, Teen, Mature 17+ |
starRating | number | Mean user score from 1 to 5 |
ratingsTotal | number | How many ratings were submitted |
freeApp | boolean | True when the app costs nothing |
priceLabel | string | Display price text, e.g. $3.99 |
priceAmount | number | Numeric price, zero for free apps |
installCount | string | Install-count text, e.g. 500,000,000+ |
iapRange | string | In-app purchase price range |
versionName | string | Version currently published |
androidMinimum | string | Lowest supported Android version |
updatedDate | string | Date of the most recent update |
changelog | string | Notes from the latest release |
description | string | Complete store description |
iconUrl | string | App icon image link |
thumbnailUrl | string | Thumbnail link from search results |
bannerUrl | string | Feature graphic or banner image link |
screenshotUrls | array | List of screenshot links |
promoVideoUrl | string | Promo clip link (YouTube embed) |
devName | string | Developer name |
devWebsite | string | Developer website link |
devEmail | string | Developer support email |
devAddress | string | Developer mailing address |
reviewList | array | Collected user reviews when review collection is on |
queryUsed | string | Search term that produced the row |
collectedAt | string | ISO 8601 capture timestamp |
errorMessage | string | Failure note when something went wrong; null otherwise |
Tips for best results
- Start with a small
resultsLimit. Run 10 to 20 apps first to confirm the output fits your pipeline, then raise the cap for the full pull. - Leave the profile off for quick counts.
fetchFullProfileadds a request per app. Keep it off when you only need titles, ratings, and prices; turn it on for descriptions, screenshots, and developer info. - Mix search inputs. A search term, a category, a chart, and a list of package IDs all work together in one run, so you can combine a keyword with a few known apps.
- Match
languageCodeandregionCode. Set both to the market you care about, e.g.deandde, to get region-correct prices, descriptions, and charts. - Keep
reviewsPerAppmodest at first. Reviews are paginated, so a high cap across many apps means more requests; start around 25 and raise it once the run looks right. - Raise
timeoutSecondsif you see timeouts on large runs or slower regions.
How can I use Google Play app data?
How can I use the Google Play App Data Scraper to track competitor apps?
Paste the package IDs of the apps you follow into appPackages, turn on fetchFullProfile, and run it on a schedule. Each row carries starRating, ratingsTotal, installCount, priceLabel, and versionName, so you can watch rating trends, price moves, and version releases over time.
How can I scrape Google Play search results for app store optimization?
Put your target keyword in queryTerm and set resultsLimit to the depth you want. The scraper returns every app that surfaces for that term with its appTitle, categoryName, starRating, and description, giving you a clear read on which apps rank and how they position themselves.
How can I collect Google Play developer contacts for lead generation?
Set a categoryFilter or a chartType, switch on fetchFullProfile, and export the run. Rows include devName, devWebsite, devEmail, and devAddress, turning a category or top chart into a structured contact list you can filter and import into your CRM.
How can I mine Google Play reviews for product feedback?
Enable fetchReviews and set reviewsPerApp to the volume you need. The reviewList field returns each review with its rating, text, date, and any developer reply, so you can read sentiment, surface recurring bugs, and gather feature requests in one export.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.