YouTube.js
Guide
Discord
GitHub
Guide
Discord
GitHub

youtubei.js / Innertube

Class: Innertube

Provides access to various services and modules in the YouTube API.

Example

import { Innertube, UniversalCache } from 'youtubei.js';
const innertube = await Innertube.create({ cache: new UniversalCache(true)});

Constructors

new Innertube()

new Innertube(session): Innertube

Parameters

• session: Session

Returns

Innertube

Defined in

src/Innertube.ts:55

Accessors

account

get account(): AccountManager

An interface for managing and retrieving account information.

Returns

AccountManager

Defined in

src/Innertube.ts:466


actions

get actions(): Actions

An internal class used to dispatch requests.

Returns

Actions

Defined in

src/Innertube.ts:487


interact

get interact(): InteractionManager

An interface for directly interacting with certain YouTube features.

Returns

InteractionManager

Defined in

src/Innertube.ts:480


kids

get kids(): Kids

An interface for interacting with YouTube Kids.

Returns

Kids

Defined in

src/Innertube.ts:459


music

get music(): Music

An interface for interacting with YouTube Music.

Returns

Music

Defined in

src/Innertube.ts:445


playlist

get playlist(): PlaylistManager

An interface for managing playlists.

Returns

PlaylistManager

Defined in

src/Innertube.ts:473


session

get session(): Session

The session used by this instance.

Returns

Session

Defined in

src/Innertube.ts:494


studio

get studio(): Studio

An interface for interacting with YouTube Studio.

Returns

Studio

Defined in

src/Innertube.ts:452

Methods

call()

call(endpoint, args)

call<T>(endpoint, args): Promise<T>

Utility method to call an endpoint without having to use Actions.

Type Parameters

• T extends IParsedResponse

Parameters

• endpoint: NavigationEndpoint

• args

• args.parse: true

Returns

Promise<T>

Defined in

src/Innertube.ts:436

call(endpoint, args)

call(endpoint, args?): Promise<ApiResponse>

Parameters

• endpoint: NavigationEndpoint

• args?

• args.parse?: false

Returns

Promise<ApiResponse>

Defined in

src/Innertube.ts:437


download()

download(video_id, options?): Promise<ReadableStream<Uint8Array>>

Downloads a given video. If all you need the direct download link, see getStreamingData. If you wish to retrieve the video info too, have a look at getBasicInfo or getInfo.

Parameters

• video_id: string

The video id.

• options?: DownloadOptions

Download options.

Returns

Promise<ReadableStream<Uint8Array>>

Defined in

src/Innertube.ts:416


getBasicInfo()

getBasicInfo(video_id, client?): Promise<VideoInfo>

Parameters

• video_id: string

• client?: InnerTubeClient

Returns

Promise<VideoInfo>

Defined in

src/Innertube.ts:102


getChannel()

getChannel(id): Promise<Channel>

Parameters

• id: string

Returns

Promise<Channel>

Defined in

src/Innertube.ts:335


getChannelsFeed()

getChannelsFeed(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:329


getComments()

getComments(video_id, sort_by?, comment_id?): Promise<Comments>

Parameters

• video_id: string

• sort_by?: "TOP_COMMENTS" | "NEWEST_FIRST"

• comment_id?: string

Returns

Promise<Comments>

Defined in

src/Innertube.ts:250


getCourses()

getCourses(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:317


getGuide()

getGuide(): Promise<Guide>

Returns

Promise<Guide>

Defined in

src/Innertube.ts:294


getHashtag()

getHashtag(hashtag): Promise<HashtagFeed>

Parameters

• hashtag: string

Returns

Promise<HashtagFeed>

Defined in

src/Innertube.ts:375


getHistory()

getHistory(): Promise<History>

Returns

Promise<History>

Defined in

src/Innertube.ts:305


getHomeFeed()

getHomeFeed(): Promise<HomeFeed>

Returns

Promise<HomeFeed>

Defined in

src/Innertube.ts:288


getInfo()

getInfo(target, client?): Promise<VideoInfo>

Parameters

• target: string | NavigationEndpoint

• client?: InnerTubeClient

Returns

Promise<VideoInfo>

Defined in

src/Innertube.ts:63


getLibrary()

getLibrary(): Promise<Library>

Returns

Promise<Library>

Defined in

src/Innertube.ts:299


getNotifications()

getNotifications(): Promise<NotificationsMenu>

Returns

Promise<NotificationsMenu>

Defined in

src/Innertube.ts:342


getPlaylist()

getPlaylist(id): Promise<Playlist>

Parameters

• id: string

Returns

Promise<Playlist>

Defined in

src/Innertube.ts:362


getPlaylists()

getPlaylists(): Promise<Feed<IBrowseResponse>>

Retrieves the user's playlists.

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:356


getSearchSuggestions()

getSearchSuggestions(query): Promise<string[]>

Parameters

• query: string

Returns

Promise<string[]>

Defined in

src/Innertube.ts:231


getShortsVideoInfo()

getShortsVideoInfo(video_id, client?): Promise<ShortFormVideoInfo>

Parameters

• video_id: string

• client?: InnerTubeClient

Returns

Promise<ShortFormVideoInfo>

Defined in

src/Innertube.ts:127


getStreamingData()

getStreamingData(video_id, options): Promise<Format>

An alternative to download. Returns deciphered streaming data.

If you wish to retrieve the video info too, have a look at getBasicInfo or getInfo.

Parameters

• video_id: string

The video id.

• options: FormatOptions = {}

Format options.

Returns

Promise<Format>

Defined in

src/Innertube.ts:401


getSubscriptionsFeed()

getSubscriptionsFeed(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:323


getTrending()

getTrending(): Promise<TabbedFeed<IBrowseResponse>>

Returns

Promise<TabbedFeed<IBrowseResponse>>

Defined in

src/Innertube.ts:311


getUnseenNotificationsCount()

getUnseenNotificationsCount(): Promise<number>

Returns

Promise<number>

Defined in

src/Innertube.ts:347


resolveURL()

resolveURL(url): Promise<NavigationEndpoint>

Resolves the given URL.

Parameters

• url: string

Returns

Promise<NavigationEndpoint>

Defined in

src/Innertube.ts:424


search()

search(query, filters): Promise<Search>

Parameters

• query: string

• filters: SearchFilters = {}

Returns

Promise<Search>

Defined in

src/Innertube.ts:160


create()

static create(config): Promise<Innertube>

Parameters

• config: SessionOptions = {}

Returns

Promise<Innertube>

Defined in

src/Innertube.ts:59

Edit this page
Last Updated:: 3/25/25, 8:08 PM
Contributors: EdamAme-x