It has been almost 5 years since YouTube rolled out Official Artist Channel. I'm surprised that this is not supported anywhere in the YouTube Data API.
What I'm trying to achieve is simple: Given a channel ID of an Official Artist Channel, retrieve all videos of the artist available on its page.
The typical solution to this problem would be to fetch a list of videos that has the channel ID:
search = build_youtube_api().search()
request = search.list(
part="snippet",
channelId=self.id,
maxResults=50,
order="date",
type="video",
)
# and then keep calling list_next() until reaching the end
The problem is that this method only lists some of the videos, while other videos listed on the page are still linked to the original channel before the combination.
For instance, Adele - I Drink Wine is listed on Adele's official artist channel with a channel ID of UCsRM0YB_dabtEPGPTKo-gcw
. However, the video can not be fetched with the method above since the channel of that video is UComP_epzeKzvBX156r6pm1Q
, which is AdeleVEVO.
Another method I tried is to use a hacky way mentioned here, to find all channels that have been combined, then combine uploaded video from these channels. Sadly, this is also not working since not all artist put their old channels into the Featured Channels list (more horribly, some even place other unrelated artists in this section, which complicates the situation).
Moreover, there is no known method to distinguish whether a channel is an official artist channel or a regular video channel.
TL;DR for the API engineers: We need more granular API fields to support usage related to Official Artist Channel and music channels.