Wondering what’s next for npm?Check out our public roadmap! »

    yt-search
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/yt-search package

    2.8.0 • Public • Published

    npm npm npm mac ubuntu windows

    yt-search

    simple youtube search API and CLI

    Installation

    npm install yt-search # local module usage

    Easy to use

    const yts = require( 'yt-search' )
    const r = await yts( 'superman theme' )
    
    const videos = r.videos.slice( 0, 3 )
    videos.forEach( function ( v ) {
    	const views = String( v.views ).padStart( 10, ' ' )
    	console.log( `${ views } | ${ v.title } (${ v.timestamp }) | ${ v.author.name }` )
    } )
    output
      38878009 | Superman Theme (4:13) | Super Man
       8861479 | Superman  Main Theme  John Williams (4:26) | HD Film Tributes
       7802473 | Superman - Main Theme (BBC Proms) (4:46) | brassbone player
    try it

    https://runkit.com/talmobi/runkit-npm-yt-search-basic

    single video

    const video = await yts( { videoId: '_4Vt0UGwmgQ' } )
    console.log( video.title + ` (${ video.duration.timestamp })` )
    output
    Philip Glass. -  Koyaanisqatsi (original version) (3:29)
    try it

    https://runkit.com/talmobi/runkit-npm-yt-search-video

    single playlist

    const list = await yts( { listId: 'PL7k0JFoxwvTbKL8kjGI_CaV31QxCGf1vJ' } )
    
    console.log( 'playlist title: ' + list.title )
    list.videos.forEach( function ( video ) {
    	console.log( video.title )
    } )
    output
    playlist title: Superman Themes
    The Max Fleischer Cartoon (From "Superman")
    [Deleted video]
    Superman Theme
    [Private video]
    Superman The Animated Series Full Theme
    Smallville theme song
    Reprise / Fly Away
    Superman Doomsday Soundtrack- Main Title
    Hans Zimmer - Man of Steel Theme
    Supergirl CW Soundtrack - Superman Theme Extended
    try it

    https://runkit.com/talmobi/runkit-npm-yt-search-playlist

    CLI Usage (interactive)

    yt-search superman theme

    If you have mpv installed, yt-search can directly play yt videos (or audio only)

    yt-search-video Dank Memes Videos
    yt-search-audio Wagner

    If you don't have mpv installed, you can alternatively try installing yt-play-cli

    npm install -g yt-play-cli

    see: https://github.com/talmobi/yt-play

    About

    Simple function to get youtube search results.

    Why

    Not sure..

    How

    Using HTTP requests and parsing the results with cheerio.

    CLI interactive mode with node-fzf

    Options

    var opts = { query: 'superman theme' }
    yts( opts, function ( err, r ) {
    	if ( err ) throw err
    	console.log( r.videos ) // video results
    	console.log( r.playlists ) // playlist results
    	console.log( r.channels ) // channel results
    	console.log( r.live ) // live stream results
    } )
    
    var opts = { videoId: 'e9vrfEoc8_g' }
    yts( opts, function ( err, video ) {
    	if ( err ) throw err
    	console.log( video ) // single video metadata
    } )
    
    var opts = { listId: 'PL7k0JFoxwvTbKL8kjGI_CaV31QxCGf1vJ' }
    yts( opts, function ( err, playlist ) {
    	if ( err ) throw err
    	console.log( playlist ) // single playlist metadata
    	console.log( playlist.videos ) // playlist videos
    } )

    Alternatives

    ytsr

    Test

    npm test
    

    Keywords

    none

    Install

    npm i yt-search

    DownloadsWeekly Downloads

    33,711

    Version

    2.8.0

    License

    MIT

    Unpacked Size

    48 kB

    Total Files

    6

    Last publish

    Collaborators

    • avatar