Metrolist: a YouTube Music client for Android that is now in maintenance mode
YouTube Music client for Android
At a glance
- What is it?
- Metrolist is a GPL-3.0 Kotlin app that streams YouTube Music with background playback, downloads and synced lyrics. It is feature-complete and its maintainers say new features will not be accepted.
- Who is it for?
- Adopt Metrolist if you want a Material 3 YouTube Music client on Android, you are comfortable installing an APK outside Google Play, and you accept that the maintainers have frozen the feature set. Skip it if you need an iOS build, if YouTube Music is blocked in your region and you have no VPN or proxy, or if you depend on a stable release cadence rather than a nightly channel.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Kotlin, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Metrolist replaces, and who it is actually for
The official YouTube Music app is a closed, ad-supported client tied to a Google account and distributed through Google Play. Metrolist is the opposite arrangement: a GPL-3.0 Android app that talks to YouTube Music and ships as an APK you sideload. The README describes it as a "YouTube Music client for Android", and the repository topics list innertube and newpipe-extractor, which is where the streaming logic lives.
The audience is narrow and specific. You need an Android device, you need to be willing to install outside the Play Store, and you need YouTube Music to be reachable from your network. The README carries a blunt regional warning: if YouTube Music is unavailable in your region, the app will not work without a VPN or proxy connecting to a supported region. That single line rules out a large set of potential users, and the project does not pretend otherwise.
The feature list is broader than a plain player. Playback covers streaming, background playback, download and cache for offline use, skip silence and a sleep timer. Audio adds normalization, tempo and pitch control, an equalizer and crossfade. There is library management, local playlists, playlist import, YouTube Music account login, and sync of songs, artists, albums and playlists. Social features include Listen together, Last.fm scrobbling and Discord Rich Presence. This is a client trying to match the official app surface, not a minimal wrapper.
How the client is put together: Innertube, NewPipe extractor, Jetpack Compose
The repository layout tells most of the architecture story. Two top-level modules sit alongside app/: innertube/ and app/. The topics list innertube and newpipe-extractor, so the data path runs from an Innertube client (the internal API YouTube Music itself uses) through NewPipe's extractor for stream resolution, into a Kotlin app whose UI is built with Jetpack Compose and Material 3.
That split matters operationally. Innertube endpoints are undocumented and change without notice; the extractor layer is what turns a track identifier into an actual playable stream URL. When playback breaks, the failure is almost always in one of those two layers rather than in the UI, which is why the project ships nightly builds and why "playback failed" is a recurring search term around it. The UI layer, by contrast, is ordinary Compose code with theme modes, dynamic color and 19 preset palettes.
State and account handling are the other half. The app supports YouTube Music account login and syncs songs, artists, albums and playlists, so there is a local store that mirrors remote library state and a credentials path. Offline download and cache sit on top of that. The README does not document the sync conflict rules or what happens when a downloaded track is removed from the remote library, which is a real gap if you plan to use downloads as your primary library.
Installing Metrolist on Android from GitHub, Obtainium or IzzyOnDroid
There is no Play Store listing. The README's download section offers four stable channels: Obtainium, IzzyOnDroid, OpenAPK and a direct GitHub release asset. Obtainium is the one that keeps itself current, since it watches the GitHub releases and updates the app in place.
The direct GitHub link points at a fixed asset name on the latest release:
https://github.com/MetrolistGroup/Metrolist/releases/latest/download/Metrolist.apkDownload that file on the device, open it, and allow installation from the source you used. The package name is com.metrolist.music, which is the identifier to look for in Android settings once it is installed.
If you want the Cast-enabled build, the README separates it into the nightly channel:
https://github.com/MetrolistGroup/Metrolist/releases/download/nightly/Metrolist-with-Google-Cast.apkNote that this is a nightly artifact, not a stable release, and it is the only place the README mentions Google Cast support. For a first real use, install the stable APK, open the app, sign in with a YouTube Music account if you want library sync, then play a track and confirm that audio continues when you leave the app. Background playback is the fastest way to tell whether the Innertube and extractor layers are working on your network.
The maintenance mode warning is the most important line in the README
Metrolist is explicitly in maintenance mode. The README states that only bug fixes and minor improvements will be made, and asks contributors not to submit pull requests for new features or major changes because they will not be accepted. The last push to the repository was on 2026-09-19, and a nightly release carries the same timestamp, so work has not stopped. But the project has drawn a boundary around what that work is.
For an adopter this changes the calculus. You are not evaluating a project that will grow into the gaps you find; you are evaluating the feature set as it exists. If the equalizer, crossfade or Listen together implementation does not do what you need, filing a request will not move it. The maintainers say the app is not dead, and point to Discord for updates, but the only forward motion the README commits to is fixes.
The second constraint is regional. The VPN or proxy requirement is not a suggestion; without a reachable YouTube Music endpoint there is nothing for the Innertube layer to talk to. Combined with the sideload requirement, this narrows the practical audience to Android users in supported regions who are comfortable with APK distribution.
Where Metrolist is the wrong tool, and what to use instead
Metrolist is an Android-only client. There is no iOS build, and the repository contains only Gradle, Kotlin and Compose sources for Android. Anyone searching for a Metrolist iPhone or iOS version will not find one here, and the project does not claim to offer one.
The closer comparison is NewPipe, which the topics list alongside newpipe-extractor. NewPipe is a general front end for YouTube and other services rather than a YouTube Music client, and it does not sign in to a YouTube Music account to sync your library, artists and playlists. Metrolist's whole account and library layer is the difference: if you want your YouTube Music playlists mirrored locally, NewPipe is not the tool for that job. If you want a general video and audio front end and do not care about YouTube Music account state, NewPipe covers more ground.
The other honest alternative is the official YouTube Music app. It is not open source, it is not GPL-3.0, and it comes with advertising and a Play Store dependency, but it is not in maintenance mode and it is not subject to the regional workaround the README describes. If you want a client that receives new features, Metrolist is the wrong side of that trade.
Licence, upgrade cost and what a nightly channel means for you
Metrolist is GPL-3.0. That is a copyleft licence, and it governs the source in this repository; it says nothing about YouTube Music's terms of service, which is a separate question the README does not address. If you fork and redistribute the app, the GPL-3.0 obligations travel with your build. This is a description of the licence identifier, not legal advice.
Upgrade cost depends entirely on which channel you chose. Obtainium and IzzyOnDroid track releases, so updates arrive as the maintainers publish them. The GitHub stable asset is a fixed filename on the latest release, which means a manual download each time. The nightly Cast build is a moving target and the README does not document a rollback path for it, nor does it describe what changes between nightlies.
There is no documented migration procedure for the local store when the app updates, and no statement about whether downloaded tracks survive a version bump. If your library is entirely local downloads, that is the thing to confirm yourself before relying on it. The changelog.md file at the repository root is where release notes live, and it is the only place the README points to for what changed.
Editorial conclusion
Adopt Metrolist if you want a Material 3 YouTube Music client on Android, you are comfortable installing an APK outside Google Play, and you accept that the maintainers have frozen the feature set. Skip it if you need an iOS build, if YouTube Music is blocked in your region and you have no VPN or proxy, or if you depend on a stable release cadence rather than a nightly channel. Before installing, verify which artifact you are pulling: the stable APK from the latest GitHub release or the nightly Cast build, and check whether your region can reach YouTube Music at all.
Frequently asked questions
What is Metrolist?
It is a YouTube Music client for Android, written in Kotlin and licensed GPL-3.0. The README lists streaming, background playback, offline download and cache, synced lyrics, library sync and Listen together among its features.
How do I install Metrolist on Android?
The README offers Obtainium, IzzyOnDroid, OpenAPK and a direct GitHub release APK. The package name is com.metrolist.music, and there is no Play Store listing.
How do I install Metrolist from GitHub?
Download the stable asset from the latest release at the Metrolist.apk path the README gives, or add the repository to Obtainium so it tracks releases for you. The nightly Cast build is published separately under the nightly tag.
Is Metrolist available on iPhone or iOS?
No. The repository is an Android project built with Kotlin and Jetpack Compose, and the README documents no iOS build.
How much does Metrolist cost?
The app is free and open source under GPL-3.0, and the README offers Monero and Buy Me a Coffee as optional support channels. It does not document any paid tier.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/metrolistgroup-metrolist)