Open-source project
TeamNewPipe/NewPipe avatar
TeamNewPipe/NewPipe

NewPipe fetches the website when there is no usable API, and that is the trade

A libre lightweight streaming front-end for Android.

39,839 stars3,836 forksJavaGPL-3.0

At a glance

What is it?
NewPipe is a Java front-end for Android that reads YouTube, PeerTube, Bandcamp, SoundCloud and media.ccc.de without an account, using an official API where one exists and parsing the site where none does. It is declared beta, it is off limits to the Google Play Store, and its name is a registered word mark.
Who is it for?
Adopt NewPipe if you want subscriptions, history and downloads without handing an account to the service, and if you are comfortable sideloading an APK and updating it yourself. Do not adopt it if you want a store-managed update channel, since putting NewPipe or any fork into the Google Play Store is stated to violate Google's terms, or if your main service is PeerTube or SoundCloud, since the project is actively looking for maintainers for both.
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 Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

It parses the website when there is no API to call

The mechanism is stated plainly, and it is the most important thing to understand about this app. NewPipe fetches data from a service's official API where one is usable, as with PeerTube. Where the official API is restricted for its purposes or is proprietary, as with YouTube, the app parses the website or uses an internal API instead.

Everything else follows from that. It needs no account on any service, because nothing it does requires being logged in as you. And it breaks when a site changes its markup, which is why the parsing lives in a separate project, NewPipeExtractor, with its own repository and its own contribution documentation.

That split is the honest engineering answer to a fragility that cannot be engineered away. The extractor can be updated on its own schedule, the app can be updated on its own schedule, and when a site ships a redesign you are waiting on a fix in one of them rather than on a store approval.

YouTube is the best supported, and the other four need maintainers

Five service families are supported: YouTube and YouTube Music, PeerTube and all of its instances, Bandcamp, SoundCloud, and media.ccc.de. The project says YouTube is the best supported of them, partly by circumstance and partly by popularity, and it says outright that it is looking for maintainers for SoundCloud and PeerTube.

Read that before choosing. A maintainer vacancy is not a temporary rough patch, it is a statement about who is fixing breakage when PeerTube changes its API or SoundCloud changes its markup. YouTube support is where fixes land first and get tested against the most traffic.

The PeerTube case has an extra wrinkle worth naming. Support covers PeerTube and all of its instances, which sounds like breadth and is closer to a promise the project has to keep for a federated network of independently run servers. If your instance is small or lightly maintained, whether NewPipe can read it is a property of that instance as much as of the app.

Remote playlists and local playlists are different objects

The feature list draws a distinction most apps do not, and it is worth understanding before you organise anything. Playlists you search and watch are remote, meaning they are fetched from the service you are browsing. Playlists you create and edit are local, created and saved inside the app with nothing to do with any service.

So the word playlist means two things in one app, and only one of them survives a reinstall or a switch to a different front-end. A local playlist is a list of references; whether it still resolves depends on the service still serving that content through whatever API or page NewPipe is reading.

Around that core the app does the expected things and a few specific ones: video up to 4K, background playback that loads only the audio stream to save data, a popup floating player, live streams, subtitle toggles, downloads of video, audio and subtitles, opening in Kodi, and a choice to watch or block age-restricted material. The audio-only background mode is the one that changes behaviour rather than adding a screen.

No Google Play Services is a constraint, and the Play Store is off limits

Neither the app nor the extractor uses proprietary libraries or frameworks such as Google Play Services, because both are free and open source software. The stated result is that NewPipe runs on devices and custom ROMs with no Google apps installed at all.

That is a real capability with a real cost. Subscriptions, notifications about new videos, and background playback all work without Google's delivery infrastructure, which is exactly the point, but it also means there is no Play Store channel. The project says so in capitals: putting NewPipe, or any fork of it, into the Google Play Store violates Google's terms and conditions.

So the install path is a sideloaded APK or a store that permits it, and updates are something you do. That is the trade for the privacy and the de-Googled device support, and it is worth deciding deliberately rather than discovering it when the app stops receiving fixes.

The official app is the alternative, and the trade is updates against control

The obvious alternative is the service's own application, and it wins on the things that come from being distributed through a store. Signed updates arrive on their own, background play and notifications go through infrastructure the vendor maintains, and there is no APK to fetch, sideload and replace yourself.

What you give up is the account. NewPipe states that you do not need an account on any service to use it, and that subscriptions work without logging into any account. The official apps tie your subscriptions, history and recommendations to an identity on the service's side.

