Skip to content

Repository files navigation

YouTube Scraper

Table of Contents

Why use this package?

This is a YouTube scraper with zero dependencies. Everything has been coded to have a minimal footprint creating a small package that's aimed at being as fast as possible.

Timings

These are the timings I would get on average over 20 tests, ofcourse the Fetch time depends on how good your connection is to YouTube and how loaded YouTube is at that point.

TypeFetch TimeProcessing Time
video585.632055 ms3.117175 ms
channel494.026065 msnot tested
playlist569.424545 msnot tested

Check here

Options

PropertyDefaultDescription
languageenSet the language that you would like for results to be returned in. A list of supported language types can be found here.
searchTypevideoWhich type to search for on YouTube, supported types are any, channel, live, movie, playlist and video
"Sort by" has not been implemented as of now.
All data is sorted in the default order that YouTube returns these in.

Example Options

You can set the global language which YouTube should return results in or set the return language per search/request:

importyoutubefrom'@yimura/scraper'// This will set the language to French from France globallyconstyt=newyoutube.default('fr-FR');// Sets the language communicated to YouTube to Dutch from Belgium for this searchconstresults=yt.search('Never gonna give you up',{language: 'nl-BE',searchType: 'video'// video is the default search type});

Example Code

CommonJS:

constScraper=require('@yimura/scraper').default;constyoutube=newScraper();youtube.search('Never gonna give you up').then(results=>{console.log(results.videos[0]);});

ESModule:

importyoutubefrom'@yimura/scraper'constyt=newyoutube.default();yt.search('Never gonna give you up').then(results=>{console.log(results.videos[0]);});

Output

{channel: {name: 'Official Rick Astley',link: 'https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw',verified: true},description: "Rick Astley's official music video for “Never Gonna Give You Up” Listen to Rick Astley: https://RickAstley.lnk.to/_listenYD Subscribe ...",duration: 213,duration_raw: "3:33",id: 'dQw4w9WgXcQ',link: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ',thumbnail: 'https://i.ytimg.com/vi/dQw4w9WgXcQhqdefault.jpg',shareLink: 'https://youtu.be/dQw4w9WgXcQ',title: 'Rick Astley - Never Gonna Give You Up (Video)',uploaded: '11 years ago',views: 788551856}

Return Object Structure

{channels: [{channelId: String,description: String,link: String,thumbnails: [{url: String,width: Number,height: Number}],subscribed: Boolean,uploadedVideos: Number,verified: Boolean}],playlists: [{preview: [{duration: Number,duration_raw: String,views: Number,id: String,link: String,thumbnail: String,title: String,shareLink: String}],id: String,link: String,thumbnail: String,title: String,videoCount: Number}],streams: [{watching: Number,channel: {name: String,link: String,verified: Boolean},id: String,link: String,thumbnail: String,title: String,shareLink: String}],videos: [{description: String,duration: Number,duration_raw: String,uploaded: String,views: Number,channel: {name: String,link: String,verified: Boolean},id: String,link: String,thumbnail: String,title: String,shareLink: String}]}

About

A Youtube Scraper with zero dependencies.

Topics

Resources

Stars

51 stars

Watchers

3 watching

Forks

Releases

Contributors

Languages