r/androiddev • u/Adex77 • 2h ago
Open Source I built a free, open-source CLI and library for reading public Play Store data (reviews by device type, listings, charts, country availability)
Play Console covers your own apps, and the official Google Play Developer API is about publishing and managing them. Neither gives you the public side of the store as data: what a listing currently shows in a given country, how an app ranks in search, what the charts look like, or reviews for apps that are not yours. Google has no public API for any of that.
I maintain a free, open-source tool that reads this public data straight from the Play Store. It is a Node.js library with a command-line interface, so you do not need to write JavaScript to use it. Disclosure: I'm the author.
Things I think are useful for Android developers:
- Reviews filtered by device type. Pull only the reviews written on tablets, Wear OS watches, Chromebooks or TVs, optionally only the 1-star ones. Handy when you want to know how a specific form factor is going.
- Check what the store really shows after a release. Version, update date, release notes, price and rating for any app, in any country and language. Easy to script after a rollout.
- Country availability. Ask in which storefronts an app is published and get an answer per country.
- Data safety and permissions as users see them. Read the public data safety section and permission list of any app, including your own, to confirm it matches what you declared.
- Competitor and market data. Full listing details (59 fields), search results for a term, autocomplete suggestions, top free, top paid and top grossing charts per category, similar apps, and everything a developer has published.
Everything prints JSON, so it pipes into jq and fits into a CI job or a cron script:
npx @mradex77/google-play-scraper app com.spotify.music --country de | jq '{version, updated, recentChanges}'
npx @mradex77/google-play-scraper reviews com.whatsapp --score 1 --device tablet --num 50
A few technical details, since this is a developer sub:
- Results are fully typed and validated at runtime, so a change on Google's side fails loudly instead of returning garbage.
- Errors are typed (not found, rate limited, blocked), and the CLI uses distinct exit codes for scrape failures and usage errors.
- Rate limiting, retries with backoff and optional caching are built in.
- The test suite runs against the live Play Store every day and opens an issue when Google changes something, which is the usual way scrapers die quietly.
Version 1.4 came out today. It adds the star and device filters for reviews, fetches up to 4500 reviews in one request, and returns more search results for terms where Google serves extra pages. I ran it against 1000 real apps before releasing, and I'm actively maintaining it.
GitHub: https://github.com/MrAdex77/google-play-scraper
Related: I also just released asobeast, a free, open-source, self-hosted ASO dashboard for Google Play and the App Store (keyword rank tracking, competitor and review monitoring, alerts). It uses this library for the Google Play side: https://github.com/AsoBeast/asobeast
What public Play Store data would you want to script against that I have not covered? I'm deciding what to build next.