Neither is the wrong answer and the difference is architectural, not a matter of polish. NewPipe's approach means your data stays on your device and that you accept being the update path. The official approach means the vendor is the update path and your activity is tied to an account. The extractor dependency is the honest cost of the first, and it is why the project publishes a separate repository for it.

The tree holds desktopApp, iosApp and shared, and the README says Android

The repository root carries `app/`, `shared/`, `desktopApp/` and `iosApp/`, alongside `buildSrc/`, `checkstyle/`, `config/`, `fastlane/`, `doc/` and the Gradle files. A desktop target and an iOS target are present in the tree, while the project describes itself as a front-end for Android and its store badge points at an Android package on F-Droid.

What the visible documentation does not say is what those targets produce or whether either is installable today, and that matters because the question of running NewPipe on a desktop or an iPhone comes up constantly. Treat the directories as work in progress until a release says otherwise.

The `fastlane/` directory is worth a note for a different reason. The screenshots in the README live under `fastlane/metadata/android/en-US/images/`, in `phoneScreenshots/` and a separate `tenInchScreenshots/` folder, which is the same tree that holds store listing metadata. The ten-inch set implies a large-screen layout was designed and captured, and the fact that these are listing assets rather than documentation images tells you the README is generated around the release process.

v0.29.1, a separate nightly repository, and a permanent beta warning

Three releases are on the feed: v0.28.8 on 2026-06-09, v0.29.0 on 2026-07-22, and v0.29.1 on 2026-08-15. The last push was on 2026-09-26, the repository is not archived, and the default branch is `dev` rather than a release branch.

The default branch name plus a separate nightly repository is the standard shape for an app that ships when its maintainers choose. A stable tag, a `dev` branch for the next version, and continuous builds published elsewhere means the fix you want may exist on the nightly long before it reaches a tagged release.

The project also states, in capitals at the top of the README, that the app is in beta and that you may encounter bugs, with an issue template as the route to report them. The licence is GPL-3.0 with a LICENSE file at the root, and the name NewPipe is a registered word mark with its own trademark policy, so a fork has to rename itself. The README itself is translated into eighteen languages and maintained through Weblate, which is the clearest signal of who the project serves.

Editorial conclusion

Adopt NewPipe if you want subscriptions, history and downloads without handing an account to the service, and if you are comfortable sideloading an APK and updating it yourself. Do not adopt it if you want a store-managed update channel, since putting NewPipe or any fork into the Google Play Store is stated to violate Google's terms, or if your main service is PeerTube or SoundCloud, since the project is actively looking for maintainers for both. Verify three things: that the service you actually use is the well-supported one, because YouTube is called out as the best supported of the five, that the version you install is a real release rather than a nightly from the separate NewPipe-nightly repository, and that the fork you were pointed at has renamed itself, since NewPipe is a registered word mark with its own trademark policy.

Frequently asked questions

What does NewPipe do?

NewPipe is a libre lightweight streaming front-end for Android that plays and organizes video and audio from YouTube, YouTube Music, PeerTube and its instances, Bandcamp, SoundCloud and media.ccc.de. It fetches data from a service's official API where one is usable and otherwise parses the website or uses an internal API, so no account on any service is needed.

Is NewPipe still working?

The repository is not archived, the last push was on 2026-09-26, and the newest release is v0.29.1 from 2026-08-15, with a separate NewPipe-nightly repository publishing continuous builds. The project continues to state that the app is in beta and that you may encounter bugs, and its dependency on parsing sites rather than only calling APIs is the standing source of breakage.

Is NewPipe trustworthy?

The project states that neither the app nor the NewPipeExtractor uses proprietary libraries or frameworks such as Google Play Services, that you do not need an account on any service to use it, and that the source is public under GPL-3.0. The reading path is worth knowing about, since where an official API is restricted or proprietary the app parses the website or uses an internal API instead.

how to install newpipe

The installation section of the README is cut off in the visible text, but the links it presents are the F-Droid listing for the Android package, the GitHub releases page, and the separate NewPipe-nightly releases repository. Note that the project states putting NewPipe, or any fork, into the Google Play Store violates Google's terms, so a store-managed update channel is not one of the options.

how to use newpipe

Search videos, audios, channels, playlists and albums, subscribe to channels without logging into any account, group channels and browse the feeds those groups generate, and keep playlists either remote, fetched from the service, or local, created and saved in the app. Background playback loads only the audio stream to save data, and downloads cover video, audio and subtitles.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
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.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/teamnewpipe-newpipe.svg)](https://hysenlabs.com/projects/teamnewpipe-newpipe)