Google Play Scraper โ€” Play Store API & App Data | $0.50/1k avatar

Google Play Scraper โ€” Play Store API & App Data | $0.50/1k

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Google Play Scraper โ€” Play Store API & App Data | $0.50/1k

Google Play Scraper โ€” Play Store API & App Data | $0.50/1k

Google Play Store app data without an API key: look up apps by package name or URL, search keywords with rank, list a developer's apps, read top free, paid and grossing charts in any country. Rating, installs, price, version, update date, category, screenshots. JSON, CSV, Excel.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Raffy

Raffy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

What does Google Play Scraper do?

Google Play Scraper turns Google Play Store apps, keywords, developers and top charts into clean app data: title, developer, category, price and currency, star rating, rating count, review count, the 1-5 star breakdown, installs (the bracket and Google's own approximate count), age rating, contains-ads and in-app-purchase flags, version, minimum Android version, release and last-update dates, summary, full description, what's new, icon, feature graphic, screenshots and promo video. Paste a package name or Play Store link, type a keyword, name a developer or pick a chart, and a few seconds later you have one row per app as JSON, CSV or Excel.

It works as a Google Play API and Play Store API alternative with no API key, no Google account and no browser. The Actor reads the public Google Play store pages and the same public data calls Google Play's own website uses for its charts, so it is fast and cheap.

Four ways in, freely combined in one run, in any country and language:

  • Look up apps by package name (com.whatsapp) or Play Store link.
  • Search Google Play by keyword and get each app's searchRank, the position Google shows it at: an ASO keyword-ranking check.
  • List every app of a developer by developer name, numeric developer ID or developer link.
  • Read the top charts: top free, top paid and top grossing, for all apps, all games or one category such as Games - Puzzle, with chartPosition and the full app data.

Typical use cases:

  • App store optimization (ASO). Track where your app and your competitors rank for your keywords, country by country, on a schedule.
  • Market and competitor research. Pull the top grossing games of 10 countries, compare prices, ratings, installs and update frequency, and spot fast climbers.
  • Price and monetization research. See what an app costs in every country, whether it shows ads and what its in-app purchases cost.
  • Publisher and partner research. List all apps of a publisher with category, installs, rating count and the developer's website.
  • Data for AI agents and apps. Give an agent a tool that answers "what is this Android app, how is it rated, how many installs, when was it last updated" from Google Play's own data.

It reads app data only. It does not collect user reviews, reviewer names or developer e-mail addresses, phone numbers or postal addresses.

Why use Google Play Scraper?

  • Cheap. $0.50 per 1,000 apps, Apify platform usage included, with no per-search, per-developer or per-chart surcharges.
  • Fast. No browser. On Apify, 25 app lookups plus 6 keyword searches (85 apps) finished in 10 seconds, 2 top charts plus 3 developers in 2 countries (133 apps) in 25 seconds, and the US top 200 free and top 200 grossing charts (400 apps) in about 2 minutes, every request answered on the first try.
  • Complete rows. Search, developer and chart rows are not thin list entries: every row is completed from the app's own Google Play page, so a chart row has the same installs, version, dates and description as a lookup.
  • Honest results. Every row carries status (ok, not_found, error). A package that does not exist or is not sold in a country, an unknown developer or a keyword with no match is a not_found row that you are never charged for, and the run still ends successfully.
  • Built for agents. Call it with no input and it returns data; plain strings everywhere; developer names, country names and chart names such as "top free" are understood.

What data can Google Play Scraper extract?

FieldTypeDescription
appIdstringAndroid package name, e.g. com.whatsapp
titlestringApp name as shown on Google Play
developerstringDeveloper (publisher) name
developerIdstringGoogle Play's numeric developer ID
developerUrlstringThe developer's Google Play page
developerWebsitestringThe developer's website, when listed
categorystringMain category, e.g. Communication, Arcade
categoryIdstringCategory ID, e.g. COMMUNICATION, GAME_ARCADE
pricenumberPrice in the country's currency (0 = free)
currencystringISO 4217 currency code, e.g. USD, EUR
priceTextstringPrice as Google Play displays it (paid apps)
freebooleanTrue when the app is free to install
ratingnumberAverage star rating 0-5
ratingCountintegerNumber of star ratings
reviewCountintegerNumber of written reviews (the count only)
ratingHistogramobjectNumber of 1- to 5-star ratings
installsstringInstall bracket as displayed, e.g. 50,000,000+
minInstallsintegerLower bound of the install bracket
realInstallsintegerGoogle Play's own approximate install count
contentRatingstringAge rating, e.g. Everyone, Teen, PEGI 12
contentRatingDescriptionstringReasons for the age rating, e.g. Fantasy Violence, In-Game Purchases
releasedstringFirst release date (ISO 8601)
lastUpdatedstringDate of the latest update (ISO 8601)
versionstringCurrent version, or Varies with device
androidVersionstringMinimum Android version, or Varies with device
containsAdsbooleanGoogle Play's "Contains ads" label
offersIAPbooleanWhether the app sells in-app purchases
iapPriceRangestringIn-app purchase price range, e.g. $0.99 - $49.99 per item
summarystringShort description
descriptionstringFull description as plain text
recentChangesstringWhat's new in the latest update
iconUrlstringApp icon
headerImagestringFeature graphic
screenshotUrlsarrayScreenshot links
videoUrlstringPromo video link, when the listing has one
privacyPolicyUrlstringThe app's privacy policy
playStoreUrlstringThe app's Google Play page for this country and language
sourcestringHow the row was found: app, search, developer or chart
searchTermstringKeyword that found the app
searchRankintegerPosition in Google Play's search results for that keyword (1 = first)
chartstringtopFree, topPaid or topGrossing
chartCategorystringCategory of the chart, e.g. APPLICATION (all apps), GAME
chartPositionintegerPosition in that chart (1 = number one)
developerQuerystringThe developer name or ID you asked for
countrystringGoogle Play country of the data (two-letter code)
languagestringLanguage of the texts
detailsErrorstringOnly when an app's own page could not be read after retries: the row then holds the list data (title, developer, rating, price)
urlstringSame as playStoreUrl on ok rows; what was asked for on other rows
statusstringok, not_found or error (see below)
errorstringReason when status is not ok
scrapedAtstringISO 8601 time of extraction

Prices, ratings, availability, search rankings and charts are per country: the same app has different numbers in us and de. App size is not included because Google Play no longer shows it on its website.

Result status (tri-state output)

statusMeaningBilled?
okThe app was found; the row holds its data.Yes
not_foundGoogle Play answered, but there is no such app in that country (it does not exist or is region-locked), no such developer, or a keyword or chart has no apps. error says which.No
errorGoogle Play could not be read after retries, or an input entry was not a package name or Google Play link. error says why.No

How to use Google Play Scraper

  1. Open the Actor and click Try for free.
  2. Fill in any of the four inputs: Apps (package names or links), Search keywords, Developers, Top charts (plus Chart category).
  3. Pick the Countries (default us) and the Language (default en).
  4. Set Maximum results (default 20) and, for keywords, developers and charts, Results per search, developer or chart (default 50).
  5. Click Start. Rows appear in the dataset as they arrive; export them as JSON, CSV, Excel, XML or HTML, or read them through the API.

To run it on a schedule (daily ranking or chart tracking), add a Schedule in Apify Console. To call it from code, use the API tab (Node.js, Python, curl) or the Apify MCP server.

Which input finds what

You giveYou get
com.whatsapp, https://play.google.com/store/apps/details?id=com.whatsapp, market://details?id=com.whatsappThat app
Google LLC or 5700313618786177705 (in Developers), or a developer linkEvery app of that developer
Rovio (in Developers)The apps of the developer whose name starts with it (Rovio Entertainment Oy)
habit tracker (in Search keywords)Google Play's search results with searchRank
Top free / Top paid / Top grossingUp to 200 apps per chart with chartPosition

How much does it cost to scrape Google Play?

This Actor uses pay-per-event pricing. Apify platform usage is included in these prices.

EventPrice
Actor start$0.005 per run
Result (status: ok row)$0.0005 per app

Examples: the default run (5 apps) costs $0.0075. The US top 100 free chart costs $0.055. 1,000 apps cost $0.505, 10,000 apps $5.005. Rows with status not_found or error are never billed. You can cap spending with Maximum results and the run's Max total charge option; the Actor stops gracefully when your run's maximum charge is reached.

Input

See the Input tab for the full schema. The main options:

FieldTypeDefaultDescription
startUrlsarray of strings5 well-known appsPackage names, Play Store app, developer or search links
searchTermsarray of strings-Keywords to search
developerIdsarray of strings-Developer names, numeric IDs or links
chartsarray-topFree, topPaid, topGrossing
chartCategorystringAPPLICATION (all apps)Chart category, e.g. GAME, GAME_PUZZLE, HEALTH_AND_FITNESS
countriesarray of strings["us"]Two-letter country codes (or country names)
languagestringenLanguage of the texts, e.g. de, ja, pt-BR
resultsPerSourceinteger50Apps kept per keyword (max 30), developer and chart (max 200)
maxItemsinteger20Stop after this many rows in total

When you use keywords, developers or charts and leave Apps at its built-in example, the example apps are skipped automatically.

Example input: the top 100 grossing games in the US and Germany, plus two keywords.

{
"charts": ["topGrossing"],
"chartCategory": "GAME",
"searchTerms": ["budget planner", "habit tracker"],
"countries": ["us", "de"],
"resultsPerSource": 100,
"maxItems": 1000
}

The default input (what an AI agent gets when it calls the Actor with no arguments):

{
"startUrls": [
"com.whatsapp",
"com.spotify.music",
"https://play.google.com/store/apps/details?id=com.duolingo",
"com.mojang.minecraftpe",
"org.telegram.messenger"
],
"countries": ["us"],
"language": "en",
"maxItems": 20
}

Output

You can download the dataset as JSON, CSV, Excel, XML or HTML. A real row from a run on Apify (long texts and lists shortened here):

{
"url": "https://play.google.com/store/apps/details?id=com.mojang.minecraftpe&hl=en&gl=us",
"status": "ok",
"scrapedAt": "2026-09-27T22:05:17.137Z",
"appId": "com.mojang.minecraftpe",
"title": "Minecraft: Dream it, Build it!",
"developer": "Mojang",
"developerId": "4772240228547998649",
"developerUrl": "https://play.google.com/store/apps/dev?id=4772240228547998649",
"developerWebsite": "http://help.mojang.com/",
"category": "Arcade",
"categoryId": "GAME_ARCADE",
"price": 6.99,
"currency": "USD",
"priceText": "$6.99",
"free": false,
"rating": 4.3071604,
"ratingCount": 5844620,
"reviewCount": 635016,
"ratingHistogram": { "1": 619774, "2": 178556, "3": 269189, "4": 496216, "5": 4280868 },
"installs": "50,000,000+",
"minInstalls": 50000000,
"realInstalls": 97817244,
"contentRating": "Everyone 10+",
"contentRatingDescription": "Fantasy Violence, Users Interact, In-Game Purchases",
"released": "2011-08-16T06:17:21Z",
"lastUpdated": "2026-09-25T17:26:28Z",
"version": "1.26.52.3",
"androidVersion": "8.0",
"containsAds": false,
"offersIAP": true,
"iapPriceRange": "$0.99 - $49.99 per item",
"summary": "Millions of crafters have smashed billions of blocks! Now you can join the fun!",
"description": "Dive into an open world of building, crafting, and survival in the ultimate sandbox adventure. Gather resources, survive the night, and build a world one block at a time....",
"recentChanges": "What's new in 26.52: Various bug fixes!",
"iconUrl": "https://play-lh.googleusercontent.com/tI4StRSPVhpGJH5R013naszLUawOjao1ya8FvyaNO7XY_cJFHFqo1EFaEJv_7zz3rRJ5lEpLiw14ZqQLCOYc",
"headerImage": "https://play-lh.googleusercontent.com/S_Z7YSNVWWd3BNh3AwV0iVv0hNqJ8zvn-HwLTlYqVLU4uxSohpwKpIa-EmwwwoxOlSw8voqu5CsxQGbojanT",
"screenshotUrls": ["https://play-lh.googleusercontent.com/ywPBuExmYGLE6oL7QENmI7wOxMPOU-XatzosE6M4bgXudBsMQWcKp1QHhHrJM1QeTadoVo7lnpO5O12WyzlYQA", "..."],
"videoUrl": "https://play.google.com/video/lava/web/player/yt:movie:BLtLrFNRE-E?autoplay=1&embed=play",
"privacyPolicyUrl": "http://go.microsoft.com/fwlink/?LinkId=521839",
"playStoreUrl": "https://play.google.com/store/apps/details?id=com.mojang.minecraftpe&hl=en&gl=us",
"source": "app",
"country": "us",
"language": "en"
}

A search row carries the same fields plus "source": "search", "searchTerm": "vpn" and "searchRank": 1; a chart row adds "chart": "topFree", "chartCategory": "GAME" and "chartPosition": 1. A package that does not exist (or is not sold in that country) gives a free row like this, and the run still succeeds:

{
"url": "https://play.google.com/store/apps/details?id=com.nonexistent.bogus.app12345&hl=en&gl=us",
"status": "not_found",
"error": "HTTP 404: page does not exist",
"scrapedAt": "2026-09-27T22:22:09.173Z"
}

Tips

  • Put all your apps, keywords and countries in one run: you pay the start fee once.
  • For keyword rank tracking, schedule a daily run with your keywords and read searchRank for your appId.
  • Raise Maximum results when you ask for full charts or several keywords: it caps the whole run (default 20).
  • Country names work (Germany, Japan), and so do the codes (de, jp). The language changes the texts; prices and charts follow the country.

Limitations

  • No user reviews, no developer contact details. The Actor returns app data only: never reviews or reviewer names, and not the support e-mail, phone or postal address Google Play lists, because individual developers publish their own personal details there.
  • Google Play's search page shows 30 apps per keyword, so searchRank goes up to 30. Charts go up to 200 apps.
  • App size is not available: Google Play no longer shows it on its website.
  • A developer name must match what Google Play shows (or be its beginning, such as Rovio); for an exact list use the numeric developer ID from the developer's Google Play link.
  • Values come from Google Play at the time of the run. Google changes its page data now and then; when it does, rows come back as error (never as silently wrong data) and the Actor is updated quickly; report it in the Issues tab.

FAQ

Do I need a Google account, a developer account or an API key?

No. The Actor reads Google Play's public store pages, which need no key and no login.

Can it scrape Google Play reviews?

No, on purpose: this Actor collects app data only, never reviews or reviewer names. It does return each app's rating, ratingCount, reviewCount and the 1-5 star ratingHistogram.

How do I track my app's keyword ranking (ASO)?

Add your keywords under Search keywords, set your countries, and schedule the run daily. Filter the rows by your appId and chart searchRank over time. searchRank is the position in Google Play's search results for that keyword (1 = first).

How do I get the top grossing games in Japan?

Set Top charts to Top grossing, Chart category to All games, Countries to jp, Results per search, developer or chart to 100 and Maximum results to 100. Add Language ja for Japanese titles and descriptions.

Why is an app not_found?

The package does not exist, or the app is not offered in that country's Google Play store (many apps are region-locked). The row names the country's page that was checked. not_found rows are free.

What is the difference between installs, minInstalls and realInstalls?

installs is the bracket Google Play displays (50,000,000+), minInstalls is its lower bound as a number, and realInstalls is Google Play's own approximate install count behind the bracket.

Can I use this Actor from an AI agent or MCP client?

Yes. Called with no arguments it returns five well-known apps; every input is a plain string or list, and every row explains itself with status and error.

  • App Store Scraper - use it to compare the same app's iOS listing, ranking and reviews.
  • Steam Store Scraper - use it when the app in question is also, or instead, a PC game on Steam.
  • Shopify Scraper - use it if the app has a companion online store you also need to track.

This Actor reads only data that Google publishes publicly on its Google Play store pages: app listings and the names of the companies and people who publish them. It does not extract reviews, reviewer names, e-mail addresses, phone numbers, postal addresses or other contact data, and it does not log in or get around any access control. Some developers publish apps under their own name, so a developer value can be a person's name; it is the public publisher name shown on Google Play. 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 are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with Google's terms and applicable law when using the extracted data.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Google LLC. Google Play is a trademark of Google LLC. All trademarks belong to their respective owners.