InnerTube is a Kotlin Android library that wraps YouTube Music’s private InnerTube API. It provides fully-typed, coroutine-friendly access to search, playback stream resolution, playlist management, artist/album browsing, and user library operations — all without requiring an official API key.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/faraasaaay/innertube-v1/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Add InnerTube to your Android project and make your first API call in minutes.
Configuration
Set locale, visitor data, authentication cookies, and proxy settings.
API Reference
Full reference for every method on the
YouTube object.Guides
Step-by-step guides for search, playback, playlists, and more.
What InnerTube Does
InnerTube communicates directly withmusic.youtube.com/youtubei/v1/ — the same endpoints the YouTube Music web app uses. It handles authentication headers, request context building, JSON serialization, and response parsing so you can focus on building your app.
Search
Search songs, albums, artists, playlists, podcasts, and episodes with type filters.
Playback
Resolve stream URLs with multi-client fallback and PoToken support.
Playlists
Create, rename, delete playlists, and manage tracks within them.
Library
Access liked songs, saved playlists, history, and uploaded music.
Core Concepts
Understand the
YouTube singleton, YTItem model, and client system.PoToken
Configure BotGuard token generation for authenticated stream access.
Key Features
Configure the client
Set
YouTube.locale, YouTube.visitorData, and optionally YouTube.cookie for authenticated requests.Call the API
Use
YouTube.search(), YouTube.artist(), YouTube.player(), and other methods — all return Result<T> for safe error handling.InnerTube uses YouTube Music’s private InnerTube API. These endpoints are not officially supported by Google and may change without notice. Use responsibly and in accordance with YouTube’s Terms of Service.