Google Play Scraper (Cheap) avatar

Google Play Scraper (Cheap)

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Google Play Scraper (Cheap)

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

Data API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

Google Play App Data Scraper

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 basicsappId, appTitle, storeUrl, publisher, categoryName, categoryCode, ageRating
  • Ratings and pricingstarRating, ratingsTotal, freeApp, priceLabel, priceAmount, installCount, iapRange
  • Version and contentversionName, androidMinimum, updatedDate, changelog, description
  • MediaiconUrl, thumbnailUrl, bannerUrl, screenshotUrls, promoVideoUrl
  • DeveloperdevName, devWebsite, devEmail, devAddress
  • Run contextreviewList, queryUsed, collectedAt, errorMessage

Quick start

  1. Press Try for free and open the input form.
  2. Choose how to find apps: type a keyword in Search term, paste App IDs, set a Store category, or pick a Ranking list.
  3. Flip on Pull full app profile and Collect reviews if you want the long description, screenshots, and user reviews.
  4. Set a Results limit, press Start, then export the data as JSON, CSV, Excel, or XML.

How it works

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

FieldTypeRequiredDescription
queryTermstringOne of queryTerm, appPackages, categoryFilter, or chartTypeKeyword to search on Google Play, such as habit tracker.
appPackagesarray of stringsOptionalPackage IDs to pull directly, e.g. com.whatsapp. Use alone or with a search term.
categoryFilterstringOptionalBrowse a category instead of searching, e.g. PRODUCTIVITY or GAME_PUZZLE.
chartTypestringOptionalPull a ranked chart: topselling_free, topselling_paid, or topgrossing.
deviceFilterstringNoLimit results to a device class: phone, tablet, tv, chromebook, watch, or car.
fetchFullProfilebooleanNoPull the full profile (description, installs, version, screenshots, developer info) per app. Adds one request each. Default false.
fetchReviewsbooleanNoCollect user reviews for each app. Default false.
reviewsPerAppintegerNoMost reviews to gather per app when review collection is on. Default 25.
languageCodestringNoTwo-letter language code for results. Default en.
regionCodestringNoTwo-letter country code for the storefront region. Default us.
resultsLimitintegerNoMost apps to return per run. Default 30.
timeoutSecondsintegerNoSeconds 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

FieldTypeDescription
appIdstringPackage identifier, e.g. com.discord
appTitlestringApp title
storeUrlstringLink to the Play Store page
publisherstringPublisher or studio name
categoryNamestringCategory label
categoryCodestringCategory code
ageRatingstringMaturity rating, e.g. Everyone, Teen, Mature 17+
starRatingnumberMean user score from 1 to 5
ratingsTotalnumberHow many ratings were submitted
freeAppbooleanTrue when the app costs nothing
priceLabelstringDisplay price text, e.g. $3.99
priceAmountnumberNumeric price, zero for free apps
installCountstringInstall-count text, e.g. 500,000,000+
iapRangestringIn-app purchase price range
versionNamestringVersion currently published
androidMinimumstringLowest supported Android version
updatedDatestringDate of the most recent update
changelogstringNotes from the latest release
descriptionstringComplete store description
iconUrlstringApp icon image link
thumbnailUrlstringThumbnail link from search results
bannerUrlstringFeature graphic or banner image link
screenshotUrlsarrayList of screenshot links
promoVideoUrlstringPromo clip link (YouTube embed)
devNamestringDeveloper name
devWebsitestringDeveloper website link
devEmailstringDeveloper support email
devAddressstringDeveloper mailing address
reviewListarrayCollected user reviews when review collection is on
queryUsedstringSearch term that produced the row
collectedAtstringISO 8601 capture timestamp
errorMessagestringFailure 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. fetchFullProfile adds 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 languageCode and regionCode. Set both to the market you care about, e.g. de and de, to get region-correct prices, descriptions, and charts.
  • Keep reviewsPerApp modest 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 timeoutSeconds if 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.

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.