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

youtubei.js / Session

Class: Session

Defined in: src/core/Session.ts:257

Represents an InnerTube session. This holds all the data needed to make requests to YouTube.

Extends

  • EventEmitter

Constructors

Constructor

new Session(context, api_key, api_version, account_index, config_data?, player?, cookie?, fetch?, cache?, po_token?): Session

Defined in: src/core/Session.ts:264

Parameters

context

Context

api_key

string

api_version

string

account_index

number

config_data?

string

player?

Player

cookie?

string

fetch?

{(input, init?): Promise<Response>; (input, init?): Promise<Response>; }

cache?

ICache

po_token?

string

Returns

Session

Overrides

EventEmitter.constructor

Properties

account_index

account_index: number

Defined in: src/core/Session.ts:268


actions

actions: Actions

Defined in: src/core/Session.ts:261


api_key

api_key: string

Defined in: src/core/Session.ts:266


api_version

api_version: string

Defined in: src/core/Session.ts:267


cache?

optional cache: ICache

Defined in: src/core/Session.ts:273


config_data?

optional config_data: string

Defined in: src/core/Session.ts:269


context

context: Context

Defined in: src/core/Session.ts:265


cookie?

optional cookie: string

Defined in: src/core/Session.ts:271


http

http: HTTPClient

Defined in: src/core/Session.ts:259


logged_in

logged_in: boolean

Defined in: src/core/Session.ts:260


oauth

oauth: OAuth2

Defined in: src/core/Session.ts:258


player?

optional player: Player

Defined in: src/core/Session.ts:270


po_token?

optional po_token: string

Defined in: src/core/Session.ts:274


user_agent?

optional user_agent: string

Defined in: src/core/Session.ts:262

Accessors

client_name

Get Signature

get client_name(): string

Defined in: src/core/Session.ts:698

Returns

string


client_version

Get Signature

get client_version(): string

Defined in: src/core/Session.ts:694

Returns

string


lang

Get Signature

get lang(): string

Defined in: src/core/Session.ts:702

Returns

string

Methods

addEventListener()

addEventListener(type, callback, options?): void

Defined in: node_modules/typescript/lib/lib.dom.d.ts:11569

The addEventListener() method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.

MDN Reference

Parameters

type

string

callback

EventListenerOrEventListenerObject | null

options?

boolean | AddEventListenerOptions

Returns

void

Inherited from

EventEmitter.addEventListener


dispatchEvent()

dispatchEvent(event): boolean

Defined in: node_modules/typescript/lib/lib.dom.d.ts:11575

The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

MDN Reference

Parameters

event

Event

Returns

boolean

Inherited from

EventEmitter.dispatchEvent


emit()

emit(type, ...args): void

Defined in: src/utils/EventEmitterLike.ts:10

Parameters

type

string

args

...any[]

Returns

void

Inherited from

EventEmitter.emit


off()

off(type, listener): void

Defined in: src/utils/EventEmitterLike.ts:40

Parameters

type

string

listener

(...args) => void

Returns

void

Inherited from

EventEmitter.off


on()

Call Signature

on(type, listener): void

Defined in: src/core/Session.ts:284

Parameters
type

"auth"

listener

OAuth2AuthEventHandler

Returns

void

Overrides

EventEmitter.on

Call Signature

on(type, listener): void

Defined in: src/core/Session.ts:285

Parameters
type

"auth-pending"

listener

OAuth2AuthPendingEventHandler

Returns

void

Overrides

EventEmitter.on

Call Signature

on(type, listener): void

Defined in: src/core/Session.ts:286

Parameters
type

"auth-error"

listener

OAuth2AuthErrorEventHandler

Returns

void

Overrides

EventEmitter.on

Call Signature

on(type, listener): void

Defined in: src/core/Session.ts:287

Parameters
type

"update-credentials"

listener

OAuth2AuthEventHandler

Returns

void

Overrides

EventEmitter.on


once()

Call Signature

once(type, listener): void

Defined in: src/core/Session.ts:293

Parameters
type

"auth"

listener

OAuth2AuthEventHandler

Returns

void

Overrides

EventEmitter.once

Call Signature

once(type, listener): void

Defined in: src/core/Session.ts:294

Parameters
type

"auth-pending"

listener

OAuth2AuthPendingEventHandler

Returns

void

Overrides

EventEmitter.once

Call Signature

once(type, listener): void

Defined in: src/core/Session.ts:295

Parameters
type

"auth-error"

listener

OAuth2AuthErrorEventHandler

Returns

void

Overrides

EventEmitter.once


removeEventListener()

removeEventListener(type, callback, options?): void

Defined in: node_modules/typescript/lib/lib.dom.d.ts:11581

The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

MDN Reference

Parameters

type

string

callback

EventListenerOrEventListenerObject | null

options?

boolean | EventListenerOptions

Returns

void

Inherited from

EventEmitter.removeEventListener


signIn()

signIn(credentials?): Promise<void>

Defined in: src/core/Session.ts:661

Parameters

credentials?

OAuth2Tokens

Returns

Promise<void>


signOut()

signOut(): Promise<Response | undefined>

Defined in: src/core/Session.ts:684

Signs out of the current account and revokes the credentials.

Returns

Promise<Response | undefined>


create()

static create(options?): Promise<Session>

Defined in: src/core/Session.ts:301

Parameters

options?

SessionOptions = {}

Returns

Promise<Session>


fromCache()

static fromCache(cache, session_args): Promise<SessionData | null>

Defined in: src/core/Session.ts:334

Retrieves session data from cache.

Parameters

cache

ICache

A valid cache implementation.

session_args

SessionArgs

User provided session arguments.

Returns

Promise<SessionData | null>


getSessionData()

static getSessionData(lang?, location?, account_index?, visitor_data?, user_agent?, enable_safety_mode?, generate_session_locally?, fail_fast?, device_category?, client_name?, tz?, fetch?, on_behalf_of_user?, cache?, enable_session_cache?, po_token?, retrieve_innertube_config?): Promise<{ account_index: number; api_key: string; api_version: string; config_data?: string; context: Context; }>

Defined in: src/core/Session.ts:383

Parameters

lang?

string = ''

location?

string = ''

account_index?

number = 0

visitor_data?

string = ''

user_agent?

string = ...

enable_safety_mode?

boolean = false

generate_session_locally?

boolean = false

fail_fast?

boolean = false

device_category?

DeviceCategory = 'desktop'

client_name?

ClientType = ClientType.WEB

tz?

string = ...

fetch?

{(input, init?): Promise<Response>; (input, init?): Promise<Response>; }

on_behalf_of_user?

string

cache?

ICache

enable_session_cache?

boolean = true

po_token?

string

retrieve_innertube_config?

boolean = true

Returns

Promise<{ account_index: number; api_key: string; api_version: string; config_data?: string; context: Context; }>

Edit this page
Last Updated: 5/13/26, 3:20 AM