@fabricio-191/youtube
v0.0.4
Published
Get info/download from youtube videos/playlists easy, and search videos from youtube
Downloads
108
Maintainers
Readme
You can see the changelog here
You have to bear in mind that this does not use an official youtube api, there is no documentation and a change could cause it to throw an error, besides that there are things that I do not know, such as different privacy settings or rendering
Use example:
const { getVideo, getPlaylist, search } = require('@fabricio-191/youtube')
.setDefaultOptions({
location: 'AR',
language: 'es-419'
});
here you can see a JSON that shows the information that each method gives (I do not put it here, because it is a lot)
Methods:
getVideo(URLorID, options)
- returns a
Promise
getVideo('https://www.youtube.com/watch?v=H2wCwdHk-ao&list=PLDS0dpumEOi0pu_0pCGqvcaRkxg-o1gqg')
.then(data => {
console.log(data);
//do something...
})
.catch(console.error);
getPlaylist(URLorID, options)
- returns a
Promise
getPlaylist('https://www.youtube.com/watch?v=H2wCwdHk-ao&list=PLDS0dpumEOi0pu_0pCGqvcaRkxg-o1gqg')
.then(data => {
console.log(data);
//do something...
})
.catch(console.error);
search(searchString, options)
- returns a
Promise
search('Node.js', { quantity: 40 })
.then(data => {
const videos = data.results.filter(x => x.type === 'video');
//do something...
})
.catch(console.error);
setDefaultOptions(options)
- returns
this
Options:
The default options are:
{
language: 'en',
location: 'US',
quantity: 'all',
requestsOptions: {}
}
The default quantity
for a search is 20
The requestsOptions
are passed directly to the http.request()
(or https) method
here you can see which can be
And here you can see a list of valid locations
and languages
When you pass options to a method, the options without value, will be taken from the default values
Notes:
- In an array of Thumbnails, the first will always be the bigger
- Some structures have a
toString()
method that returns the clear text in it, for others is an URL, like in an array of thumbnails
To-do
- A method to download videos
- ~~Make typings and JSDoc~~
- ~~Improve error handling~~
- A method to get info and videos from a channel
- Get comments from a video