{"_id":"@antoniojps/youtubei.js","name":"@antoniojps/youtubei.js","dist-tags":{"latest":"15.0.1"},"versions":{"15.0.1":{"name":"@antoniojps/youtubei.js","version":"15.0.1","description":"A JavaScript client for YouTube's private API, known as InnerTube.","type":"module","types":"./dist/src/platform/lib.d.ts","typesVersions":{"*":{"agnostic":["./dist/src/platform/lib.d.ts"],"web":["./dist/src/platform/lib.d.ts"],"react-native":["./dist/src/platform/lib.d.ts"],"web.bundle":["./dist/src/platform/lib.d.ts"],"web.bundle.min":["./dist/src/platform/lib.d.ts"],"cf-worker":["./dist/src/platform/lib.d.ts"]}},"exports":{".":{"deno":"./dist/src/platform/deno.js","node":{"import":"./dist/src/platform/node.js","require":"./bundle/node.cjs"},"types":"./dist/src/platform/lib.d.ts","browser":"./dist/src/platform/web.js","react-native":"./dist/src/platform/react-native.js","default":"./dist/src/platform/web.js"},"./agnostic":{"types":"./dist/src/platform/lib.d.ts","default":"./dist/src/platform/lib.js"},"./web":{"types":"./dist/src/platform/lib.d.ts","default":"./dist/src/platform/web.js"},"./react-native":{"types":"./dist/src/platform/lib.d.ts","default":"./dist/src/platform/react-native.js"},"./web.bundle":{"types":"./dist/src/platform/lib.d.ts","default":"./bundle/browser.js"},"./cf-worker":{"types":"./dist/src/platform/lib.d.ts","default":"./dist/src/platform/cf-worker.js"}},"author":{"name":"LuanRT","email":"luan.lrt4@gmail.com","url":"https://github.com/LuanRT"},"funding":["https://github.com/sponsors/LuanRT"],"contributors":[{"name":"Wykerd","url":"https://github.com/wykerd/"},{"name":"MasterOfBob777","url":"https://github.com/MasterOfBob777"},{"name":"patrickkfkan","url":"https://github.com/patrickkfkan"},{"name":"akkadaska","url":"https://github.com/akkadaska"},{"name":"Absidue","url":"https://github.com/absidue"}],"scripts":{"test":"vitest run --reporter verbose","lint":"eslint ./src","lint:fix":"eslint --fix ./src","clean:source-maps":"rimraf ./bundle/browser.js.map ./bundle/node.cjs.map ./bundle/cf-worker.js.map ./bundle/react-native.js.map","clean:build-output":"rimraf ./dist ./bundle/browser.js ./bundle/node.cjs ./bundle/cf-worker.js ./bundle/react-native.js ./deno","build":"npm run clean:build-output && npm run clean:source-maps && npm run build:parser-map && npm run build:esm && npm run bundle:node && npm run bundle:browser && npm run bundle:cf-worker && npm run bundle:react-native","build:esm":"tspc","build:deno":"cpy ./src ./deno && cpy ./protos ./deno && esbuild ./src/utils/DashManifest.tsx --keep-names --format=esm --platform=neutral --target=es2020 --outfile=./deno/src/utils/DashManifest.js && cpy ./package.json ./deno && replace \".js';\" \".ts';\" ./deno -r && replace '.js\";' '.ts\";' ./deno -r && replace \"'./DashManifest.ts';\" \"'./DashManifest.js';\" ./deno -r && replace \"'jintr';\" \"'jsr:@luanrt/jintr';\" ./deno -r && replace \"@bufbuild/protobuf/wire\" \"https://esm.sh/@bufbuild/protobuf@2.0.0/wire\" ./deno -r","build:proto":"rimraf ./protos/generated && node ./dev-scripts/generate-proto.mjs","build:parser-map":"node ./dev-scripts/gen-parser-map.mjs","bundle:node":"esbuild ./dist/src/platform/node.js --bundle --sourcemap --target=node20 --keep-names --format=cjs --platform=node --outfile=./bundle/node.cjs --external:undici --external:linkedom --external:tslib --banner:js=\"/* eslint-disable */\"","bundle:browser":"esbuild ./dist/src/platform/web.js --banner:js=\"/* eslint-disable */\" --bundle --sourcemap --target=chrome70 --keep-names --format=esm --define:global=globalThis --conditions=module --outfile=./bundle/browser.js --platform=browser","bundle:react-native":"esbuild ./dist/src/platform/react-native.js --bundle --sourcemap --target=es2020 --keep-names --format=esm --platform=neutral --define:global=globalThis --conditions=module --outfile=./bundle/react-native.js","bundle:cf-worker":"esbuild ./dist/src/platform/cf-worker.js --banner:js=\"/* eslint-disable */\" --bundle --sourcemap --target=es2020 --keep-names --format=esm --define:global=globalThis --conditions=module --outfile=./bundle/cf-worker.js --platform=node","build:docs":"typedoc","prepare":"npm run build","watch":"tspc --watch"},"repository":{"type":"git","url":"git+https://github.com/LuanRT/YouTube.js.git"},"license":"MIT","dependencies":{"@bufbuild/protobuf":"^2.0.0","jintr":"^3.3.1","undici":"^6.21.3"},"overrides":{"typescript":"^5.0.0"},"devDependencies":{"@eslint/js":"^9.9.0","@types/estree":"^1.0.6","@types/glob":"^8.1.0","@types/node":"^24.0.14","cpy-cli":"^4.2.0","esbuild":"^0.25.6","eslint":"^9.9.0","glob":"^8.0.3","globals":"^15.9.0","replace":"^1.2.2","rimraf":"^6.0.1","ts-patch":"^3.0.2","ts-proto":"^2.2.0","ts-transformer-inline-file":"^0.2.0","typedoc":"^0.26.7","typedoc-plugin-markdown":"^4.2.7","typescript":"^5.0.0","typescript-eslint":"^8.2.0","vitest":"^3.2.4"},"bugs":{"url":"https://github.com/LuanRT/YouTube.js/issues"},"homepage":"https://github.com/LuanRT/YouTube.js#readme","keywords":["api","youtube","innertube","livechat","youtube-music","ytdl","youtube-studio","downloader","ytmusic"],"_id":"@antoniojps/youtubei.js@15.0.1","gitHead":"97d95635d71afa6c7f2abd997d553182509d9b99","_nodeVersion":"20.12.2","_npmVersion":"10.5.0","dist":{"integrity":"sha512-RUTxv+zM+e13kDR7cVHJVZwtD+/kE9WFIlJGOFxNFpHVDVUzI2NxhX2Q1oenpTXVjZS+uvIINJtWDMtjdAV50Q==","shasum":"251653a8d5901e454658534c05bbc1260e36fb0a","tarball":"https://registry.npmjs.org/@antoniojps/youtubei.js/-/youtubei.js-15.0.1.tgz","fileCount":2010,"unpackedSize":17448209,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICjKhiwms2MG7dUKgRMQ/pCzxW/DtttPFDkQ3T7UGruaAiAedpWsMfzR4xW+HlyCbik6u2jtUzRElxrvueq+u9LJbg=="}]},"_npmUser":{"name":"antoniojps","email":"xixinhora@gmail.com"},"directories":{},"maintainers":[{"name":"antoniojps","email":"xixinhora@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/youtubei.js_15.0.1_1753696910024_0.24602418955167638"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-28T10:01:49.883Z","15.0.1":"2025-07-28T10:01:50.276Z","modified":"2025-07-28T10:01:50.597Z"},"maintainers":[{"name":"antoniojps","email":"xixinhora@gmail.com"}],"description":"A JavaScript client for YouTube's private API, known as InnerTube.","homepage":"https://github.com/LuanRT/YouTube.js#readme","keywords":["api","youtube","innertube","livechat","youtube-music","ytdl","youtube-studio","downloader","ytmusic"],"repository":{"type":"git","url":"git+https://github.com/LuanRT/YouTube.js.git"},"contributors":[{"name":"Wykerd","url":"https://github.com/wykerd/"},{"name":"MasterOfBob777","url":"https://github.com/MasterOfBob777"},{"name":"patrickkfkan","url":"https://github.com/patrickkfkan"},{"name":"akkadaska","url":"https://github.com/akkadaska"},{"name":"Absidue","url":"https://github.com/absidue"}],"author":{"name":"LuanRT","email":"luan.lrt4@gmail.com","url":"https://github.com/LuanRT"},"bugs":{"url":"https://github.com/LuanRT/YouTube.js/issues"},"license":"MIT","readme":"<!-- BADGE LINKS -->\n[npm]: https://www.npmjs.com/package/youtubei.js\n[versions]: https://www.npmjs.com/package/youtubei.js?activeTab=versions\n[codefactor]: https://www.codefactor.io/repository/github/luanrt/youtube.js\n[actions]: https://github.com/LuanRT/YouTube.js/actions\n[discord]: https://discord.gg/syDu7Yks54\n\n<div align=\"center\">\n  <br/>\n  <p>\n    <a href=\"https://github.com/LuanRT/YouTube.js\">\n      <img src=\"https://luanrt.github.io/assets/img/ytjs.svg\" alt=\"YouTube.js Logo\" width=\"200\" />\n    </a>\n  </p>\n  <p>A JavaScript client for YouTube's private API</p>\n\n[![Discord](https://img.shields.io/badge/discord-online-brightgreen.svg)][discord]\n[![CI](https://github.com/LuanRT/YouTube.js/actions/workflows/test.yml/badge.svg)][actions]\n[![NPM Version](https://img.shields.io/npm/v/youtubei.js?color=%2335C757)][versions]\n[![Downloads](https://img.shields.io/npm/dt/youtubei.js)][npm]\n[![Codefactor](https://www.codefactor.io/repository/github/luanrt/youtube.js/badge)][codefactor]\n\n</div>\n\nYouTube.js is a JavaScript client for YouTube's private API, known as \"InnerTube\". It allows you to interact with YouTube programmatically, providing access to videos, comments, live chats, streaming data and more. It works seamlessly across Node.js, Deno, and modern browsers.\n\n## Installation\n\nBefore installing, make sure your environment meets the [prerequisites](https://ytjs.dev/guide/getting-started.html#prerequisites).\n\n```bash\n# NPM\nnpm install youtubei.js@latest\n\n# Yarn\nyarn add youtubei.js@latest\n\n# Git (edge version)\nnpm install github:LuanRT/YouTube.js\n\n# Deno\ndeno add npm:youtubei.js@latest\n```\n\nDeno (deprecated):\n```ts\nimport { Innertube } from 'https://deno.land/x/youtubei/deno.ts';\n```\n\n## Basic Usage\n\n```ts\nimport { Innertube } from 'youtubei.js';\nconst innertube = await Innertube.create(/* options */);\n```\n\nFor detailed usage, check out the [YouTube.js Guide and API Documentation](https://ytjs.dev).\n\n## Contributing\nWe welcome all contributions, issues and feature requests, whether small or large. If you want to contribute, feel free to check out our [issues page](https://github.com/LuanRT/YouTube.js/issues) and our [guidelines](https://github.com/LuanRT/YouTube.js/blob/main/CONTRIBUTING.md).\n\n## Contributors\n<a href=\"https://github.com/LuanRT/YouTube.js/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=LuanRT/YouTube.js\" />\n</a>\n\n## Disclaimer\nThis 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.\n\nAs such, any usage of trademarks to refer to such services is considered nominative use. If you have any questions or concerns, please contact me.\n\n## License\nDistributed under the [MIT](https://choosealicense.com/licenses/mit/) License.\n\n<p align=\"right\">\n(<a href=\"#top\">back to top</a>)\n</p>\n","readmeFilename":"README.md","_rev":"1-8603949653be30229db45314e507a9f3"}