Files
YouTube.js/docs/api/classes/Innertube.md
2025-01-20 16:49:04 -03:00

17 KiB

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:65

Accessors

account

get account(): AccountManager

An interface for managing and retrieving account information.

Returns

AccountManager

Defined in

src/Innertube.ts:588


actions

get actions(): Actions

An internal class used to dispatch requests.

Returns

Actions

Defined in

src/Innertube.ts:609


interact

get interact(): InteractionManager

An interface for directly interacting with certain YouTube features.

Returns

InteractionManager

Defined in

src/Innertube.ts:602


kids

get kids(): Kids

An interface for interacting with YouTube Kids.

Returns

Kids

Defined in

src/Innertube.ts:581


music

get music(): Music

An interface for interacting with YouTube Music.

Returns

Music

Defined in

src/Innertube.ts:567


playlist

get playlist(): PlaylistManager

An interface for managing playlists.

Returns

PlaylistManager

Defined in

src/Innertube.ts:595


session

get session(): Session

The session used by this instance.

Returns

Session

Defined in

src/Innertube.ts:616


studio

get studio(): Studio

An interface for interacting with YouTube Studio.

Returns

Studio

Defined in

src/Innertube.ts:574

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:558

call(endpoint, args)

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

Parameters

endpoint: NavigationEndpoint

args?

args.parse?: false

Returns

Promise<ApiResponse>

Defined in

src/Innertube.ts:559


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:448


getAttestationChallenge()

getAttestationChallenge(engagement_type, ids?): Promise<IGetChallengeResponse>

Fetches an attestation challenge.

Parameters

engagement_type: EngagementType

ids?: Record<string, any>[]

Returns

Promise<IGetChallengeResponse>

Defined in

src/Innertube.ts:544


getBasicInfo()

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

Parameters

video_id: string

client?: InnerTubeClient

Returns

Promise<VideoInfo>

Defined in

src/Innertube.ts:116


getChannel()

getChannel(id): Promise<Channel>

Parameters

id: string

Returns

Promise<Channel>

Defined in

src/Innertube.ts:367


getChannelsFeed()

getChannelsFeed(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:361


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:282


getCourses()

getCourses(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:349


getGuide()

getGuide(): Promise<Guide>

Returns

Promise<Guide>

Defined in

src/Innertube.ts:326


getHashtag()

getHashtag(hashtag): Promise<HashtagFeed>

Parameters

hashtag: string

Returns

Promise<HashtagFeed>

Defined in

src/Innertube.ts:407


getHistory()

getHistory(): Promise<History>

Returns

Promise<History>

Defined in

src/Innertube.ts:337


getHomeFeed()

getHomeFeed(): Promise<HomeFeed>

Returns

Promise<HomeFeed>

Defined in

src/Innertube.ts:320


getInfo()

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

Parameters

target: string | NavigationEndpoint

client?: InnerTubeClient

Returns

Promise<VideoInfo>

Defined in

src/Innertube.ts:73


getLibrary()

getLibrary(): Promise<Library>

Returns

Promise<Library>

Defined in

src/Innertube.ts:331


getNotifications()

getNotifications(): Promise<NotificationsMenu>

Returns

Promise<NotificationsMenu>

Defined in

src/Innertube.ts:374


getPlaylist()

getPlaylist(id): Promise<Playlist>

Parameters

id: string

Returns

Promise<Playlist>

Defined in

src/Innertube.ts:394


getPlaylists()

getPlaylists(): Promise<Feed<IBrowseResponse>>

Retrieves the user's playlists.

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:388


getPost()

getPost(post_id, channel_id): Promise<Feed<IBrowseResponse>>

Gets a post page given a post id and the channel id

Parameters

post_id: string

channel_id: string

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:468


getPostComments()

getPostComments(post_id, channel_id, sort_by?): Promise<Comments>

Gets the comments of a post.

Parameters

post_id: string

channel_id: string

sort_by?: "TOP_COMMENTS" | "NEWEST_FIRST"

Returns

Promise<Comments>

Defined in

src/Innertube.ts:492


getSearchSuggestions()

getSearchSuggestions(query, previous_query?): Promise<string[]>

Parameters

query: string

previous_query?: string

Returns

Promise<string[]>

Defined in

src/Innertube.ts:255


getShortsVideoInfo()

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

Parameters

video_id: string

client?: InnerTubeClient

Returns

Promise<ShortFormVideoInfo>

Defined in

src/Innertube.ts:146


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:433


getSubscriptionsFeed()

getSubscriptionsFeed(): Promise<Feed<IBrowseResponse>>

Returns

Promise<Feed<IBrowseResponse>>

Defined in

src/Innertube.ts:355


getTrending()

getTrending(): Promise<TabbedFeed<IBrowseResponse>>

Returns

Promise<TabbedFeed<IBrowseResponse>>

Defined in

src/Innertube.ts:343


getUnseenNotificationsCount()

getUnseenNotificationsCount(): Promise<number>

Returns

Promise<number>

Defined in

src/Innertube.ts:379


resolveURL()

resolveURL(url): Promise<NavigationEndpoint>

Resolves the given URL.

Parameters

url: string

Returns

Promise<NavigationEndpoint>

Defined in

src/Innertube.ts:456


search(query, filters): Promise<Search>

Parameters

query: string

filters: SearchFilters = {}

Returns

Promise<Search>

Defined in

src/Innertube.ts:179


create()

static create(config): Promise<Innertube>

Parameters

config: SessionOptions = {}

Returns

Promise<Innertube>

Defined in

src/Innertube.ts:69