A third-party open-source alternative for the Public Transport Victoria (PTV) Android application with no Google Play services dependencies
OpenPTV is presented in Material You style
- Basic map with stops displayed
- Search for stops
- View information for stops and routes; including scheduled departures and live ETA times
- Favourites list, with scheduled and live ETA departure times
- Information about departure (what stations it's been to, when, and where it's going)
- Follow trips (pin to screen), and notification when nearing destination stop
- Basic single-stop journey planner
- Basic multi-stop journey planner
- Multi-stop journey planner (with directions)
- Route path highlight on map
Download the latest APK from GitHub Releases.
Verify the release is signed with the following key: CE:3E:2D:12:4B:8C:5E:A9:39:45:D5:FA:36:5B:CD:E3:CC:39:02:BB:B4:22:50:A3:60:04:73:F8:05:6A:48:CE
If you're using Obtanium, search for itsjfx/openptv.
You can also build your own APK, see mobile#Build.
The PTV app does not function without Google Play services. This causes issues for me on my Google Pixel running GrapheneOS.
OpenPTV exists for only that reason. It's not aiming to be a competitor to the official PTV app, nor implement every feature - but it should implement enough for you to find your way around Victoria.
OpenPTV has no tracking, ads, or analytics. We do not sell your information to anybody. I have no way of knowing how many people use this app.
OpenPTV's information is sourced from PTV's Timetable API. The information is licensed from Public Transport Victoria under a Creative Commons Attribution 4.0 International Licence.
On first launch, OpenPTV will ask how you'd like to connect to the PTV API. You can change your choice in the future in the settings page.
You can pick one of the following ways:
- Use OpenPTV's proxy, hosted by the project maintainers (see backend)
- Provide your own proxy URL (see backend on how to host)
- Make calls directly to PTV's API by providing your own API key
Sadly, requesting an API key from PTV can take varying amounts of time (days or weeks) - so the public OpenPTV proxy lets you use the app straight away.
We respect your privacy - HTTP access logs are collected for 24 hours for abuse tracking purposes only. Feel free to raise a GitHub issue for support if you notice issues with the proxy.
If you're using GrapheneOS, then you can install Sandboxed Google Play services and use the official PTV without any issues.
If you'd like to isolate Google Play services from your profile, then install Google Play services and PTV into your profile's private space. Private spaces work as a sandbox (similar to profiles). You can use PTV in there without issue.
I found opening and closing the private space annoying which is why I made OpenPTV, but I still have PTV in my private space.
- Public Transport Victoria - for providing the PTV API to the public
- ReadYou - which inspired Material You design in OpenPTV
- Now in Android - helped base the patterns used in OpenPTV









