YouTube.js
Guide
Discord
❤️ Sponsor
GitHub
Guide
Discord
❤️ Sponsor
GitHub

youtubei.js / YTMusic / TrackInfo

Class: TrackInfo

Defined in: src/parser/ytmusic/TrackInfo.ts:22

Extends

  • MediaInfo

Constructors

Constructor

new TrackInfo(data, actions, cpn): TrackInfo

Defined in: src/parser/ytmusic/TrackInfo.ts:27

Parameters

data

[ApiResponse, ApiResponse?]

actions

Actions

cpn

string

Returns

TrackInfo

Overrides

MediaInfo.constructor

Properties

annotations?

optional annotations: ObservedArray<PlayerAnnotationsExpanded>

Defined in: src/core/mixins/MediaInfo.ts:40

Inherited from

MediaInfo.annotations


basic_info

basic_info: object

Defined in: src/core/mixins/MediaInfo.ts:39

allow_ratings?

optional allow_ratings: boolean

author?

optional author: string

category

category: string | null

channel

channel: { id: string; name: string; url: string; } | null

channel_id?

optional channel_id: string

duration?

optional duration: number

embed

embed: { flash_secure_url: string; flash_url: string; height: any; iframe_url: string; width: any; } | null | undefined

end_timestamp

end_timestamp: Date | null

has_ypc_metadata

has_ypc_metadata: boolean | null

id?

optional id: string

is_crawlable?

optional is_crawlable: boolean

is_disliked

is_disliked: boolean | undefined

is_family_safe

is_family_safe: boolean | undefined = info.microformat.is_family_safe

is_liked

is_liked: boolean | undefined

is_live?

optional is_live: boolean

is_live_content?

optional is_live_content: boolean

is_live_dvr_enabled?

optional is_live_dvr_enabled: boolean

is_low_latency_live_stream?

optional is_low_latency_live_stream: boolean

is_owner_viewing?

optional is_owner_viewing: boolean

is_post_live_dvr?

optional is_post_live_dvr: boolean

is_private?

optional is_private: boolean

is_unlisted

is_unlisted: boolean | undefined = info.microformat.is_unlisted

is_upcoming?

optional is_upcoming: boolean

keywords?

optional keywords: string[]

like_count

like_count: number | undefined

live_chunk_readahead?

optional live_chunk_readahead: number

short_description?

optional short_description: string

start_timestamp

start_timestamp: Date | null

tags

tags: string[] | null

thumbnail?

optional thumbnail: Thumbnail[]

title?

optional title: string

url_canonical

url_canonical: string | null

view_count

view_count: number | undefined

Inherited from

MediaInfo.basic_info


captions?

optional captions: PlayerCaptionsTracklist

Defined in: src/core/mixins/MediaInfo.ts:43

Inherited from

MediaInfo.captions


cards?

optional cards: CardCollection

Defined in: src/core/mixins/MediaInfo.ts:44

Inherited from

MediaInfo.cards


current_video_endpoint?

optional current_video_endpoint: NavigationEndpoint

Defined in: src/parser/ytmusic/TrackInfo.ts:24


endscreen?

optional endscreen: Endscreen

Defined in: src/core/mixins/MediaInfo.ts:42

Inherited from

MediaInfo.endscreen


playability_status?

optional playability_status: IPlayabilityStatus

Defined in: src/core/mixins/MediaInfo.ts:46

Inherited from

MediaInfo.playability_status


player_config?

optional player_config: IPlayerConfig

Defined in: src/core/mixins/MediaInfo.ts:47

Inherited from

MediaInfo.player_config


player_overlays?

optional player_overlays: PlayerOverlay

Defined in: src/parser/ytmusic/TrackInfo.ts:25


storyboards?

optional storyboards: PlayerStoryboardSpec | PlayerLiveStoryboardSpec

Defined in: src/core/mixins/MediaInfo.ts:41

Inherited from

MediaInfo.storyboards


streaming_data?

optional streaming_data: IStreamingData

Defined in: src/core/mixins/MediaInfo.ts:45

Inherited from

MediaInfo.streaming_data


tabs?

optional tabs: ObservedArray<Tab>

Defined in: src/parser/ytmusic/TrackInfo.ts:23

Accessors

actions

Get Signature

get actions(): Actions

Defined in: src/core/mixins/MediaInfo.ts:247

Returns

Actions

Inherited from

MediaInfo.actions


