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:

RecursoURLDescripción
Índice LLMshttps://docs.ytapi.dev/llms.txtManifiesto compatible con especificaciones de todas las páginas de documentación con descripciones breves.
Volcado Completo LLMshttps://docs.ytapi.dev/llms-full.txtDocumento Markdown único concatenado que contiene toda la documentación de la plataforma.
MDX de Página Crudahttps://docs.ytapi.dev/{slug}.mdxAgrega .mdx a cualquier URL de documentación para recuperar Markdown crudo y limpio.
En agentes basados en bash (por ejemplo, Claude Code, Codex, Aider), obtén toda la referencia de la API con:
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.

URLhttps://api.ytapi.dev/mcp
TransporteHTTP Streamable
AutenticaciónInicio de sesión OAuth, o Authorization: Bearer <YOUR_API_KEY>
FacturaciónMismos 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:

  1. Abre Personalizar → Conectores (también accesible desde Configuración → Conectores), haz clic en + Agregar, luego Agregar conector personalizado.
  2. Ingresa https://api.ytapi.dev/mcp y haz clic en Conectar.
  3. 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]

HerramientaQué haceCréditos
get_transcriptSubtí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_infoTítulo, canal, duración y los idiomas de subtítulos que tiene un video.0
search_youtubeBusca videos, canales, listas de reproducción o Shorts.1 por página
get_channel_videosLas subidas de un canal, más recientes primero por defecto. Acepta un identificador, ID de canal o URL.1 por página
get_playlist_videosLos 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`.