Skip to content

Repository files navigation

BetaScout

Release License Downloads

Find and track Google Play beta programs for the apps on your device.

BetaScout scans your installed apps, shows which ones are known to have a Google Play open-testing (beta) program, opens the opt-in page for you, and reminds you to re-check the ones you are watching — so you catch a free slot when one opens up.

The app is available in seven languages: English, Finnish (suomi), Spanish (español), German (Deutsch), French (français), Italian (italiano) and Brazilian Portuguese (português do Brasil). It follows your device language automatically; on Android 13+ you can also pick the language per app in system settings. Native speakers: corrections are very welcome — please open an issue.

What it does

  • 📋 Scans installed apps — name, icon, version and install source, entirely on-device
  • 🔍 Knows about beta programs — a shared catalog of apps with known open-testing programs, updated daily and grown by opt-in community discoveries that a server-side job verifies against Google Play before they are published
  • 🔗 One-tap deep links — open an app's play.google.com/apps/testing/… opt-in page or its Play Store page directly
  • ✍️ Track your own status — mark each app as joined / not joined / full / no program, and keep private notes
  • Watchlist with reminders — watch apps you care about and get a notification at your chosen interval (7/14/30 days) reminding you to re-check; tapping it opens the beta page

What it does not do

Honesty first:

  • It never joins a beta program on your behalf. Joining requires pressing the Join button on Google Play yourself.
  • Without signing in it cannot detect whether a program is open or full. That information is only visible to a signed-in Google account on the testing page. If you sign in inside the app, BetaScout reads your own testing pages to detect your memberships and each program's open/full status; otherwise it just takes you there.
  • The shared catalog only says a testing program exists — your live open/full status still comes from the signed-in scan of your own testing pages.
  • No accessibility-service automation, no APK sideloading, no Play Store bypassing.

Screenshots

Onboarding App details Watchlist
Onboarding App details Watchlist

Installation

BetaScout is distributed as an APK via GitHub Releases and is also available on Aptoide — it is not on the Play Store.

  1. Download the latest APK from the Releases page.
  2. Allow installs from unknown sources when Android asks.
  3. Done. Listing and tracking work offline; the beta-catalog refresh and the signed-in status scan need a network connection.

Why not the Play Store? BetaScout uses the QUERY_ALL_PACKAGES permission to list everything installed on your device. That permission is heavily restricted on the Play Store, but it is exactly what makes the app useful — so it lives here instead.

Permissions

Permission Why
QUERY_ALL_PACKAGES List your installed apps — the whole point of the app
POST_NOTIFICATIONS Watchlist reminders and beta-opening alerts (asked on first launch, Android 13+)
INTERNET, ACCESS_NETWORK_STATE Fetch the beta catalog, and read your own Play testing pages once you sign in
FOREGROUND_SERVICE, FOREGROUND_SERVICE_DATA_SYNC Let a manual "Scan now" finish even if you leave the app

The network is used for exactly two things: downloading the beta-program catalog, and — only after you sign in — fetching play.google.com/apps/testing/… pages with your own session to read your memberships. There is no telemetry and no analytics; your app list and markings never leave the device.

Optional discovery sharing (off by default): if you enable "Share discoveries" in settings, BetaScout uploads the package names of apps whose scans found a testing program, so the shared catalog can grow with real-world finds. Only bare package names are ever sent — never your account, memberships, device identifiers or anything else — and the server stores no submitter information. Uploaded hints are only candidates: they enter the catalog after the daily harvester independently verifies them against Google Play.

The full privacy policy lives in PRIVACY.md.

Building from source

Requirements: JDK 17+ and the Android SDK (or just Android Studio).

git clone https://github.com/jrs8205/BetaScout.git
cd BetaScout
./gradlew assembleDebug   # APK at app/build/outputs/apk/debug/
./gradlew test            # unit tests

Tech stack

Kotlin · Jetpack Compose (Material 3) · MVVM + Repository · Room · DataStore · WorkManager · Hilt · Navigation-Compose · kotlinx-serialization

  • minSdk 26 (Android 8.0) · targetSdk 36
  • Core logic is unit-tested (TDD): link building, package scanning, seed parsing, repository behavior, list filtering and reminder scheduling policy

Roadmap

  • Opt-in, signed-in check of your own testing pages (membership + open/full status)
  • Community-sourced beta-program catalog (opt-in discovery sharing + daily server-side verification against Google Play)

Suggestions and bug reports are welcome in Issues.

License

The app is under the Apache License 2.0. Beta membership and open/full/closed status are read by signing into your own Google account and parsing your own testing pages with Jsoup (MIT); no Google Play private API is used. The backend harvester (harvester/) is GPL-3.0 and runs server-side only.

About

Find and track Google Play beta programs for your installed Android apps

Topics

Resources

Contributing

Security policy

Stars

54 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages