Using the API

What works on YouTube only

The listing options only YouTube offers: channel tabs, sort orders and in-channel search, search filters, and channel and playlist search.

Listing reaches beyond YouTube. Channel or profile listing and keyword search support YouTube, TikTok, and Instagram, and playlist listing supports YouTube and TikTok:

  • POST /api/v2/transcripts/channel - a channel's or profile's videos, newest first
  • POST /api/v2/transcripts/playlist - a playlist's videos
  • POST /api/v2/transcripts/search - find videos by keyword

They return video metadata lists, not transcripts. Fetch the transcripts you want afterwards, individually or in a batch.

The options only YouTube takes

YouTube exposes more to list than the other platforms, so these options apply to YouTube alone. Sent with a TikTok or Instagram listing, they are refused with 400 invalid_request.

On /channel:

  • tab - videos (the default), shorts, live (past and upcoming streams), or playlists and podcasts, which list the channel's playlists instead of its videos
  • sort - newest (the default), popular or oldest, on the three video tabs
  • query - search inside the channel and return its matching videos (leave tab and sort unset)

On /search:

  • type - video (the default), channel or playlist
  • upload_date - hour, today, week, month or year
  • duration - short (under 4 minutes), medium (4 to 20) or long (over 20)
  • sort - relevance (the default) or views. YouTube no longer sorts search results by upload date, so use upload_date for recent videos.
  • captions: true - only videos with subtitles or closed captions

Playlists come back as data.kind: "playlist_list" and channels as "channel_list", and every row's url goes straight to the playlist or channel endpoint. Over MCP, the search_channels and list_channel_playlists tools cover YouTube alone for the same reason. The endpoint reference lists every field.

Pagination

List endpoints return up to limit rows per page (1-50, default 5) plus a next_cursor. Echo that cursor back as cursor for the next page.

Still stuck?

Open the chat launcher, bottom right, and include your request_id if you have one. Or email [email protected].