Migrating from TranscriptAPI.com: A Field Guide
Switching a YouTube transcript integration from TranscriptAPI.com to GetYouTubeTranscript - parameter mapping, a before/after curl example, endpoint equivalents, and the real gaps that do not map 1:1.
00:06:00 · SEP 26, 2026
Respuesta rápida
Mapeo de parámetros
Ambas APIs se autentican con un token bearer y aceptan una URL completa, una URL corta o un ID de video simple. Así se corresponden el resto de los parámetros de transcripción de TranscriptAPI con los nuestros:
| TranscriptAPI.com | GetYouTubeTranscript | Nota |
|---|---|---|
Authorization: Bearer KEY | Authorization: Bearer KEY | También aceptamos x-api-key como cabecera alternativa. |
video_url | v (o url, videoId) | Los mismos formatos aceptados: URL completa, URL corta, o un ID de 11 caracteres. |
language | language | El nuestro toma un único código con un valor por defecto, no una lista de prioridad separada por comas - pide un idioma por llamada. |
format=json|text | (ninguno - siempre texto plano) | Nuestra respuesta siempre devuelve la transcripción aplanada en el campo transcript, equivalente a su format=text. |
include_timestamp | (no expuesto) | Las marcas de tiempo por segmento (start/duration) no están en nuestra respuesta pública hoy - ver las diferencias abajo. |
send_metadata=true | (siempre incluido) | title, author_name, author_url y thumbnail_url siempre están en la respuesta - no hace falta ningún parámetro. |
Antes / después
TranscriptAPI.com
curl -X GET "https://transcriptapi.com/api/v2/youtube/transcript?video_url=https://youtu.be/dQw4w9WgXcQ&language=en&send_metadata=true" \
-H "Authorization: Bearer YOUR_API_KEY"GetYouTubeTranscript
curl "https://getyoutubetranscript.com/api/v1/transcript?v=dQw4w9WgXcQ&language=en" \
-H "Authorization: Bearer sk_live_..."
# => { "success": true, "data": { "video_id": "...", "language_code": "en",
# "title": "...", "author_name": "...", "author_url": "...",
# "thumbnail_url": "...", "transcript": "...", "word_count": 1847 } }Mismo video, un crédito en ambos casos. Los metadatos vienen por defecto de nuestro lado, así que no hay que recordar ningún parámetro send_metadata.
Otros endpoints
| TranscriptAPI.com | GetYouTubeTranscript | Nota |
|---|---|---|
GET /youtube/info (gratis) | GET /resolve?handle=... (gratis) | El nuestro resuelve un handle/URL a un ID de canal; para metadatos de video, llama a /transcript y lee los campos de la respuesta. |
GET /youtube/search (1 crédito) | GET /search?q=... (1 crédito/página) | Misma idea - búsqueda paginada, un crédito por página obtenida. |
GET /youtube/channel/resolve (gratis) | GET /resolve?handle=... (gratis) | Equivalente directo. |
GET /youtube/channel/videos (1/página) | GET /channel/videos?channel=... (1 crédito/página) | Mismo modelo de paginación - devuelve el token de continuación de la respuesta. |
GET /youtube/channel/search (1 crédito) | GET /channel/search?channel=...&q=... (1 crédito/página) | Equivalente directo. |
GET /youtube/channel/playlists, /channel/posts | (sin equivalente) | No disponible actualmente - ver las diferencias abajo. |
Qué no se corresponde 1:1
- Sin marcas de tiempo por segmento en la respuesta de la API. El format=json + include_timestamp=true de TranscriptAPI devuelve segmentos con start/duration; nuestra API pública solo devuelve la transcripción aplanada. (Las marcas de tiempo por segmento existen en nuestra base de datos e impulsan la vista de transcripción clicable en el propio sitio web - simplemente aún no están en la respuesta pública de la API.)
- language es un único código aquí, no una lista de prioridad. TranscriptAPI prueba una lista separada por comas como de,en,asr de izquierda a derecha; el nuestro toma un código con un valor por defecto. Si dependías de una cadena de respaldo, reintenta tú mismo con otro valor.
- Sin endpoints de listas de reproducción de canal ni de publicaciones de canal. /channel/playlists y /channel/posts de TranscriptAPI no tienen equivalente aquí por ahora.
Si el texto de la transcripción, los metadatos, la búsqueda y los datos de canal cubren tu caso de uso, esto es casi un reemplazo directo - regístrate para obtener 100 créditos gratis (sin tarjeta) y mira la lista completa de precios y endpoints, o revisa la documentación de la API para la referencia completa de parámetros.
Preguntas frecuentes de migración
¿Necesito cambiar mi cabecera de autenticación?
No - ambas APIs usan Authorization: Bearer TU_CLAVE. La nuestra también acepta x-api-key como alternativa.
¿Mis URLs e IDs de video existentes seguirán funcionando?
Sí - ambas APIs aceptan una URL completa de YouTube, una URL corta youtu.be, o un ID de 11 caracteres en la misma posición de parámetro (video_url allá, v aquí).
¿Qué pasa si envío una lista de idiomas separada por comas como en el formato de TranscriptAPI?
Nuestro parámetro language espera un único código, no una lista. Un valor separado por comas probablemente no coincidirá - pide un idioma por llamada, y reintenta con otro si necesitas una cadena de respaldo.
¿Puedo obtener marcas de tiempo por segmento de tu API?
No desde la respuesta pública de la API REST hoy - devuelve la transcripción aplanada. Si tu migración depende de eso, espera a que se exponga, o usa la propia vista de transcripción del sitio web, que sí lo soporta.
¿Es gratis probarlo?
100 créditos gratis al registrarte, sin tarjeta - suficiente para probar los endpoints de transcripción, búsqueda y canal antes de decidirte por un plan.
Relacionado
- YouTube API Quota Exceeded: Causes and Fixes
- YouTube Transcript API Rate Limit: What It Is and How to Handle 429s
- YouTube Transcript MCP Server: Setup Guide for Claude and Other AI Tools
- YouTube Transcripts in n8n: HTTP Request Workflow Guide
- Migrating from Supadata: A Field Guide
- How to Get YouTube Transcripts in Python
- Build an AI YouTube Video Summarizer with LangChain and Next.js
- GetYouTubeTranscript frente a TranscriptAPI
- GetYouTubeTranscript frente a youtubetotranscript.com
- GetYouTubeTranscript frente a youtube-transcript.io
- GetYouTubeTranscript vs NoteGPT