available_tabs

Get Signature

get available_tabs(): string[]

Defined in: src/parser/ytmusic/TrackInfo.ts:155

Returns

string[]


cpn

Get Signature

get cpn(): string

Defined in: src/core/mixins/MediaInfo.ts:254

Content Playback Nonce.

Returns

string

Inherited from

MediaInfo.cpn


page

Get Signature

get page(): [IPlayerResponse, INextResponse?]

Defined in: src/core/mixins/MediaInfo.ts:261

Parsed InnerTube response.

Returns

[IPlayerResponse, INextResponse?]

Inherited from

MediaInfo.page

Methods

addToWatchHistory()

addToWatchHistory(): Promise<Response>

Defined in: src/parser/ytmusic/TrackInfo.ts:144

Adds the song to the watch history.

Returns

Promise<Response>

Overrides

MediaInfo.addToWatchHistory


chooseFormat()

chooseFormat(options): Format

Defined in: src/core/mixins/MediaInfo.ts:161

Selects the format that best matches the given options.

Parameters

options

FormatOptions

Options

Returns

Format

Inherited from

MediaInfo.chooseFormat


download()

download(options): Promise<ReadableStream<Uint8Array>>

Defined in: src/core/mixins/MediaInfo.ts:169

Downloads the video.

Parameters

options

DownloadOptions = {}

Download options.

Returns

Promise<ReadableStream<Uint8Array>>

Inherited from

MediaInfo.download


getLyrics()

getLyrics(): Promise<MusicDescriptionShelf | undefined>

Defined in: src/parser/ytmusic/TrackInfo.ts:136

Retrieves lyrics.

Returns

Promise<MusicDescriptionShelf | undefined>


getRelated()

getRelated(): Promise<ObservedArray<MusicCarouselShelf | MusicDescriptionShelf>>

Defined in: src/parser/ytmusic/TrackInfo.ts:129

Retrieves related content.

Returns

Promise<ObservedArray<MusicCarouselShelf | MusicDescriptionShelf>>


getStreamingInfo()

getStreamingInfo(url_transformer?, format_filter?): Promise<StreamingInfo>

Defined in: src/core/mixins/MediaInfo.ts:144

Get a cleaned up representation of the adaptive_formats

Parameters

url_transformer?

URLTransformer

format_filter?

FormatFilter

Returns

Promise<StreamingInfo>

Inherited from

MediaInfo.getStreamingInfo


getTab()

getTab(title_or_page_type): Promise<ObservedArray<YTNode> | SectionList | MusicQueue | RichGrid | Message>

Defined in: src/parser/ytmusic/TrackInfo.ts:46

Retrieves contents of the given tab.

Parameters

title_or_page_type

string

Returns

Promise<ObservedArray<YTNode> | SectionList | MusicQueue | RichGrid | Message>


getTranscript()

getTranscript(): Promise<TranscriptInfo>

Defined in: src/core/mixins/MediaInfo.ts:182

Retrieves the video's transcript.

Returns

Promise<TranscriptInfo>

Inherited from

MediaInfo.getTranscript


getUpNext()

getUpNext(automix): Promise<PlaylistPanel>

Defined in: src/parser/ytmusic/TrackInfo.ts:75

Retrieves up next.

Parameters

automix

boolean = true

Returns

Promise<PlaylistPanel>


getUpNextContinuation()

getUpNextContinuation(playlistPanel): Promise<PlaylistPanelContinuation>

Defined in: src/parser/ytmusic/TrackInfo.ts:107

Retrieves up next continuation relative to current TrackInfo.

Parameters

playlistPanel

PlaylistPanel | PlaylistPanelContinuation

Returns

Promise<PlaylistPanelContinuation>


toDash()

toDash(options): Promise<string>

Defined in: src/core/mixins/MediaInfo.ts:104

Generates a DASH manifest from the streaming data.

Parameters

options
format_filter?

FormatFilter

manifest_options?

DashOptions

url_transformer?

URLTransformer

Returns

Promise<string>

DASH manifest

Inherited from

MediaInfo.toDash


updateWatchTime()

updateWatchTime(startTime): Promise<Response>

Defined in: src/parser/ytmusic/TrackInfo.ts:151

Updates the watch time of the song.

Parameters

startTime

number

Returns

Promise<Response>

Overrides

MediaInfo.updateWatchTime

Edit this page
Last Updated: 10/12/25, 3:23 PM