Skip to main content

NewPipe Extractor

NewPipe Extractor is a library for extracting things from streaming sites. It is a core component of NewPipe, but can be used independently in any Java project.

Quick Start

Get up and running with NewPipe Extractor in minutes

Installation

Add NewPipe Extractor to your Gradle or Maven project

API Documentation

Complete JavaDoc reference for all classes and methods

GitHub Repository

View source code, report issues, and contribute

Overview

NewPipe Extractor provides a unified interface to extract content from multiple streaming platforms without requiring their official APIs. The library handles all the complexity of parsing website data and provides a clean, type-safe Java API.

Key Features

Multiple Services

Extract data from YouTube, SoundCloud, media.ccc.de, PeerTube, and Bandcamp with a single API

No API Keys Required

Works without official API keys or authentication

Rich Metadata

Extract video/audio streams, metadata, thumbnails, descriptions, and more

Type-Safe API

Fully typed Java interfaces with comprehensive error handling

Localization Support

Request content in different languages and regions

Open Source

Licensed under GPLv3, free to use and modify

Supported Platforms

The following streaming services are currently supported:
ServiceIDFeatures
YouTube0Videos, playlists, channels, search, comments
SoundCloud1Tracks, playlists, user profiles, search
media.ccc.de2Conference videos and live streams
PeerTube3Federated video platform support
Bandcamp4Music tracks and albums
Each service is implemented as a StreamingService in the library and can be accessed through the ServiceList class.

Common Use Cases

Stream Information Extraction

Extract detailed information about videos or audio streams, including:
  • Title, description, and uploader information
  • Available stream qualities and formats
  • Thumbnails and preview images
  • Duration, view count, and upload date

Search Functionality

Search across supported platforms and retrieve results with metadata:
  • Video and channel search results
  • Search suggestions and autocomplete
  • Filtered search by content type

Playlist and Channel Data

Retrieve collections of content:
  • Playlist items and metadata
  • Channel/user uploads
  • Trending and recommended content

Comments and Interactions

Access user-generated content:
  • Comment threads and replies
  • Like counts and interaction metrics

Example

Here’s a quick example of extracting stream information from a YouTube URL:
import org.schabi.newpipe.extractor.NewPipe;
import org.schabi.newpipe.extractor.stream.StreamInfo;

// Initialize NewPipe with a downloader implementation
NewPipe.init(yourDownloaderInstance);

// Extract stream information
StreamInfo info = StreamInfo.getInfo("https://www.youtube.com/watch?v=dQw4w9WgXcQ");

// Access the extracted data
System.out.println("Title: " + info.getName());
System.out.println("Uploader: " + info.getUploaderName());
System.out.println("Duration: " + info.getDuration() + " seconds");

Next Steps

Ready to get started? Check out the installation guide to add NewPipe Extractor to your project.

License

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.

Build docs developers (and LLMs) love