Skip to main content

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

1

Add JitPack Repository

Add the JitPack repository to your build.gradle or build.gradle.kts file:
repositories {
    maven { url = uri("https://jitpack.io") }
}
2

Add Dependency

Add NewPipe Extractor to your dependencies. Replace INSERT_VERSION_HERE with the latest release version.
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.
3

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

1

Add JitPack Repository

Add the JitPack repository to your pom.xml:
pom.xml
<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>
2

Add Dependency

Add NewPipe Extractor to your dependencies:
pom.xml
<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:
build.gradle.kts
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:
1

Clone the Repository

git clone https://github.com/TeamNewPipe/NewPipeExtractor.git
cd NewPipeExtractor
2

Build and Install Locally

./gradlew install
3

Use Local Repository

Add mavenLocal() to your project’s repositories:
build.gradle.kts
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:
settings.gradle
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

Build docs developers (and LLMs) love