YouTube Data Skill
Leia dados públicos do YouTube via UnifAPI MCP: operações youtube/..., respostas e limites de cobertura para pesquisar canais. Nunca envia vídeos.
Nativa para agents
Rode-a no Claude, em apps de MCP personalizados do ChatGPT, no OpenClaw, no Hermes, no Codex, no Claude Code, no Cursor, no VS Code ou em outro cliente compatível com MCP. Sem fluxo de GUI dedicado e sem chave de API de LLM separada.
Respaldada por dados públicos ao vivo
Cada passo é fundamentado em registros de dados públicos ao vivo que a UnifAPI retorna, então a saída cita o que de fato está ranqueando, postando ou sendo dito — não uma lista genérica de boas práticas.
Composável e open source
As Skills fazem referência cruzada umas às outras e vivem em um repositório público no estilo MIT. Leia o SKILL.md completo no GitHub, faça um fork ou rode-o como está dentro do seu agent.
Cole isto no Codex ou Claude Code
O prompt é intencionalmente editável. Substitua os handles, o mercado, o orçamento e o objetivo da campanha, e então deixe o agent chamar o MCP da UnifAPI quando precisar de dados públicos ao vivo.
Using the YouTube Data Skill, research who owns the topic "AI coding tools": search videos and channels, read their subscriber and view counts, and pull related videos for demand. Return a cited brief on the strongest channels. Read-only.
A skill completa, renderizada a partir do seu SKILL.md
O caminho de leitura determinístico para dados públicos do YouTube via UnifAPI. Este é
um Data Skill: ele não executa um trabalho de marketing por conta própria — ele nomeia as
operações youtube/... concretas, os formatos de resposta e os limites reais de cobertura
para que qualquer fluxo de trabalho voltado a canais ou conteúdo (vetting de criadores, recepção de
concorrentes, demanda de conteúdo) leia a partir de uma receita conhecida em vez de redescobrir
a superfície a cada vez.
Somente leitura — olhos, não mãos. Ele pesquisa dados públicos do YouTube e retorna registros citados; ele nunca faz upload, comenta ou se inscreve, e a UnifAPI nunca guarda credenciais do YouTube.
Use o skill unifapi para evidências ao vivo
Conecte-se uma vez através do skill compartilhado unifapi (OAuth MCP) e depois chame as
operações abaixo. Canais são indexados por {channel_id} e vídeos por
{video_id} — resolva primeiro um handle ou uma URL para um channel id (veja Pegadinhas).
Preserve qualquer metadado de billing para que a saída possa informar o custo por registro.
Contrato de resposta
Endpoints de entidade única retornam o objeto em data:
{
"request_id": "unif_...",
"data": {},
"billing": { "records_charged": 1, "balance_remaining": 99 }
}
Endpoints de lista retornam um array em data mais pagination:
{
"request_id": "unif_...",
"data": [],
"pagination": { "has_more": false, "next_cursor": null },
"billing": { "records_charged": 1 }
}
Quando pagination.has_more for verdadeiro, passe pagination.next_cursor como o cursor da próxima
requisição. Sempre preserve billing ao informar o custo.
Operações principais
| 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 |
Precisa de um campo que não está listado aqui? Use o get_operation do skill unifapi para ler
o schema exato antes de chamar — mas escolha a operação a partir desta tabela, não
descubra às cegas.
Fluxo de trabalho
As receitas determinísticas. Escolha a que corresponde ao trabalho; cada uma nomeia exatamente o que chamar.
- Enquadre a consulta. Chame
youtube/search?q=...para quem domina um tópico, ouyoutube/trendingpara o que está surgindo agora. - Resolva um canal. Chame
youtube/resolve/channel-id?url=...para obter ochannel_ide depoisyoutube/channels/{channel_id}parasubscriber_count,video_counteview_count. - Leia a produção de um canal. Chame
youtube/channels/{channel_id}/videos(e.../shorts); oview_countde cada vídeo é o sinal de demanda. Pagine vianext_cursor.youtube/channels/{channel_id}/playlistsmapeia como o catálogo está organizado;youtube/channels/{channel_id}/communitylê anúncios e engajamento fora dos vídeos;youtube/channels/{channel_id}/search?q=...encontra a cobertura de um criador sobre um tópico sem varrer o catálogo inteiro. - Leia um vídeo e sua vizinhança. Chame
youtube/videos/{video_id}para os metadados (agora incluindolike_count,category,published_at,has_captions) e depoisyoutube/videos/{video_id}/relatedpara mapear a demanda adjacente e o conteúdo concorrente. - Leia a audiência e a transcrição. Chame
youtube/videos/{video_id}/comments(sort_bytop/newest) para o que a audiência diz — texto bruto dos comentários, contagens de like e reply; qualquer agrupamento de sentimento ou FAQ é você quem calcula, a API retorna apenas texto. Chameyoutube/videos/{video_id}/captionspara as faixas de legenda (url de timed-text por idioma) para ler ou analisar a transcrição. - Percorra uma playlist ou hashtag. Chame
youtube/playlists/{playlist_id}e depois.../videospara ingerir uma série curada em ordem;youtube/hashtags/{tag}/videosacompanha uma campanha ou tendência entre criadores. - Dimensione a demanda de um tópico. Agregue
view_countentre os resultados de busca e relacionados de um tópico;title,descriptionekeywordsmostram como o tópico é enquadrado. - Cite tudo. Cada número remete ao vídeo ou canal de onde veio;
informe
billing.records_charged(ou estime quando o metadado de billing estiver ausente).
Notas de formato
YouTubeChannel— indexado por{channel_id}.subscriber_count,video_count,view_count,handle,keywords,links,country,created_at.is_verifiednão é populado pelo upstream e é semprefalse— não informe uma verificação que você não consegue ler.YouTubeVideo— indexado por{video_id}.view_count,like_count(best-effort;0quando o criador o oculta),category,channel_id,author,duration_seconds,keywords,published_at,has_captions,is_live,is_private.YouTubeVideoPreview— linhas de search/related/list: adicionapublished_time.categoryfaz parte do formato mas está vazio nas linhas de lista (somente o detalheYouTubeVideoo carrega).YouTubeComment—text,author,author_channel_id,like_count,reply_count,published_time,is_verified,is_creator. Apenas texto — sem campo de sentimento.YouTubeCaptions—video_id,tracks[](language_code, url de timed-texturl,is_translatable),translation_languages[]. Objeto único, cobrado como um registro. As urls das faixas têm tempo limitado.YouTubePlaylist/YouTubePlaylistPreview— playlisttitle,channel_id,author,video_count(o detalhe adicionaview_count,last_updated; o preview adicionafirst_video_id).YouTubeChannelPreview— linhas de search-channels:title,handle,description,subscriber_count,video_count.YouTubeCommunityPost—text,author,vote_count,reply_count,attachment_type,image_url.
Pegadinhas
- O resolve só chega a channel ids.
youtube/resolve/channel-id?url=...resolve um handle ou URL para um{channel_id}— chame-o antes de qualquer chamadayoutube/channels/{channel_id}/.... Não há resolver de video- ou playlist-id; passe um{video_id}/{playlist_id}conhecido (extraia-o você mesmo da URL). - Comentários são texto bruto.
youtube/videos/{video_id}/commentsretorna o texto do comentário mais contagens de like/reply — sem sentimento, sem agrupamento de FAQ. Calcule isso você mesmo a partir do texto; não afirme um campo de sentimento que a API não retorna. like_counté best-effort.YouTubeVideo.like_counté0quando o criador oculta os likes — trate0como "oculto ou nenhum", não como autoritativo.is_verifiedé semprefalsepara canais (o upstream não o expõe) — não informe a verificação de canal.- As legendas podem estar vazias. Um vídeo com legendas desativadas retorna
tracks: []; verifique antes de prometer uma transcrição. As urls das faixas têm tempo limitado. - Hashtags aceitam a tag com ou sem um
#inicial (youtube/hashtags/lofi/videos). - Um saldo baixo pode truncar silenciosamente as páginas de lista: verifique
billing.truncated_due_to_balance— quando verdadeiro, a página está parcial.
Saída
Retorne os registros de que o fluxo de trabalho chamador precisa, cada um citado ao seu vídeo ou
canal, mais uma nota de custo de uma linha (records_charged). Quando este skill é usado
diretamente, um resumo compacto de demanda é o padrão:
**{Channel}** — {subscribers} subscribers, {videos} videos, {totalViews} views. Top videos for {topic}: {title} ({views} views). Related/competitors: {channels}. Evidence: {URLs}. Records: ~{N}.
Skills relacionados
- kol-pricing, creator-shortlist, audience-fit-check (Influencer Marketing) — precifique e avalie canais do YouTube sobre este caminho de leitura.
- competitor-profiling (Competitive Intelligence), content-opportunity-brief (Content Strategy) — trabalho de recepção e demanda de conteúdo que lê o YouTube primeiro.
- unifapi — o data skill compartilhado: conecte o MCP e consulte os schemas exatos com
get_operation.
Fonte: youtube/SKILL.md no GitHub — abra um PR lá para melhorá-la.
As APIs ao vivo que esta skill chama
Toda operação que a skill cita é uma destas plataformas da UnifAPI — ainda visível e chamável para código de produto, depuração e fluxos de agent personalizados.
- As operações `youtube/...` concretas para cada tarefa comum de leitura de canal/vídeo
- Notas sobre o contrato de resposta e o formato para canais e vídeos (contagem de visualizações)
- Receitas determinísticas: resolver canais, ler a demanda, encontrar conteúdo relacionado
- Armadilhas da plataforma (sem listagem de comentários, sinal de view_count, paginação por cursor)