Social platformsLive

YouTube API for AI agents

Search YouTube and fetch channel and video metadata with subscriber, view and like counts, comments, captions, playlists and trending.

Using ChatGPT, Claude Code or another client? See the setup steps

Agent workflows

Use YouTube records as evidence, not glue code.

UnifAPI keeps the public YouTube surface discoverable through MCP and callable over HTTP. Agents can inspect the schema, fetch only the records needed for the task, and return the result with request, pagination, and billing metadata intact.

Search YouTube, fetch channel and video metadata, browse related videos, and inspect trending content from one API surface.

Support creator research, channel benchmarking, market monitoring, and topic discovery Skills with live video and channel records.

Resolve channel identifiers and video ids into canonical data that can be joined with TikTok, X, Reddit, LinkedIn, or Instagram evidence.

Run it

Agents & Skills that use the YouTube API

You rarely call an API by hand. These prebuilt agents and skills already read YouTube records inside Claude or Codex — start from one of them, or call the endpoints below yourself.

Endpoints

19 ready-to-call endpoints

GET/youtube/channels/{channel_id}$min $0.001

Get a YouTube channel by id

Return a YouTube channel's profile by its `UC…` channel ID, including title, handle, description, subscriber count, banner art, topic keywords, and external links. Useful as the entry point for any channel-level research or competitive analysis.

Details →
GET/youtube/channels/{channel_id}/community$min $0.001

List a YouTube channel's community posts

Return a YouTube channel's community-tab posts, by its `UC…` channel ID, as a cursor-paginated list — text, like and reply counts, and attachment kind. Useful for tracking creator announcements and audience engagement outside of videos.

Details →
GET/youtube/channels/{channel_id}/playlists$min $0.001

List playlists created by a YouTube channel

Return the playlists a YouTube channel has published, by its `UC…` channel ID, as a cursor-paginated list. Useful for mapping how a creator organizes their catalog into series and collections.

Details →
GET/youtube/channels/{channel_id}/search$min $0.001

Search within a YouTube channel

Search a single YouTube channel's videos by keyword, by its `UC…` channel ID, as a cursor-paginated list. Useful for finding a creator's coverage of a specific topic without scanning their whole catalog.

Details →
GET/youtube/channels/{channel_id}/shorts$min $0.001

List Shorts uploaded by a YouTube channel

Return the Shorts uploaded by a YouTube channel, by its `UC…` channel ID, as a cursor-paginated list. Useful for tracking a creator's short-form output and posting cadence.

Details →
GET/youtube/channels/{channel_id}/videos$min $0.001

List videos uploaded by a YouTube channel

Return the videos uploaded by a YouTube channel, by its `UC…` channel ID, as a cursor-paginated list. Useful for profiling a channel's catalog, monitoring uploads, or building an archive.

Details →
GET/youtube/hashtags/{tag}/videos$min $0.001

List videos for a YouTube hashtag

Return the videos YouTube surfaces for a hashtag, by tag (with or without a leading `#`), as a cursor-paginated list. Useful for tracking a campaign or trend across creators.

Details →
GET/youtube/playlists/{playlist_id}$min $0.001

Get a YouTube playlist by id

Return a YouTube playlist's details by its `PL…` playlist ID — title, description, owner channel, video and view counts, and last-updated time. Useful as the entry point before listing the playlist's videos.

Details →
GET/youtube/playlists/{playlist_id}/videos$min $0.001

List videos in a YouTube playlist

Return the videos in a YouTube playlist, by its `PL…` playlist ID, as a cursor-paginated list in playlist order. Useful for ingesting a curated series or course in sequence.

Details →
GET/youtube/resolve/channel-id$min $0.001

Resolve a YouTube channel URL to its UC… channel id

Resolve any YouTube channel URL form (`@handle`, `/c/`, or `/channel/`) into its canonical `UC…` channel ID. A lookup helper — useful for normalizing links before calling channel-level endpoints.

Details →
GET/youtube/search$min $0.001

Search YouTube videos by keyword

Search YouTube videos by keyword, with optional sort, upload-date, duration, region, and language filters. Returns matching videos with title, channel, and view count. Useful for topic research, competitive monitoring, and content-gap analysis.

Details →
GET/youtube/search/channels$min $0.001

Search YouTube channels by keyword

Search YouTube channels by keyword, returning matching channels with handle, description, and subscriber count. Useful for discovering creators in a niche and building competitor sets.

Details →
GET/youtube/search/playlists$min $0.001

Search YouTube playlists by keyword

Search YouTube playlists by keyword, returning matching playlists with owner channel and video count. Useful for finding curated collections and series on a topic.

Details →
GET/youtube/trending$min $0.001

Browse YouTube's trending videos

Return YouTube's country-aware trending videos, optionally scoped to a section (now, music, gaming, or movies). Useful for tracking what is gaining traction in a given market and timing content to live interest.

Details →
GET/youtube/videos/{video_id}$min $0.001

Get a YouTube video by id

Return a single YouTube video's details by its video ID — title, description, channel, duration, category, publish time, and view and like counts. Useful for hydrating a known video or checking its current engagement.

Details →
GET/youtube/videos/{video_id}/captions$min $0.001

List a YouTube video's caption tracks

Return the caption/subtitle tracks available for a YouTube video, by video ID — language, a timed-text url per track, and the languages YouTube can auto-translate into. Useful for transcript pipelines and accessibility tooling.

Details →
GET/youtube/videos/{video_id}/comments$min $0.001

List comments on a YouTube video

Return the comments on a YouTube video, by video ID, as a cursor-paginated list — author, text, like and reply counts. Sort by top (default) or newest. Useful for audience sentiment, FAQ mining, and creator feedback analysis.

Details →
GET/youtube/videos/{video_id}/related$min $0.001

List YouTube videos related to a given video

Return the videos YouTube recommends as related to a given video, by video ID. Useful for mapping a topic's surrounding content and discovering adjacent creators.

Details →
GET/youtube/videos/{video_id}/transcript$min $0.001

Get a YouTube video's transcript

Return the transcript text for a YouTube video, by video ID, as ordered timestamped segments plus a concatenated plain-text field. Picks the caption track for the requested `lang` (default English, then the first available track), fetches its timed-text and parses it server-side. Returns 404 when the video has no captions.

Details →