GET/youtube/captions/{id}apiKey3 credits/request
Returns the caption cues for a YouTube video by its 11-character video id, in the language given by `lang` (ISO 639-1, default `en`). Each cue has its text, start time and duration. Works for both auto-generated and human-written captions.
Required: id. Optional: lang.
Sampled 14 Oct 2026: 520 items. Not in every item: text (500), start (500), duration (500). In the sample: start: 0.4 to 2,346.39, median 1,076.77; duration: 0.08 to 30.45, median 3.12.
Open in Playground
GET/youtube/channel/{id}/playlistsapiKey3 credits/request
Lists the playlists on a YouTube channel's Playlists tab. `id` accepts a channel id, `@handle`, `/c` or `/user` path, or a full channel URL. Each item has its playlist id, title, video count, thumbnail and URL. Pass the returned `continuation_token` back as `continuation_token` to get the next page.
Required: id. Optional: continuation_token.
Sampled 14 Oct 2026: 27 items. Filled in every item: type, position, title, url, thumbnail, channel_title, channel_id, video_count and 1 more. In the sample: position: 1 to 27, median 14; url: youtube.com; thumbnail: i.ytimg.com.
Open in Playground
GET/youtube/channel/{id}/searchapiKey3 credits/request
Searches the videos of one YouTube channel for the required `q`. `id` accepts a channel id, `@handle`, `/c` or `/user` path, or a full channel URL. Items carry the video id, title, URL, duration, view count, published text and thumbnail, and the response echoes the resolved `query`. Page with `continuation_token`.
Required: id, q. Optional: continuation_token.
Sampled 14 Oct 2026: 28 items. Filled in every item: type, position, title, url, thumbnail, video_id, channel_title, channel_id and 7 more. Not in every item: description_snippet (27), badges (14), is_short (3). In the sample: position: 1 to 28, median 14; url: youtube.com; is_verified: true in 28 of 28; description_snippet: median 192 characters; badges: median 1 entry; thumbnail: i.ytimg.com; duration_seconds: 16 to 3,215, median 119; channel_thumbnail: yt3.googleusercontent.com.
Open in Playground
GET/youtube/channel/{id}/shortsapiKey3 credits/request
Returns the first page of Shorts from a YouTube channel's Shorts tab. `id` accepts a channel id, `@handle`, `/c` or `/user` path, or a full channel URL. Each short has its position, video id, title, URL, thumbnail and view count text.
Required: id.
Sampled 14 Oct 2026: 48 items. Filled in every item: position, video_id, title, url, thumbnail, view_count. In the sample: position: 1 to 48, median 24; url: youtube.com; thumbnail: i.ytimg.com.
Open in Playground
GET/youtube/channel/{id}/videosapiKey3 credits/request
Lists the videos on a YouTube channel's Videos tab. `id` accepts a channel id, `@handle`, `/c` or `/user` path, or a full channel URL. Each item has its video id, title, URL, duration, view count, published text, thumbnail, badges and live flag. Pass the returned `continuation_token` to fetch the next page.
Required: id. Optional: continuation_token.
Sampled 14 Oct 2026: 30 items. Filled in every item: type, position, title, url, thumbnail, video_id, duration, duration_seconds and 2 more. In the sample: position: 1 to 30, median 15; url: youtube.com; thumbnail: i.ytimg.com; duration_seconds: 45 to 2,844, median 204.
Open in Playground
GET/youtube/comments/{id}apiKey5 credits/request
Returns one page of comments for a YouTube video by its 11-character `id`. Each comment has its id, content, author `user_name` and `channel_id`, `likes_count`, `reply_count` and `published_time`. Pass the previous response's `continuation_token` to get the next page; leave it empty for the first.
Required: id. Optional: continuation_token.
Sampled 14 Oct 2026: 20 items. Filled in every item: comment_id, content, channel_id, user_name, published_time, reply_count, likes_count. Not in every item: continuation_token (7). In the sample: published_time: 2025-10-13 to 2026-01-16; reply_count: 0 to 33, median 1; likes_count: 1 to 1,800, median 94.
Open in Playground
GET/youtube/playlist/{id}apiKey3 credits/request
Returns a YouTube playlist by playlist id or full playlist URL: title, URL, owning channel, video count and thumbnail, plus its videos with position, title, video id, duration, channel and view count. Pass the returned `continuation_token` to page through longer playlists.
Required: id. Optional: continuation_token.
Sampled 14 Oct 2026: 16 items. Filled in every item: type, position, title, url, thumbnail, video_id, channel_title, channel_id and 4 more. In the sample: position: 1 to 16, median 8; url: youtube.com; thumbnail: i.ytimg.com; duration_seconds: 267 to 1,036, median 659.
Open in Playground
GET/youtube/profile/{id}apiKey3 credits/request
Returns the profile of a YouTube channel by `id`, which can be a channel id, `@handle`, `/c` or `/user` path, bare username or full channel URL. The profile has channel id, name and URL, bio, join date, region, profile picture, links, and `stats` with `followers_count`, `videos_count` and `views_count`.
Required: id.
Sampled 14 Oct 2026: 14 fields returned with a value. In the sample: created_at: 2026-10-13; stats.followers_count: 2,089,999; channel_url: youtube.com; links: 3 entries; updated_at: 2026-10-13; profile_pic: yt3.googleusercontent.com; stats.videos_count: 850; stats.views_count: 277,504,833.
Open in Playground
GET/youtube/searchapiKey3 credits/request
Returns normalized YouTube search results using YouTube's InnerTube search API.
Pass `continuation_token` from a previous response to retrieve the next page.
Use `q` as the primary query parameter; `search_query` is accepted as an alias.
`hl` and `gl` localize ranking and result context; they default to `en` and `US`.
Named filters cover the public web search filters. Account-only chips such as Watched and Unwatched are not exposed.
Optional: q, search_query, continuation_token, type (5 allowed values: video, shorts, channel, playlist, movie), sort_by (5 allowed values: relevance, upload_date, view_count, popularity, rating), upload_date (5 allowed values: last_hour, today, this_week, this_month, this_year), duration (9 allowed values: under_3_minutes, three_to_20_minutes, over_20_minutes, under_3, three_to_20, over_20, short, medium, long), features, hl, gl, params.
Sampled 14 Oct 2026: 20 items. Filled in every item: type, position, title, url, thumbnail, description_snippet. Not in every item: channel_id (18), is_verified (17), handle (1), subscriber_count (1), video_id (19), channel_title (19), duration (19), duration_seconds (19) and 5 more. In the sample: position: 1 to 20, median 10; url: youtube.com; is_verified: true in 17 of 17; description_snippet: median 126 characters; badges: median 1 entry; thumbnail: yt3.ggpht.com and 1 other host; duration_seconds: 71 to 4,496, median 924; channel_thumbnail: yt3.ggpht.com.
Open in Playground
GET/youtube/suggestapiKey1 credit/request
Returns YouTube search-box autocomplete completions for a query prefix, in YouTube's own ranking order.
`hl` and `gl` localize the list; they default to `en` and `US`.
Required: q. Optional: count, hl, gl.
Sampled 14 Oct 2026: 14 items. Filled in every item: position, query. In the sample: position: 1 to 14, median 7.
Open in Playground
GET/youtube/tag/{tag}apiKey3 credits/request
Returns normalized videos from the public YouTube hashtag page for the supplied tag.
Set `type=shorts` to use the Shorts tab, or pass `continuation_token` from a previous response to fetch the next page.
Required: tag. Optional: type (2 allowed values: all, shorts), continuation_token.
Sampled 14 Oct 2026: 29 items. Filled in every item: id, title, published_at, channel_title, channel_id. Not in every item: duration_seconds (28), views_count (28). In the sample: published_at: 0001-01-01; duration_seconds: 156 to 2,850, median 946; views_count: 3,622 to 6,654,607, median 145,575.
Open in Playground
GET/youtube/transcript/{id}apiKey3 credits/request
Returns transcript segments for a YouTube video using YouTube's native player captions.
Set `format=text`, `format=srt`, or `format=vtt` to receive plain-text output instead of the standard response envelope.
Returns `404` when the video currently has no transcript/captions available in any language — this is a normal, non-retryable result, not an error condition.
Returns `503` when the request is temporarily blocked or rate-limited; retrying after a short delay may succeed.
Required: id. Optional: lang, translate_to, format (4 allowed values: json, text, srt, vtt), timestamps.
Sampled 14 Oct 2026: 520 items. Not in every item: text (500), start (500), duration (500). In the sample: start: 0.4 to 2,346.39, median 1,076.77; duration: 0.08 to 30.45, median 3.12.
Open in Playground
GET/youtube/transcript/{id}/languagesapiKey1 credit/request
Lists the transcript languages available for a YouTube video by its 11-character video id. Each entry has the language name and code, whether the track is auto-generated, and whether it can be translated. Use it to pick a language before requesting a transcript.
Required: id.
Sampled 14 Oct 2026: 2 items. Filled in every item: language, language_code, is_generated, is_translatable. In the sample: is_generated: true in 1 of 2; is_translatable: true in 2 of 2.
Open in Playground
GET/youtube/video/{id}apiKey3 credits/request
Returns the metadata of a YouTube video by its 11-character `id`: title, description, channel id and title, publication time, duration in seconds, and view, like and comment counts. Some fields are best-effort.
Required: id.
Sampled 14 Oct 2026: 10 fields returned with a value. In the sample: published_at: 2025-06-18; duration_seconds: 2,423; description: 610 characters; views_count: 595,342; likes_count: 12,000; comments_count: 1,500.
Open in Playground