Skip to content
Marketing
Skill

/youtube

When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and

BOOST
From plugin
unifapi
59247 skills1 MCP
Install
$ npx -y skills add unifapi-agent/agents --skill youtube --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/youtube

Context preview

The summary Claude sees to decide when to auto-load this skill.

When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and

SKILL.md

youtube.SKILL.md
name: youtube
description: When a workflow needs public YouTube data through UnifAPI — channel, video, and playlist metadata, subscriber/view/like counts, video comments, caption tracks, channel community posts, related and trending videos, hashtag videos, and search across videos, channels, and playlists. Also use on "who owns this topic on YouTube," "pull this channel's videos," "YouTube view counts," "what are commenters saying," "get this video's captions/transcript," "this channel's playlists," or when another skill (creator vetting, competitor reception, content demand) needs the deterministic YouTube read path. Connect via the `unifapi` skill first. Read-only research, never uploads.
license: MIT
metadata:
  author: UnifAPI
  version: "1.0.0"
  homepage: https://unifapi.com/agents/youtube
  source: https://github.com/unifapi-agent/agents

youtube

The deterministic read path for public **YouTube** data through UnifAPI. This is a **Data Skill**: it does not run a marketing job on its own — it names the concrete `youtube/...` operations, response shapes, and the real coverage limits so any channel- or content-first workflow (creator vetting, competitor reception, content demand) reads from one known recipe instead of rediscovering the surface each time.

Read-only — **eyes, not hands**. It researches public YouTube data and returns cited records; it never uploads, comments, or subscribes, and UnifAPI never holds YouTube credentials.

Use the `unifapi` skill for live evidence

Connect once through the shared **`unifapi`** skill (OAuth MCP), then call the operations below. Channels are keyed by **`{channel_id}`** and videos by **`{video_id}`** — resolve a handle or URL to a channel id first (see Gotchas). Keep any `billing` metadata so the output can state record cost.

Response contract

Single-entity endpoints return the object in `data`:

{
  "request_id": "unif_...",
  "data": {},
  "billing": { "records_charged": 1, "balance_remaining": 99 }
}

List endpoints return an array in `data` plus `pagination`:

{
  "request_id": "unif_...",
  "data": [],
  "pagination": { "has_more": false, "next_cursor": null },
  "billing": { "records_charged": 1 }
}

When `pagination.has_more` is true, pass `pagination.next_cursor` as the next request's `cursor`. Always preserve `billing` when reporting cost.

Core operations

| Need | Operation | | --------------------------- | -------------------------------------------------------------------------------------------- | | Search videos | `youtube/search` (`?q=...`, optional `sort_by`/`upload_date`/`duration`/`region`/`language`) | | Search channels / playlists | `youtube/search/channels` · `youtube/search/playlists` (`?q=...`) | | Trending | `youtube/trending` (optional `type` = now/music/gaming/movies) | | Hashtag videos | `youtube/hashtags/{tag}/videos` | | Resolve handle/URL → id | `youtube/resolve/channel-id` (`?url=...`) | | Channel page | `youtube/channels/{channel_id}` | | Channel videos / shorts | `youtube/channels/{channel_id}/videos` · `.../shorts` | | Channel playlists | `youtube/channels/{channel_id}/playlists` | | Channel community posts | `youtube/channels/{channel_id}/community` | | Search within a channel | `youtube/channels/{channel_id}/search` (`?q=...`) | | Video metadata | `youtube/videos/{video_id}` | | Related videos | `youtube/videos/{video_id}/related` | | Video comments | `youtube/videos/{video_id}/comments` (optional `sort_by` = top/newest) | | Video captions / transcript | `youtube/videos/{video_id}/captions` | | Playlist page / videos | `youtube/playlists/{playlist_id}` · `.../videos` |

Need a field not listed here? Use the `unifapi` skill's `get_operation` to read the exact schema before calling — but pick the operation from this table, don't discover blind.

Workflow

The deterministic recipes. Pick the one that matches the job; each names exactly what to call.

1. **Frame the query.** Call `youtube/search?q=...` for who owns a topic, or `youtube/trending` for what's surging now. 2. **Resolve a channel.** Call `youtube/resolve/channel-id?url=...` to get the `channel_id`, then `youtube/channels/{channel_id}` for `subscriber_count`, `video_count`, and `view_count`. 3. **Read a channel's output.** Call `youtube/channels/{channel_id}/videos` (and `.../shorts`); each video's `view_count` is the demand signal. Page via `next_cursor`. `youtube/channels/{channel_id}/playlists` maps how the catalog is organized; `youtube/channels/{channel_id}/community` reads announcements and engagement outside videos; `youtube/channels/{channel_id}/search?q=...` finds a creator's coverage of one topic without scanning the whole catalog. 4. **Read a video and its neighborhood.** Call `youtube/videos/{video_id}` for metadata (now including `like_count`, `category`, `published_at`, `has_captions`), then `youtube/videos/{video_id}/related` to map adjacent demand and competing content. 5. **Read audience and transcript.** Call `youtube/videos/{video_id}/comments` (`sort_by` top/newest) fo

Read more
Ships withunifapi

Open-source marketing agents for Claude, ChatGPT, Codex, OpenClaw, Hermes, and any MCP client.

Get the whole plugin

Other skills on unifapi.