YTAPI
Transcrições do YouTube, detalhes de vídeos, busca, uploads de canais e playlists para agentes de IA. Servidor MCP remoto com login OAuth ou chave de API.
Servidor MCP hospedado
npx add-mcp 'https://api.ytapi.dev/mcp'Instala no Claude Code, Codex, Cursor e outros
Documentação
Configuração de Agentes de IA e Ferramentas
YTAPI fornece documentação legível por máquina e ferramentas de integração para assistentes de codificação de IA, pipelines de LLM e clientes do Model Context Protocol (MCP).
Endpoints Legíveis por Máquina [#machine-readable-endpoints]
Para LLMs e agentes que precisam buscar documentação em janelas de contexto sem analisar HTML pesado:
| Recurso | URL | Descrição |
|---|---|---|
| Índice LLMs | https://docs.ytapi.dev/llms.txt | Manifesto compatível com especificações de todas as páginas de documentação com descrições curtas. |
| Dump Completo de LLMs | https://docs.ytapi.dev/llms-full.txt | Documento Markdown único concatenado contendo toda a documentação da plataforma. |
| MDX de Página Bruta | https://docs.ytapi.dev/{slug}.mdx | Anexe .mdx a qualquer URL de documentação para recuperar Markdown bruto e limpo. |
curl -s https://docs.ytapi.dev/llms-full.txt
Model Context Protocol (MCP) [#model-context-protocol-mcp]
YTAPI executa um servidor MCP remoto. Não há nada para instalar: aponte seu cliente para a URL e faça login na sua conta YTAPI quando o cliente solicitar, ou envie sua chave de API.
| URL | https://api.ytapi.dev/mcp |
| Transporte | HTTP Streamable |
| Autenticação | Login OAuth, ou Authorization: Bearer <YOUR_API_KEY> |
| Cobrança | Mesmos créditos da API REST. Conectar e listar ferramentas é gratuito. |
Ainda não tem chave? O agente pode criar a conta para seu usuário: veja Cadastro de agente.
Claude (claude.ai e Claude Desktop) [#claude-claudeai-and-claude-desktop]
Adicione YTAPI como um conector personalizado. Nenhuma chave de API é necessária, e planos gratuitos do Claude podem adicionar um conector personalizado:
- Abra Personalizar → Conectores (também acessível em Configurações → Conectores), clique em + Adicionar e depois Adicionar conector personalizado.
- Insira
https://api.ytapi.dev/mcpe clique em Conectar. - Faça login no YTAPI, ou crie uma conta (200 créditos gratuitos, sem cartão), e clique em Permitir.
Depois, pergunte ao Claude sobre qualquer vídeo, canal ou playlist do YouTube. As solicitações usam os créditos da sua conta e aparecem em Uso. Para desconectar o Claude, revogue o aplicativo conectado "Claude" em Chaves de API.
Claude Code [#claude-code]
Instale o plugin YTAPI, que adiciona o servidor e habilidades para resumos, resumos de canais e pesquisa de tópicos:
/plugin marketplace add ytapi/youtube-skills
/plugin install ytapi@ytapi
Depois execute /mcp, escolha plugin:ytapi:ytapi e selecione Autenticar para fazer login. Se o Claude Code estiver conectado com uma conta claude.ai que já tem o conector YTAPI, o conector aparece sozinho.
Para usar uma chave de API em vez disso:
claude mcp add --transport http ytapi https://api.ytapi.dev/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Codex [#codex]
Exporte sua chave e registre o servidor:
export YTAPI_KEY=YOUR_API_KEY
codex mcp add ytapi --url https://api.ytapi.dev/mcp --bearer-token-env-var YTAPI_KEY
Ou adicione ao ~/.codex/config.toml você mesmo:
[mcp_servers.ytapi]
url = "https://api.ytapi.dev/mcp"
bearer_token_env_var = "YTAPI_KEY"
Cursor [#cursor]
Adicione ao ~/.cursor/mcp.json (todos os projetos) ou .cursor/mcp.json (um projeto):
{
"mcpServers": {
"ytapi": {
"url": "https://api.ytapi.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code [#vs-code]
Adicione ao .vscode/mcp.json. O VS Code solicita a chave uma vez e a armazena com segurança:
{
"inputs": [
{
"type": "promptString",
"id": "ytapi-key",
"description": "YTAPI API key",
"password": true
}
],
"servers": {
"ytapi": {
"type": "http",
"url": "https://api.ytapi.dev/mcp",
"headers": { "Authorization": "Bearer ${input:ytapi-key}" }
}
}
}
Google Antigravity [#google-antigravity]
Adicione ao ~/.gemini/config/mcp_config.json (todos os workspaces) ou .agents/mcp_config.json (um workspace). O Antigravity lê serverUrl, não url:
{
"mcpServers": {
"ytapi": {
"serverUrl": "https://api.ytapi.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
OpenClaw [#openclaw]
Adicione o servidor em mcp.servers na sua configuração do OpenClaw:
{
mcp: {
servers: {
ytapi: {
url: "https://api.ytapi.dev/mcp",
transport: "streamable-http",
enabled: true,
headers: { Authorization: "Bearer YOUR_API_KEY" }
}
}
}
}
Mantenha a chave no armazenamento secreto do OpenClaw em vez de no arquivo onde você pode.
Outros clientes somente stdio [#other-stdio-only-clients]
Faça a ponte para o servidor remoto com mcp-remote (requer Node.js):
{
"mcpServers": {
"ytapi": {
"command": "npx",
"args": [
"-y", "mcp-remote", "https://api.ytapi.dev/mcp",
"--header", "Authorization:${AUTH_HEADER}"
],
"env": { "AUTH_HEADER": "Bearer YOUR_API_KEY" }
}
}
}
Ferramentas [#tools]
| Ferramenta | O que faz | Créditos |
|---|---|---|
get_transcript | Legendas de um vídeo como Markdown (com timestamps) ou texto simples. Aceita um ID de vídeo ou qualquer URL do YouTube, incluindo Shorts. | 1 para a primeira página; páginas posteriores da mesma transcrição são gratuitas por 30 minutos |
get_video_info | Título, canal, duração e os idiomas de legenda que um vídeo possui. | 0 |
search_youtube | Pesquisar vídeos, canais, playlists ou Shorts. | 1 por página |
get_channel_videos | Uploads de um canal, mais recentes primeiro por padrão. Aceita um handle, ID de canal ou URL. | 1 por página |
get_playlist_videos | Detalhes e vídeos de uma playlist, página por página. | 1 por página |
Transcrições longas retornam em páginas de 40.000 caracteres (defina max_chars até 100.000). Quando houver mais conteúdo, o resultado termina com o offset para passar na próxima chamada. Erros, como um vídeo sem legendas, são retornados como erros de ferramenta e não custam nada.
Modo de Código e Chamada de Funções [#code-mode--function-calling]
Ao orquestrar pipelines de extração via chamada de ferramentas OpenAI, Anthropic ou Gemini, forneça o JSON Schema diretamente:
{
"name": "fetch_youtube_transcript",
"description": "Extract subtitles or transcripts from any YouTube video in structured Markdown or SRT.",
"parameters": {
"type": "object",
"properties": {
"video_id": {
"type": "string",
"description": "11-character YouTube video ID"
},
"format": {
"type": "string",
"enum": ["markdown", "text", "srt", "vtt", "word_timestamps"],
"default": "markdown"
}
},
"required": ["video_id"]
}
}
Habilidades da Plataforma e Prompts de Sistema [#platform-skills--system-prompts]
Regras do Cursor (.cursorrules) [#cursor-rules-cursorrules]
Adicione esta regra de prompt ao seu projeto para instruir o Cursor sobre como consultar transcrições do YouTube:
# YTAPI guidelines
When writing code that extracts YouTube subtitles or transcripts:
1. Always use `https://api.ytapi.dev/v1/transcripts` with `Authorization: Bearer $YT_API_KEY`.
2. For LLM summaries or context injection, specify `"format": "markdown"`.
3. For video subtitle synchronizing, specify `"format": "word_timestamps"` with `"word_level": true`.
4. Check `X-Cache` response headers (`HIT` or `MISS`) to measure latency.
5. Refer to complete documentation at `https://docs.ytapi.dev/llms.txt`.