Scraper de subtítulos y transcripciones de YouTube — JSON, SRT, VTT, LLM
Extrae subtítulos y transcripciones de YouTube de vídeos, Shorts, listas de reproducción y canales en JSON, SRT, VTT, texto plano o texto limpio listo para LLM. Más de 100 idiomas, metadatos completos, sin clave API — y las extracciones fallidas son gratis.
características clave
Un único input gestiona vídeos, Shorts, enlaces youtu.be, listas de reproducción y canales — combinados en una sola ejecución
Cinco formatos de salida — JSON (con marcas de tiempo), SRT, VTT, texto plano y listo para LLM (elimina [Music], [Applause] y etiquetas de interlocutor)
Más de 100 idiomas con una lista de idiomas por orden de prioridad y respaldo de subtítulos automáticos configurable
Metadatos completos — título, canal, descripción, fecha de publicación, número de visualizaciones, miniatura, duración e idiomas disponibles
Procesa en lote listas de reproducción y canales completos con un límite maxVideos y concurrencia de 1 a 10
Soporte de proxy residencial más cookies opcionales para reducir los bloqueos por verificación anti-bot
Extracción multicapa — hasta nueve mecanismos de respaldo entre clientes de InnerTube, con un último recurso de PO-token vía yt-dlp
El circuit breaker y el manejo de errores por elemento mantienen en marcha los lotes grandes
casos de uso
- Equipos de IA/ML que construyen datasets de RAG o fine-tuning a partir de vídeo hablado (salida de texto lista para LLM)
- Equipos de contenido que reutilizan transcripciones en entradas de blog, notas de programa y descripciones para redes sociales
- Profesionales de SEO que extraen texto de vídeo indexable para indexación e investigación de palabras clave
- Editores y publicadores que necesitan archivos de subtítulos estándar SRT/VTT
- Investigadores que recopilan transcripciones en lote de un canal o lista de reproducción completos
- Desarrolladores que necesitan subtítulos estructurados y con marcas de tiempo sin una clave de la API de YouTube
parámetros de entrada
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
urls | array | opcional | URLs de YouTube o IDs sueltos — vídeos, Shorts, enlaces youtu.be, listas de reproducción o canales. Obligatorio en tiempo de ejecución. |
outputFormat | string | opcional | Formato de la transcripción: json, srt, vtt, text o llm (por defecto: json). |
languages | array | opcional | Idiomas de subtítulos preferidos por orden de prioridad, códigos ISO 639-1 (por defecto: en). |
includeAutoGenerated | boolean | opcional | Recurre a subtítulos autogenerados cuando no existen subtítulos manuales (por defecto: true). |
maxVideos | number | opcional | Límite de vídeos procesados por ejecución, por ejemplo para listas de reproducción/canales (por defecto: 0 = sin límite). |
maxConcurrency | number | opcional | Vídeos procesados en paralelo, de 1 a 10 (por defecto: 3). |
proxyConfiguration | object | opcional | Configuración de proxy; por defecto usa Apify Residential fijado a US. |
youtubeCookies | string | opcional | Cookies opcionales de YouTube (cabecera Cookie o cookies.txt) para reducir los bloqueos por verificación anti-bot. |
Ejemplo de salida
1{
2 "videoId": "dQw4w9WgXcQ",
3 "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
4 "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
5 "channelName": "Rick Astley",
6 "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
7 "publishDate": "2009-10-25",
8 "viewCount": 1761003712,
9 "availableLanguages": ["en", "de-DE", "ja", "pt-BR", "es-419"],
10 "language": "en",
11 "isAutoGenerated": false,
12 "duration": 213,
13 "wordCount": 487,
14 "segmentCount": 61,
15 "text": "We're no strangers to love, you know the rules and so do I...",
16 "segments": [{ "text": "We're no strangers to love", "start": 18.64, "end": 21.88 }],
17 "error": null
18}
Precios
Pago por evento: se cobra una vez por cada transcripción extraída con éxito — los vídeos fallidos nunca se cobran. Introduce un canal o lista de reproducción completos y paga solo por los subtítulos que realmente obtengas.
Consejos
- Usa
outputFormat: llmpara RAG y fine-tuning — elimina las anotaciones que no son habla, de modo que tus embeddings reciben una prosa limpia. - Mantén activado un proxy residencial. YouTube bloquea agresivamente las IPs de centro de datos; el actor usa residencial de US por defecto, y no es casualidad.
- Empieza con
maxConcurrencyentre 1 y 3 para trabajos grandes y auméntalo gradualmente — una concurrencia alta incrementa el riesgo de límite de tasa en extracciones de canales grandes.
faq
¿Necesito una clave de la API de YouTube o iniciar sesión?
¿Qué idiomas y tipos de subtítulos son compatibles?
¿Se me cobra por los vídeos que fallan al extraer?
¿Puedo obtener texto limpio y listo para LLM para RAG?
relacionado en ~/social
Scraper de Bluesky — Posts, perfiles, feeds e interacciones
Extrae posts, perfiles, feeds e interacciones de Bluesky.
abrir