@vuga/yt-search

search youtube

Usage no npm install needed!

<script type="module">
  import vugaYtSearch from 'https://cdn.skypack.dev/@vuga/yt-search';
</script>

README

npm npm npm

yt-search

simple youtube search API and CLI

Easy to use

CLI usage

npm install -g yt-search

# enter interactive search and selection
yt-search superman theme

API usage

const ytSearch = require( 'yt-search' )

ytSearch( 'superman theme', function ( err, r ) {
  if ( err ) throw err

  const videos = r.videos
  const playlists = r.playlists
  const accounts = r.accounts

  const firstResult = videos[ 0 ]

  console.log( firstResult )
} )

Output

{
  title: 'Superman Theme',
  url: '/watch?v=e9vrfEoc8_g',
  videoId: 'e9vrfEoc8_g',
  seconds: 253,
  timestamp: '4:13',
  duration: {
    toString: [Function: toString],
    seconds: 253,
    timestamp: '4:13'
  },
  ago: '8 years ago',
  views: 29127516,

  author: {
    name: 'Movieclips Classic Trailers',
    id: 'oldhollywoodtrailers',
    url: '/user/oldhollywoodtrailers',

    userId: 'oldhollywoodtrailers',
    userName: 'Movieclips Classic Trailers',
    userUrl: '/user/oldhollywoodtrailers',

    channelId: '',
    channelName: ''
    channelUrl: ''
  }
}

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

Usage


const opts = {
  query: 'superman theme',
  pageStart: 1, // first youtube page result
  pageEnd: 3 // up until page 3
}

ytSearch( opts, function ( err, r ) {
  if ( typeof opts === 'string' ) {
    opts = {
      query: opts,
      pageStart: 1,
      pageEnd: 3
    }
  }

  // etc
} )

Installation

npm install yt-search # local module usage
npm install -g yt-search # global CLI usage

Test

npm test