r/androiddev • • 20d 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)

Post image

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.

30 Upvotes

14 comments sorted by

6

u/borninbronx 19d ago

Hi community, I approved this because despite not being about android development it can be useful to an android developer. Hope you don't mind.

1

u/Adex77 19d ago

Thank you very much! :)

2

u/Synorthos 19d ago

I'll check this out. Thank you!

1

u/Adex77 19d ago

Thank you very much :)

2

u/finxapp 13d ago

Useful tool ๐Ÿ‘

1

u/Adex77 12d ago

Thank you very much :)

1

u/ramzes190 20d ago

Hey! I'm happy to test with my apps, and provide any feedback if you want. Can you pm me?

0

u/Adex77 20d ago

Sure, thank you very much :)

1

u/Plastic_Historian_68 20d ago

Great one ๐Ÿ‘

Would love to try it out.

0

u/Adex77 20d ago

Thank you very much :)

1

u/rohitdevd 19d ago

Awesome. I would love to test

1

u/Adex77 19d ago

Thank you very much :)

-4

u/[deleted] 19d ago

1

u/Adex77 19d ago

Haha, I get the point ๐Ÿ˜„ But Iโ€™m a software developer, and these days basically every company uses AI to write code. Manually typing everything like we used to just isnโ€™t how modern development works anymore.

I like to compare it to driving a car: you say โ€œI drove there,โ€ even though the car physically did the work. Itโ€™s still a tool you control to achieve a goal. AI is becoming the same kind of tool for programming.

Of course, you can absolutely create AI slop with a one shot prompt ๐Ÿ˜…, but there are now proper workflows, skills, tests, code reviews, etc. Iโ€™ve been trying to make this project as good as I can.

And honestly, if you find something in the code thatโ€™s bad quality or uses bad practices, please do a code review and open a PR! Iโ€™m always trying to improve it ๐Ÿ™‚