Better YouTube API
Want to access data from the YouTube Data v3 API? Want a Node.js YouTube API wrapper with typings, promises, and caching? No problem! We've got ya covered. npm i better-youtube-api
Check out our website!
Examples
First of all, I recommend that you check out the documentation for all of the methods and what they return. Here are some basic methods:
Instantiate the object:
const { YouTube } = require('better-youtube-api')
const youtube = new YouTube(apiKey)
Instantiate the object without caching:
const { YouTube } = require('better-youtube-api')
const youtube = new YouTube(apiKey, { cache: false })
Get a video by ID:
const video = await youtube.getVideo('dQw4w9WgXcQ')
console.log(video)
You can do the same thing with playlists, channels, and comments by replacing Video
with any of them.
Get a video by URL:
const video = await youtube.getVideo('https://youtube.com/watch?v=dQw4w9WgXcQ')
console.log(video)
Get a video by title (or similar title):
const video = await youtube.getVideo('never gonna give you up')
console.log(video)
Search videos:
const videos = await youtube.searchVideos('never gonna give you up', 12)
console.log(videos)
Note: This wrapper does not implement every feature of the YouTube API. With a single developer working on it, there just isn't time for everything to be implemented. Some of the objectively most-important features have been added. The limits imposed by the wrapper are not imposed by YouTube.
Development
Before committing:
- Run TSLint.
- Run
npm run coverage
to check if you've added enough tests. It should display 100% statement, line, and branch coverage. - Run
yarn test
or npm run test
and make sure that every test passes.