Skip to content

cvrobot/youtube-search-api

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Youtube Search API

Youtube Search API is an API for getting Youtube search results.

Installation

npm install youtube-search-api

Usage (import)

const youtubesearchapi=require('youtube-search-api');

GetListByKeywords (Promise)

youtubesearchapi.GetListByKeyword("<keywords>",[playlist boolean],[limit number])

GetListByKeywords Result

{items:[],nextPage:{nextPageToken:"xxxxxxxx",nextPageContext:{}}}

"items" is the array from youtube, "nextPage" needs to pass when going to the next page. If playlist arg is true, will return type:'playlist' but the videos:[] property will not return the whole videos in the list, need to call GetPlaylistData to get real playlist's videos. Item with Video type will return isLive=[true/false] to identify live video or not.

NextPage (Promise)

youtubesearchapi.NextPage(<nextPage from GetListByKeywords result>,[playlist boolean],[limit number])

NextPage Result

{items:[],nextPage:{nextPageToken:"xxxxxxxx",nextPageContext:{}}}

Item with Video type will return isLive=[true/false] to identify live video or not.

Playlist with ID (Promise)

youtubesearchapi.GetPlaylistData(<Playlist Id>,[limit number])

Playlist Result

{items:[],metadata:{}}

Get Suggest Data (Promise)

youtubesearchapi.GetSuggestData([limit number])

Suggest Data Result

{items:[]}

Item with Video type will return isLive=[true/false] to identify live video or not.

Get Channel by channel Id (Promise)

youtubesearchapi.GetChannelById(<channel ID>)

Channel Data Results

[
  [ { title: '[title]', content: [Object] } ]
]

Will return tabs in array format.

Get Video Details with suggestion

GetVideoDetails

youtubesearchapi.GetVideoDetails(<video ID>)

Get Video Details Results

{
  title: "",
  isLive: [true/false],
  channel: ",
  description: ",
  suggestion: [
    {id: "",
      type: 'video',
      thumbnail: [],
      title: "",
      channelTitle: "",
      shortBylineText: "",
      length: [Object],
      isLive: [true/false]
    } ...
  ]
}

Will return video details in Json format.

Message

If you want to work with me to fix bug or implement new idea. You are available to send me some new idea of this project.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

TODO

  1. Web app with show case
  2. Support front-end (Vue, React) (Still on going ...)

Bug fixed

Update

  1. Added Get Video Details with suggestion

License

MIT

About

Get Youtube Search result without any login or api key

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%