Inner’s browse and search methods return rich page objects that aggregate content into structured data classes. These page models are the primary way to access YouTube Music content. All page types live in theDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/faraasaaay/inner/llms.txt
Use this file to discover all available pages before exploring further.
com.tamed.music.innertube.pages package and are data class instances, making them safe to copy, compare, and destructure.
ArtistPage
Returned byYouTube.artist() and PortableInnertube.artist(). Contains the artist’s identity, all visible content sections, and additional metadata from the immersive header.
The artist’s identity and playback endpoints. See ArtistItem for field details.
The ordered list of content sections on the artist’s page (e.g. “Songs”, “Albums”, “Singles”, “Videos”, “Playlists”, “Related artists”). Each
ArtistSection contains:The artist bio or description text from the immersive header.
null if not available.Human-readable subscriber count (e.g.
"1.2M subscribers"), sourced from the subscribe button renderer. null if not available.Monthly listener text (e.g.
"5,432,109 monthly listeners"), sourced from the immersive header. null if not available.AlbumPage
Returned byYouTube.album() and PortableInnertube.album(). Contains full album metadata, a complete track listing, optional description, and alternate versions of the release.
The album’s identity including
browseId, playlistId, title, artists, year, and thumbnail.The complete ordered track listing. Each
SongItem has its album field populated with the parent AlbumItem’s title and browseId. Empty when withSongs = false was passed to album().The album description text from the browse response, sourced from
musicDescriptionShelfRenderer or the immersive header. null if not provided.Other releases of the same album — deluxe editions, remasters, explicit versions, etc. Sourced from the secondary column’s carousel shelf. Empty list if none are present.
PlaylistPage
Returned byYouTube.playlist() and PortableInnertube.playlist(). Contains the playlist header, an initial page of songs, and continuation tokens for fetching further songs.
The playlist’s identity, author, song count text, and playback endpoints.
playlist.isEditable is true when the current authenticated user owns the playlist.The initial page of tracks. Each
SongItem has its setVideoId field populated — this per-entry identifier is required for playlist mutation operations (e.g. removing or reordering tracks).Inline continuation token from the playlist shelf’s content list. Use this to fetch the next batch of songs via
YouTube.playlistContinuation().Outer section-level continuation token. May be returned alongside
songsContinuation for very long playlists.SearchResult
Returned byYouTube.search() and PortableInnertube.search(). A flat, paginated result set of YTItem values.
The list of matched content items. May contain any mix of
SongItem, AlbumItem, PlaylistItem, and ArtistItem depending on the query and params filter.Token for fetching the next page of results. Pass this back to
search() as the continuation parameter. null when there are no more results or the current page returned an empty list.HomePage
Returned byYouTube.home() and PortableInnertube.home(). Represents the personalised home feed with optional filter chips and carousel sections.
Filter chips shown at the top of the home feed (e.g. “For you”, “New releases”, “Hip-Hop”).
null on continuation responses. Each Chip has:The carousel sections visible on the page. Each
Section has:Token for loading additional home sections. Pass to
home(continuation = ...).filterExplicit(enabled: Boolean): HomePage
Returns a copy of the HomePage with explicit YTItem entries removed from all sections. When enabled is false, returns this unchanged.
NextResult
Returned byYouTube.next(). Represents the “Up next” / queue state for a currently playing track, including lyrics and related content endpoints.
The queue or playlist title.
null for single-track contexts.The list of songs in the playback queue, parsed from
PlaylistPanelVideoRenderer entries.The zero-based index of the currently playing song within
items. null if not determinable from the response.A browse endpoint for fetching lyrics for the current track. Pass the
browseId to YouTube.lyrics(). null if lyrics are not available.A browse endpoint for the “Related” tab content.
null if not available.Token for fetching additional queue items when the queue has more entries than were returned in the initial response.
The current or continuation watch endpoint. Use this to resume or extend the playback session.
ExplorePage
Returned byYouTube.explore(). Aggregates the new-release albums and mood/genre browsing categories from the InnerTube explore surface.
A flat list of recently released albums, sourced from
FEmusic_new_releases_albums.The list of mood and genre browse categories (e.g. “Energize”, “Chill”, “Party”). Each
MoodAndGenres.Item has a title and a BrowseEndpoint for loading the associated playlist collection.PlaylistContinuationPage
Returned byYouTube.playlistContinuation(). Contains a single additional page of songs for a playlist that was initially fetched via YouTube.playlist().
The next batch of tracks. Each
SongItem has setVideoId populated for playlist mutation operations.Token for fetching yet another page, or
null when this is the final page of the playlist.Continuation patterns
All paginated page types follow the same pattern: the initial response contains the first page of data and an optionalcontinuation token. Passing that token back to the same method (or a dedicated continuation method) fetches the next page.
- Playlist continuation
- Search continuation
- Home feed continuation
Continuation tokens are opaque strings generated by the InnerTube API. Do not parse or store them beyond a single session — they may expire or become invalid if the underlying feed data changes.