YTAPI
Transcripciones de YouTube, detalles de videos, búsqueda, subidas de canales y listas de reproducción para agentes de IA. Servidor MCP remoto con inicio de sesión OAuth o clave API.
Servidor MCP alojado
npx add-mcp 'https://api.ytapi.dev/mcp'Se instala en Claude Code, Codex, Cursor y más
Documentación
Configuración de Agentes de IA y Herramientas
YTAPI proporciona documentación legible por máquina y herramientas de integración para asistentes de codificación con IA, pipelines de LLM y clientes del Model Context Protocol (MCP).
Endpoints Legibles por Máquina [#machine-readable-endpoints]
Para LLMs y agentes que necesitan obtener documentación en ventanas de contexto sin analizar HTML pesado:
| Recurso | URL | Descripción |
|---|---|---|
| Índice LLMs | https://docs.ytapi.dev/llms.txt | Manifiesto compatible con especificaciones de todas las páginas de documentación con descripciones breves. |
| Volcado Completo LLMs | https://docs.ytapi.dev/llms-full.txt | Documento Markdown único concatenado que contiene toda la documentación de la plataforma. |
| MDX de Página Cruda | https://docs.ytapi.dev/{slug}.mdx | Agrega .mdx a cualquier URL de documentación para recuperar Markdown crudo y limpio. |
curl -s https://docs.ytapi.dev/llms-full.txt
Model Context Protocol (MCP) [#model-context-protocol-mcp]
YTAPI ejecuta un servidor MCP remoto. No hay nada que instalar: apunta tu cliente a la URL, luego inicia sesión en tu cuenta de YTAPI cuando el cliente lo solicite, o envía tu clave de API.
| URL | https://api.ytapi.dev/mcp |
| Transporte | HTTP Streamable |
| Autenticación | Inicio de sesión OAuth, o Authorization: Bearer <YOUR_API_KEY> |
| Facturación | Mismos créditos que la API REST. Conectar y listar herramientas es gratuito. |
¿Aún no tienes clave? El agente puede crear la cuenta para su usuario: consulta Registro de agente.
Claude (claude.ai y Claude Desktop) [#claude-claudeai-and-claude-desktop]
Agrega YTAPI como conector personalizado. No se necesita clave de API, y los planes gratuitos de Claude pueden agregar un conector personalizado:
- Abre Personalizar → Conectores (también accesible desde Configuración → Conectores), haz clic en + Agregar, luego Agregar conector personalizado.
- Ingresa
https://api.ytapi.dev/mcpy haz clic en Conectar. - Inicia sesión en YTAPI, o crea una cuenta (200 créditos gratuitos, sin tarjeta), luego haz clic en Permitir.
Luego pregunta a Claude sobre cualquier video, canal o lista de reproducción de YouTube. Las solicitudes usan los créditos de tu cuenta y aparecen en Uso. Para desconectar Claude, revoca la aplicación conectada "Claude" en Claves de API.
Claude Code [#claude-code]
Instala el plugin de YTAPI, que agrega el servidor y habilidades para resúmenes, resúmenes de canales e investigación de temas:
/plugin marketplace add ytapi/youtube-skills
/plugin install ytapi@ytapi
Luego ejecuta /mcp, elige plugin:ytapi:ytapi y selecciona Autenticar para iniciar sesión. Si Claude Code está conectado con una cuenta de claude.ai que ya tiene el conector YTAPI, el conector aparece por sí solo.
Para usar una clave de API en su lugar:
claude mcp add --transport http ytapi https://api.ytapi.dev/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Codex [#codex]
Exporta tu clave, luego registra el servidor:
export YTAPI_KEY=YOUR_API_KEY
codex mcp add ytapi --url https://api.ytapi.dev/mcp --bearer-token-env-var YTAPI_KEY
O agrégalo a ~/.codex/config.toml tú mismo:
[mcp_servers.ytapi]
url = "https://api.ytapi.dev/mcp"
bearer_token_env_var = "YTAPI_KEY"
Cursor [#cursor]
Agrega a ~/.cursor/mcp.json (todos los proyectos) o .cursor/mcp.json (un proyecto):
{
"mcpServers": {
"ytapi": {
"url": "https://api.ytapi.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
VS Code [#vs-code]
Agrega a .vscode/mcp.json. VS Code solicita la clave una vez y la almacena de forma segura:
{
"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]
Agrega a ~/.gemini/config/mcp_config.json (todos los espacios de trabajo) o .agents/mcp_config.json (un espacio de trabajo). Antigravity lee serverUrl, no url:
{
"mcpServers": {
"ytapi": {
"serverUrl": "https://api.ytapi.dev/mcp",
"headers": { "Authorization": "Bearer YOUR_API_KEY" }
}
}
}
OpenClaw [#openclaw]
Agrega el servidor en mcp.servers en tu configuración de OpenClaw:
{
mcp: {
servers: {
ytapi: {
url: "https://api.ytapi.dev/mcp",
transport: "streamable-http",
enabled: true,
headers: { Authorization: "Bearer YOUR_API_KEY" }
}
}
}
}
Mantén la clave en el almacenamiento secreto de OpenClaw en lugar de en el archivo donde puedas.
Otros clientes solo stdio [#other-stdio-only-clients]
Conecta al servidor remoto con mcp-remote (requiere 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" }
}
}
}
Herramientas [#tools]
| Herramienta | Qué hace | Créditos |
|---|---|---|
get_transcript | Subtítulos de un video como Markdown (con marcas de tiempo) o texto plano. Acepta un ID de video o cualquier URL de YouTube, incluidos Shorts. | 1 para la primera página; las páginas posteriores de la misma transcripción son gratuitas durante 30 minutos |
get_video_info | Título, canal, duración y los idiomas de subtítulos que tiene un video. | 0 |
search_youtube | Busca videos, canales, listas de reproducción o Shorts. | 1 por página |
get_channel_videos | Las subidas de un canal, más recientes primero por defecto. Acepta un identificador, ID de canal o URL. | 1 por página |
get_playlist_videos | Los detalles y videos de una lista de reproducción, página por página. | 1 por página |
Las transcripciones largas se devuelven en páginas de 40,000 caracteres (establece max_chars hasta 100,000). Cuando queda más, el resultado termina con offset para pasar en la siguiente llamada. Los errores, como un video sin subtítulos, se devuelven como errores de herramienta y no cuestan nada.
Modo Código y Llamada de Funciones [#code-mode--function-calling]
Al orquestar pipelines de extracción mediante llamadas de herramientas de OpenAI, Anthropic o Gemini, proporciona el JSON Schema directamente:
{
"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 de Plataforma y Prompts de Sistema [#platform-skills--system-prompts]
Reglas de Cursor (.cursorrules) [#cursor-rules-cursorrules]
Agrega esta regla de prompt a tu proyecto para instruir a Cursor sobre cómo consultar transcripciones de 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`.