Installation
NewPipe Extractor is available through JitPack’s Maven repository. Follow the instructions below to add it to your project.
Requirements
NewPipe Extractor requires Java 11 or higher.
For Android projects with minSdk below 33, core library desugaring with the desugar_jdk_libs_nio artifact is required.
Gradle Setup
Add JitPack Repository
Add the JitPack repository to your build.gradle or build.gradle.kts file: Kotlin DSL (build.gradle.kts)
Groovy DSL (build.gradle)
repositories {
maven { url = uri ( "https://jitpack.io" ) }
}
Add Dependency
Add NewPipe Extractor to your dependencies. Replace INSERT_VERSION_HERE with the latest release version . Kotlin DSL (build.gradle.kts)
Groovy DSL (build.gradle)
dependencies {
implementation ( "com.github.teamnewpipe:NewPipeExtractor:INSERT_VERSION_HERE" )
}
The latest stable version is v0.26.0 . Check the releases page for the most current version.
Configure ProGuard (Optional)
If you’re using tools to minimize your project (like ProGuard or R8), add these rules to keep required files: ## Rules for NewPipeExtractor
-keep class org.mozilla.javascript.** { *; }
-keep class org.mozilla.classfile.ClassFileWriter
-dontwarn org.mozilla.javascript.tools.**
Maven Setup
Add JitPack Repository
Add the JitPack repository to your pom.xml: < repositories >
< repository >
< id > jitpack.io </ id >
< url > https://jitpack.io </ url >
</ repository >
</ repositories >
Add Dependency
Add NewPipe Extractor to your dependencies: < dependency >
< groupId > com.github.teamnewpipe </ groupId >
< artifactId > NewPipeExtractor </ artifactId >
< version > INSERT_VERSION_HERE </ version >
</ dependency >
Alternative Installation Methods
Maven Central Snapshots
Snapshot builds based on recent commits are available on Maven Central’s snapshot repository. These are useful for testing the latest changes:
repositories {
maven (url = "https://central.sonatype.com/repository/maven-snapshots/" )
}
dependencies {
implementation ( "net.newpipe:extractor: ${ LAST_COMMIT_SHORT_HASH } -SNAPSHOT" )
}
Snapshot versions are based on the commit’s short hash (e.g., git rev-parse --short HEAD) and are only available for 90 days from the publication date.
Local Development Build
For testing local changes, you can build and use the library from your local Maven repository:
Clone the Repository
git clone https://github.com/TeamNewPipe/NewPipeExtractor.git
cd NewPipeExtractor
Build and Install Locally
Use Local Repository
Add mavenLocal() to your project’s repositories: repositories {
mavenLocal () // Add this first to give it priority
maven { url = uri ( "https://jitpack.io" ) }
}
dependencies {
implementation ( "com.github.teamnewpipe:NewPipeExtractor:LOCAL_SNAPSHOT" )
}
For Android Studio users: After running ./gradlew install, use File → Sync with File System to refresh the library in your project.
Gradle Composite Build
For rapid development and testing, you can use Gradle’s composite build feature:
includeBuild( '../NewPipeExtractor' ) {
dependencySubstitution {
substitute module( 'com.github.teamnewpipe:NewPipeExtractor' ) with project( ':extractor' )
}
}
This approach automatically uses your local NewPipeExtractor source without needing to publish to Maven.
Verification
To verify the installation, create a simple test class:
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.ServiceList;
public class VerifyInstallation {
public static void main ( String [] args ) {
System . out . println ( "NewPipe Extractor installed successfully!" );
System . out . println ( "Available services: " + ServiceList . all (). size ());
}
}
If this compiles and runs without errors, NewPipe Extractor is correctly installed.
Next: Quick Start Guide Learn how to initialize NewPipe and extract your first stream