NewPipe's core library for extracting data from streaming sites
  • Java 99.8%
  • JavaScript 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] 8584a0d636 Bump com.google.protobuf:protobuf-javalite from 4.36.0 to 4.36.1
Bumps com.google.protobuf:protobuf-javalite from 4.36.0 to 4.36.1.

---
updated-dependencies:
- dependency-name: com.google.protobuf:protobuf-javalite
  dependency-version: 4.36.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-04 13:52:40 +02:00
.github Bump actions/setup-java from 5 to 6 2026-08-27 14:31:50 +02:00
checkstyle Fix JDoc 2024-04-23 19:55:51 +02:00
extractor Merge pull request #1529 from AudricV/yt_remove-broken-unused-clients 2026-08-20 23:04:58 +02:00
gradle Bump com.google.protobuf:protobuf-javalite from 4.36.0 to 4.36.1 2026-09-04 13:52:40 +02:00
timeago-generator Include timeago-parser classes manually 2025-12-24 10:34:57 +08:00
timeago-parser Migrate to Kotlin DSL and build version catalog 2025-12-20 09:26:21 +01:00
.gitignore ignore workspace and folder configs 2020-05-11 21:23:50 +02:00
build.gradle.kts Merge branch 'master' into dev 2026-08-15 21:20:26 +02:00
gradle.properties Enable Gradle configuration cache 2025-12-24 14:27:50 +08:00
gradlew Bump gradle-wrapper from 9.5.1 to 9.6.0 2026-06-20 08:47:55 +00:00
gradlew.bat Bump gradle-wrapper from 9.5.1 to 9.6.0 2026-06-20 08:47:55 +00:00
jitpack.yml Update jitpack.yml to use Java 17 as required by Gradle 2026-01-27 11:05:36 +01:00
LICENSE Update the license to the latest version of https://www.gnu.org/licenses/gpl-3.0.txt 2022-03-19 17:59:27 +01:00
README.md extractor: Setup signing for CI snapshots 2026-03-02 00:54:53 +08:00
settings.gradle.kts Include timeago-parser classes manually 2025-12-24 10:34:57 +08:00

NewPipe Extractor

CI JIT Pack Badge JDocDocumentation

NewPipe Extractor is a library for extracting things from streaming sites. It is a core component of NewPipe, but could be used independently.

Usage

NewPipe Extractor is available at JitPack's Maven repo.

If you're using Gradle, you could add NewPipe Extractor as a dependency with the following steps:

  1. Add maven { url 'https://jitpack.io' } to the repositories in your build.gradle.
  2. Add implementation 'com.github.teamnewpipe:NewPipeExtractor:INSERT_VERSION_HERE' to the dependencies in your build.gradle. Replace INSERT_VERSION_HERE with the latest release.
  3. If you are using tools to minimize your project, make sure to keep the files below, by e.g. adding the following lines to your proguard file:
## Rules for NewPipeExtractor
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter
-dontwarn org.mozilla.javascript.tools.**

Note

To use NewPipe Extractor in Android projects with a minSdk below 33, core library desugaring with the desugar_jdk_libs_nio artifact is required.

Testing changes

Maven Central

NewPipe Extractor's snapshots are available on Maven Central's snapshot repository. These versions are based on the commit's short hash (for e.g. git rev-parse --short HEAD) and are available for 90 days since the date of publication/commit.

repositories {
    maven(url = "https://central.sonatype.com/repository/maven-snapshots/")
}

dependencies {
    implementation("net.newpipe:extractor:${LAST_COMMIT_SHORT_HASH}-SNAPSHOT")
}

Local

To test changes quickly you can build the library locally. A good approach would be to add something like the following to your settings.gradle:

includeBuild('../NewPipeExtractor') {
    dependencySubstitution {
        substitute module('com.github.teamnewpipe:NewPipeExtractor') with project(':extractor')
    }
}

Another approach would be to use the local Maven repository, here's a gist of how to use it:

  1. Add mavenLocal() in your project repositories list (usually as the first entry to give priority above the others).
  2. It's recommended that you change the version of this library (e.g. LOCAL_SNAPSHOT).
  3. Run gradle's ìnstall task to deploy this library to your local repository (using the wrapper, present in the root of this project: ./gradlew install)
  4. Change the dependency version used in your project to match the one you chose in step 2 (implementation 'com.github.teamnewpipe:NewPipeExtractor:LOCAL_SNAPSHOT')

Tip

Tip for Android Studio users: After you make changes and run the install task, use the menu option File → "Sync with File System" to refresh the library in your project.

Supported sites

The following sites are currently supported:

  • YouTube
  • SoundCloud
  • media.ccc.de
  • PeerTube (no P2P)
  • Bandcamp

License

GNU GPLv3 Image

NewPipe Extractor is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.