MCPcopy Index your code
hub / github.com/LuanRT/YouTube.js

github.com/LuanRT/YouTube.js @v17.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v17.2.0 ↗ · + Follow
3,148 symbols 5,273 edges 708 files 195 documented · 6% updated 2d agov17.2.0 · 2026-06-24★ 5,02584 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README
<a href="https://github.com/LuanRT/YouTube.js">
  <img src="https://luanrt.github.io/assets/img/ytjs.svg" alt="YouTube.js Logo" width="200" />
</a>

A JavaScript client for YouTube's internal API.

Works on Node.js, Deno, modern browsers, and more.

Discord CI NPM Version Downloads Codefactor

Installation

Before installing, make sure your environment meets the prerequisites.

# NPM
npm install youtubei.js@latest

# Yarn
yarn add youtubei.js@latest

# Git (edge version)
npm install github:LuanRT/YouTube.js

# Deno
deno add npm:youtubei.js@latest

Deno (deprecated):

import { Innertube } from 'https://deno.land/x/youtubei/deno.ts';

Basic Usage

import { Innertube } from 'youtubei.js';
const innertube = await Innertube.create(/* options */);

For detailed usage, read the YouTube.js Guide and API Documentation.

Contributing

All contributions are welcome, big or small. If you want to contribute, take a look at the issues page and our guidelines.

Contributors

Disclaimer

This project is not affiliated with, endorsed, or sponsored by YouTube or any of its affiliates or subsidiaries. All trademarks, logos, and brand names used in this project are the property of their respective owners and are used solely to describe the services provided.

As such, any usage of trademarks to refer to such services is considered nominative use. If you have any questions or concerns, please contact me.

License

Distributed under the MIT License.

(back to top)

Extension points exported contracts — how you extend this code

ICache (Interface)
(no doc) [8 implementers]
src/types/Cache.ts
IEndpoint (Interface)
(no doc) [21 implementers]
src/parser/types/CommandEndpoints.ts
IntrinsicElements (Interface)
(no doc)
src/utils/DashUtils.ts
SerializableSession (Interface)
(no doc)
src/core/Session.ts
Env (Interface)
(no doc)
examples/cloudflare-worker/src/index.ts
FormatOptions (Interface)
(no doc)
src/types/FormatUtils.ts
Run (Interface)
(no doc) [5 implementers]
src/parser/classes/misc/Text.ts
DashProps (Interface)
(no doc)
src/utils/DashUtils.ts

Core symbols most depended-on inside this repo

string
called by 338
src/parser/helpers.ts
toString
called by 148
src/parser/classes/misc/Text.ts
as
called by 134
src/parser/helpers.ts
fromResponse
called by 132
src/parser/classes/misc/Thumbnail.ts
set
called by 115
src/types/Cache.ts
call
called by 105
src/parser/classes/NavigationEndpoint.ts
is
called by 98
src/parser/helpers.ts
getType
called by 97
src/parser/helpers.ts

Shape

Class 1,314
Method 1,287
Function 307
Interface 213
Enum 27

Languages

TypeScript100%

Modules by API surface

protos/generated/misc/params.ts91 symbols
protos/generated/youtube/api/pfiinnertube/client_info.ts67 symbols
src/parser/helpers.ts61 symbols
src/utils/StreamingInfo.ts47 symbols
src/parser/youtube/Channel.ts43 symbols
src/Innertube.ts38 symbols
src/parser/continuations.ts37 symbols
src/utils/Utils.ts36 symbols
protos/generated/youtube/api/pfiinnertube/metadata_update_request.ts32 symbols
src/parser/generator.ts31 symbols
src/parser/classes/misc/Text.ts26 symbols
src/parser/parser.ts25 symbols

Dependencies from manifests, versioned

@bufbuild/protobuf2.0.0 · 1×
@cloudflare/workers-types4.20240208.0 · 1×
@eslint/js9.37.0 · 1×
@types/estree1.0.6 · 1×
@types/node25.0.3 · 1×
@typescript-eslint/eslint-plugin8.46.0 · 1×
bgutils-js3.1.2 · 1×
cpy-cli6.0.0 · 1×
esbuild0.28.0 · 1×
eslint9.37.0 · 1×
fflate0.8.2 · 1×

For agents

$ claude mcp add YouTube.js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact