YouTube Transcript Scraper
Turn public YouTube video URLs into transcript text and video metadata for research, analysis, and content workflows.
Descripción general
Turn public YouTube videos into analysis-ready text without separating the spoken content from its surrounding context. The result pairs each available transcript with the video title, description, channel, publication date, and visible engagement counts, so a research or content team can work from one consistent row per submitted video.
This data is useful wherever watching and manually transcribing videos would slow down a larger workflow. It gives analysts text they can search, classify, summarize, compare, or load into a knowledge base while preserving enough video context to trace every passage back to its source.
Data notes
The data is collected from public YouTube video pages and their accessible transcript or caption content. Each row corresponds to one submitted video URL. Transcript availability depends on the video: private, removed, restricted, or caption-free videos may not provide transcript text, and the Error value can help separate those cases from successful rows.
View Count and Like Count are text snapshots observed at collection time and may change later. Published Time preserves the source's ISO 8601 timestamp, while Published Date provides the same publication day as a date-only value. Transcript is combined into one text value rather than split into timestamped caption segments. Long descriptions and transcripts can therefore be much larger than the other fields.
What the results look like
Each record represents one submitted YouTube video and the transcript and metadata available for it.
| Video title | Channel name | Published date | View count | Like count | Transcript |
|---|---|---|---|---|---|
| How to Scrape Business Data from Google Maps with Octoparse | Cat Cafe Example | Octoparse | 2026-03-06 | 630 | 4 | Hey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping. |
| Rick Astley - Never Gonna Give You Up | Rick Astley | 2025-01-15 | 1.2B | 18M | We're no strangers to love… |
Other available fields include Video URL, Video description, Channel URL, Published time, and Error.
Use cases
- For topic and message analysis, compare Transcript with Video Title and Video Description to see how closely the spoken content matches the video's framing.
- For creator research, group records by Channel Name and use Published Date to study themes or publishing patterns over time.
- For content repurposing, use Transcript as the working text for summaries, briefs, article outlines, quotation review, or internal search.
- For dataset quality checks, review Error alongside Video URL and Transcript to identify videos that need replacement, exclusion, or a separate manual review.
Alcance y límites
Each run accepts 1 to 100,000 public YouTube video URLs; transcript text is returned only when captions or a transcript are accessible for the video.
- Adecuada para
- Use it when you need transcript text and core video metadata for one or more public YouTube videos.
- Use it to prepare video text for content research, summarization, topic analysis, or searchable datasets.
- No usar para
- Do not use it for private, removed, region-restricted, or age-restricted videos that are not publicly accessible.
- Do not use it when a video has no accessible captions or transcript, or when you need audio or video file downloads.
Gestión de fallos
Comportamiento de fallos y reintentos declarado por el autor. Recomendamos incluirlo en tu prompt del sistema al integrar.
- 1If a run fails, retry the same small URL set once; if it fails again, split a large batch into smaller groups.
- 2If a record has no transcript, check the Error message and confirm that the video is public and has accessible captions or transcript data.
Entrada
Parámetros necesarios para llamar a esta App, generados a partir del input.schema del manifest.json.
| Campo | Nombre de negocio | Tipo | Obligatorio | Predeterminado | Enum / Restricciones | Ejemplo | Descripción |
|---|---|---|---|---|---|---|---|
| video_urls | YouTube video URLs | array<string> | Sí | — | hasta 100000 elementos | ["https://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s"] | Public YouTube video page URLs whose transcript and metadata you want to collect. Provide between one and 100,000 URLs per run. |
Salida
Estructura de campos de un único registro, generada a partir del output.schema del manifest.json.
| Campo | Nombre de negocio | Tipo | Ejemplo | Descripción |
|---|---|---|---|---|
| video_url | Video URL | string | https://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s | YouTube video page address submitted for transcript collection. |
| video_title | Video title | string | How to Scrape Business Data from Google Maps with Octoparse | Cat Cafe Example | Title displayed for the YouTube video at collection time. |
| video_intro | Video description | string | Learn how to scrape business data from Google Maps using Octoparse in this step-by-step web scraping tutorial. If you're looking for an easy way to collect local business listings for lead generation, this guide will show you how to do it without coding. | Introductory description text displayed for the YouTube video. |
| channel_name | Channel name | string | Octoparse | Name of the YouTube channel that published the video. |
| channel_url | Channel URL | string | http://www.youtube.com/@Octoparsewebscraping | Address of the YouTube channel that published the video. |
| published_at | Published time | string | 2026-03-06T10:23:22+00:00 | Video publication timestamp in the ISO 8601 text supplied by the source. |
| published_date | Published date | string | 2026-03-06 | Calendar date on which the video was published. |
| view_count | View count | string | 630 | View-count text observed for the video at collection time. |
| like_count | Like count | string | 4 | Like-count text observed for the video at collection time when available. |
| transcript | Transcript | string | Hey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping. | Available transcript or caption text for the video, combined into one text value. |
| error | Error | string | Collection issue reported for this video; blank when the sampled record completed normally. |
Schema del registro
La salida se devuelve registro a registro. detail.output.idFieldHint
{
"type": "object",
"properties": {
"video_url": {
"type": "string",
"title": "Video URL",
"description": "YouTube video page address submitted for transcript collection.",
"prefill": "https://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s"
},
"video_title": {
"type": "string",
"title": "Video title",
"description": "Title displayed for the YouTube video at collection time.",
"prefill": "How to Scrape Business Data from Google Maps with Octoparse | Cat Cafe Example"
},
"video_intro": {
"type": "string",
"title": "Video description",
"description": "Introductory description text displayed for the YouTube video.",
"prefill": "Learn how to scrape business data from Google Maps using Octoparse in this step-by-step web scraping tutorial. If you're looking for an easy way to collect local business listings for lead generation, this guide will show you how to do it without coding."
},
"channel_name": {
"type": "string",
"title": "Channel name",
"description": "Name of the YouTube channel that published the video.",
"prefill": "Octoparse"
},
"channel_url": {
"type": "string",
"title": "Channel URL",
"description": "Address of the YouTube channel that published the video.",
"prefill": "http://www.youtube.com/@Octoparsewebscraping"
},
"published_at": {
"type": "string",
"title": "Published time",
"description": "Video publication timestamp in the ISO 8601 text supplied by the source.",
"prefill": "2026-03-06T10:23:22+00:00"
},
"published_date": {
"type": "string",
"title": "Published date",
"description": "Calendar date on which the video was published.",
"prefill": "2026-03-06"
},
"view_count": {
"type": "string",
"title": "View count",
"description": "View-count text observed for the video at collection time.",
"prefill": "630"
},
"like_count": {
"type": "string",
"title": "Like count",
"description": "Like-count text observed for the video at collection time when available.",
"prefill": "4"
},
"transcript": {
"type": "string",
"title": "Transcript",
"description": "Available transcript or caption text for the video, combined into one text value.",
"prefill": "Hey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping."
},
"error": {
"type": "string",
"title": "Error",
"description": "Collection issue reported for this video; blank when the sampled record completed normally.",
"prefill": ""
}
},
"required": [],
"additionalProperties": false
}Integración
Esta App se puede integrar mediante MCP, API, SDK o exportación de archivos — todos los canales comparten las mismas capacidades y precios. Cada solicitud se autentica con la cabecera Authorization: Bearer usando una API Key (de larga duración, creada en la consola de Open Platform); los clientes MCP también pueden iniciar sesión con OAuth sin clave. Más opciones como CLI y Skill están en camino.
Con MCP (Model Context Protocol) puedes llamar a esta App directamente desde clientes de IA como Claude y Cursor. Elige tu cliente y el modo de autenticación, y copia la configuración de abajo.
Configuración del cliente
Sustituye el valor tras Bearer por tu API Key de larga duración. Funciona en cualquier cliente, CI o entorno sin interfaz.
{
"mcpServers": {
"YiJacobJohnRaku__youtube-transcript-scraper": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/youtube-transcript-scraper",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Deja que la IA lo configure por ti
¿No quieres editar configuraciones a mano? Copia el prompt de instalación y pégalo en cualquier cliente de IA: completará la configuración a su manera. (El prompt le pide a la IA que te solicite tu API Key, de modo que las credenciales nunca queden en el historial de chat ni en configuraciones compartidas.)
detail.access.mcp.composeHint
Precios
Se cobra según el número de registros devueltos correctamente. Las tareas fallidas no se cobran.
Los distintos eventos de facturación se acumulan de forma independiente — consulta cada elemento para más detalles. Las tareas fallidas no se cobran.
Pruébalo ahora
Rellena los parámetros y ejecuta — los resultados provienen de una llamada real.