Skip to content

brandonbothell/popyt

Repository files navigation

Popyt

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 popyt

40+ stars on GitHub 0 dependencies Permissive license Open an issue on GitHub Automated testing 90%+ test coverage DeepScan grade: good Trending on NPM Available on NPM Less than 750 kilobytes (100kB minified) 200+ packages use Popyt to access the YouTube API 5000 lines of code and counting Written in TypeScript

Examples

Look at the documentation, or:

Here are some basic methods (try it on CodeSandbox):

Instantiate the object:

const { YouTube } = require('popyt')
const youtube = new YouTube(apiKey)

Instantiate the object without caching:

const { YouTube } = require('popyt')
const youtube = new YouTube(apiKey, undefined, { 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 search = await youtube.searchVideos('never gonna give you up')
console.log(search.items.map(v => v.title).join('\n')) // titles of 50 beautiful videos

Note: This wrapper does not implement every feature of the YouTube API. If you would like anything added, feel free to open a PR or an issue. The limits imposed by the wrapper are not imposed by YouTube.

About

Node.JS Youtube Data API v3 library built in TypeScript with no dependencies.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

 
 
 

Contributors