# LuanRT/YouTube.js

A JavaScript client for YouTube's internal API, known as InnerTube.

Repository: https://github.com/LuanRT/YouTube.js
Canonical: https://ross.abutalabs.com/products/youtubejs
Homepage: https://ytjs.dev
Language: TypeScript
License: MIT
License Family: permissive
Topics: youtube, unofficial, typescript
Last push: 2026-08-26T20:42:16+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 97, longevity 100
- inputs: {"age_days": 1801, "days_push": 7, "days_rel": 21, "gap_med": 28.0, "n_releases_24m": 23}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 5128, forks 404 (observed 2026-08-28T04:09:10.972169+00:00)

## What it is
YouTube.js (youtubei.js) is a TypeScript client library for YouTube's internal InnerTube API, providing access to the same data and features as YouTube's web client without API keys or quotas. It works across Node.js, Deno, and modern browsers, and includes companion modules for YouTube's proprietary UMP/SABR video streaming protocols.

## Use cases
- search and fetch YouTube video metadata programmatically
- download or stream YouTube video and audio content
- interact with YouTube Music from a script
- read and post YouTube comments or live chat
- build a custom YouTube client without an official API key
- fetch video transcripts and captions

## When to choose
- you need YouTube data or streaming without API keys or quota limits
- you want a runtime-agnostic TypeScript library for Node.js, Deno, or browsers
- you need access to InnerTube features the official Data API doesn't expose
- you're building a media player integration with YouTube's UMP/SABR protocols

## When to avoid
- you need a ToS-compliant, officially supported integration for production
- you can't tolerate breakage when YouTube changes its internal API
- you only need basic embeds or official API endpoints
- you need a language other than JavaScript/TypeScript

## Facets
- artifact type: library
- maturity: active
- function: http-client, parser, sdk
- domain: apis, media, web-development, developer-tools
- platform: browser, cross-platform
- tags: youtube, innertube, unofficial-api, video-streaming, youtube-music, no-api-key, scraping, nodejs, deno, typescript

## Member repositories
- LuanRT/YouTube.js (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:09:10.972169+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:02:03.499631+00:00, confidence not recorded.
  - readme: https://github.com/LuanRT/YouTube.js (fetched 2026-08-28T04:09:10.972169+00:00, sha 9ef6123018d5)
  - homepage: https://ytjs.dev (fetched 2026-08-29T08:56:58.446294+00:00, sha c7a472e50db3)
  - site_page: https://ytjs.dev/api (fetched 2026-08-29T08:56:58.449180+00:00, sha 96e47c558dae)
  - site_page: https://ytjs.dev/googlevideo (fetched 2026-08-29T08:56:58.451358+00:00, sha a30883eee6c9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
