How to search content across multiple channel in youtube api?

Question:

I want to search youtube videos in a list of channels. In the code below, I am able to pass only one “Channelid” to the youtube api. Is there a way to pass multiple channel Ids ??

def youtube_search(options):
  youtube = build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
    developerKey=DEVELOPER_KEY)

  # Call the search.list method to retrieve results matching the specified
  # query term.
  search_response = youtube.search().list(
    q=options.q,
    part="id,snippet",
    maxResults=options.max_results,
    channelId=options.channelId
  ).execute() 
Asked By: Mayank

||

Answers:

You can not add comma separated channels here. Either you can leave it blank to search all channels, or you can have a request per each channel and merge results. There is no multichannel search API.

Answered By: Ibrahim Ulukaya

As @Ibrahim has pointed out searching with multiple ChannelIDs is not possible. What can be done instead is do a search with no ChannelIDs at all. Each video result that you get will have the ChannelID for each of it. So you can loop through the result for items with your preferred list of channelIDs, and the matching ones can thus be filter.

Answered By: Harish Mohanan

Has anybody found a better solution for this yet?

Answered By: Dan Costa