YouTube.js
Guide
Discord
GitHub
Guide
Discord
GitHub

youtubei.js / YTNodes / Video

Class: Video

Extends

  • YTNode

Extended by

  • VideoCard

Constructors

new Video()

new Video(data): Video

Parameters

• data: RawNode

Returns

Video

Overrides

YTNode.constructor

Defined in

src/parser/classes/Video.ts:43

Properties

additional_metadatas?

optional additional_metadatas: Text[]

Defined in

src/parser/classes/Video.ts:22


author

author: Author

Defined in

src/parser/classes/Video.ts:26


badges

badges: MetadataBadge[]

Defined in

src/parser/classes/Video.ts:27


byline_text?

optional byline_text: Text

Defined in

src/parser/classes/Video.ts:37


description_snippet?

optional description_snippet: Text

Defined in

src/parser/classes/Video.ts:19


endpoint?

optional endpoint: NavigationEndpoint

Defined in

src/parser/classes/Video.ts:28


expandable_metadata

expandable_metadata: null | ExpandableMetadata

Defined in

src/parser/classes/Video.ts:21


is_watched

is_watched: boolean

Defined in

src/parser/classes/Video.ts:35


length_text?

optional length_text: Text

Defined in

src/parser/classes/Video.ts:33


menu

menu: null | Menu

Defined in

src/parser/classes/Video.ts:36


published?

optional published: Text

Defined in

src/parser/classes/Video.ts:29


rich_thumbnail?

optional rich_thumbnail: YTNode

Defined in

src/parser/classes/Video.ts:25


search_video_result_entity_key?

optional search_video_result_entity_key: string

Defined in

src/parser/classes/Video.ts:38


service_endpoint?

optional service_endpoint: NavigationEndpoint

Defined in

src/parser/classes/Video.ts:40


service_endpoints?

optional service_endpoints: NavigationEndpoint[]

Defined in

src/parser/classes/Video.ts:39


short_view_count?

optional short_view_count: Text

Defined in

src/parser/classes/Video.ts:31


show_action_menu

show_action_menu: boolean

Defined in

src/parser/classes/Video.ts:34


snippets?

optional snippets: object[]

Defined in

src/parser/classes/Video.ts:20


style?

optional style: "VIDEO_STYLE_TYPE_UNKNOWN" | "VIDEO_STYLE_TYPE_NORMAL" | "VIDEO_STYLE_TYPE_POST" | "VIDEO_STYLE_TYPE_SUB" | "VIDEO_STYLE_TYPE_LIVE_POST" | "VIDEO_STYLE_TYPE_FULL_BLEED_ISOLATED" | "VIDEO_STYLE_TYPE_WITH_EXPANDED_METADATA"

Defined in

src/parser/classes/Video.ts:41


thumbnail_overlays

thumbnail_overlays: ObservedArray<YTNode>

Defined in

src/parser/classes/Video.ts:24


thumbnails

thumbnails: Thumbnail[]

Defined in

src/parser/classes/Video.ts:23


title

title: Text

Defined in

src/parser/classes/Video.ts:17


type

readonly type: string

Inherited from

YTNode.type

Defined in

src/parser/helpers.ts:8


untranslated_title?

optional untranslated_title: Text

Defined in

src/parser/classes/Video.ts:18


upcoming?

optional upcoming: Date

Defined in

src/parser/classes/Video.ts:32


video_id

video_id: string

Defined in

src/parser/classes/Video.ts:16


view_count?

optional view_count: Text

Defined in

src/parser/classes/Video.ts:30


type

static type: string = 'Video'

Overrides

YTNode.type

Defined in

src/parser/classes/Video.ts:14

Accessors

best_thumbnail

get best_thumbnail(): undefined | Thumbnail

Returns

undefined | Thumbnail

Defined in

src/parser/classes/Video.ts:148


description

get description(): string

Returns

string

Defined in

src/parser/classes/Video.ts:119


duration

get duration(): object

Returns

object

seconds

seconds: number

text

text: undefined | string = length_text

Defined in

src/parser/classes/Video.ts:152


has_captions

get has_captions(): boolean

Returns

boolean

Defined in

src/parser/classes/Video.ts:144


id

get id(): string

Deprecated

Use video_id instead.

Returns

string

Defined in

src/parser/classes/Video.ts:115


is_4k

get is_4k(): boolean

Returns

boolean

Defined in

src/parser/classes/Video.ts:140


is_live

get is_live(): boolean

Returns

boolean

Defined in

src/parser/classes/Video.ts:125


is_premiere

get is_premiere(): boolean

Returns

boolean

Defined in

src/parser/classes/Video.ts:136


is_upcoming

get is_upcoming(): undefined | boolean

Returns

undefined | boolean

Defined in

src/parser/classes/Video.ts:132

Methods

as()

as<T, K>(...types): InstanceType<K[number]>

Cast to one of the given types.

Type Parameters

• T extends YTNode

• K extends YTNodeConstructor<T>[]

Parameters

• ...types: K

The types to cast to

Returns

InstanceType<K[number]>

The node cast to one of the given types

Throws

If the node is not of the given type

Inherited from

YTNode.as

Defined in

src/parser/helpers.ts:29


hasKey()

hasKey<T, R>(key): this is Video & { [k in string]: R }

Check for a key without asserting the type.

Type Parameters

• T extends string

• R = any

Parameters

• key: T

The key to check

Returns

this is Video & { [k in string]: R }

Whether the node has the key

Inherited from

YTNode.hasKey

Defined in

src/parser/helpers.ts:41


is()

is<T, K>(...types): this is InstanceType<K[number]>

Check if the node is of the given type.

Type Parameters

• T extends YTNode

• K extends YTNodeConstructor<T>[]

Parameters

• ...types: K

The type to check

Returns

this is InstanceType<K[number]>

whether the node is of the given type

Inherited from

YTNode.is

Defined in

src/parser/helpers.ts:19


key()

key<T, R>(key): Maybe

Assert that the node has the given key and return it.

Type Parameters

• T extends string

• R = any

Parameters

• key: T

The key to check

Returns

Maybe

The value of the key wrapped in a Maybe

Throws

If the node does not have the key

Inherited from

YTNode.key

Defined in

src/parser/helpers.ts:51

Edit this page
Last Updated:: 6/8/25, 5:43 PM
Contributors: Luan