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:

RecursoURLDescrição
Índice LLMshttps://docs.ytapi.dev/llms.txtManifesto compatível com especificações de todas as páginas de documentação com descrições curtas.
Dump Completo de LLMshttps://docs.ytapi.dev/llms-full.txtDocumento Markdown único concatenado contendo toda a documentação da plataforma.
MDX de Página Brutahttps://docs.ytapi.dev/{slug}.mdxAnexe .mdx a qualquer URL de documentação para recuperar Markdown bruto e limpo.
Em agentes baseados em bash (ex.: Claude Code, Codex, Aider), busque a referência completa da API com:
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.

URLhttps://api.ytapi.dev/mcp
TransporteHTTP Streamable
AutenticaçãoLogin OAuth, ou Authorization: Bearer <YOUR_API_KEY>
CobrançaMesmos 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:

  1. Abra Personalizar → Conectores (também acessível em Configurações → Conectores), clique em + Adicionar e depois Adicionar conector personalizado.
  2. Insira https://api.ytapi.dev/mcp e clique em Conectar.
  3. 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]

FerramentaO que fazCréditos
get_transcriptLegendas 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_infoTítulo, canal, duração e os idiomas de legenda que um vídeo possui.0
search_youtubePesquisar vídeos, canais, playlists ou Shorts.1 por página
get_channel_videosUploads de um canal, mais recentes primeiro por padrão. Aceita um handle, ID de canal ou URL.1 por página
get_playlist_videosDetalhes 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`.