YouTube Transcript Scraper
Turn public YouTube video URLs into transcript text and video metadata for research, analysis, and content workflows.
Aperçu
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.
Périmètre et limites
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.
- Adapté pour
- 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.
- À ne pas utiliser pour
- 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.
Gestion des échecs
Comportement en cas d'échec et de nouvelle tentative déclaré par l'auteur. Nous vous recommandons de l'inclure dans votre prompt système lors de l'intégration.
- 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.
Entrée
Paramètres requis pour appeler cette App, générés à partir de l'input.schema du manifest.json.
| Champ | Nom métier | Type | Requis | Défaut | Énum / Contraintes | Exemple | Description |
|---|---|---|---|---|---|---|---|
| video_urls | YouTube video URLs | array<string> | Oui | — | jusqu'à 100000 éléments | ["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. |
Sortie
Structure des champs d'un enregistrement, générée à partir de l'output.schema du manifest.json.
| Champ | Nom métier | Type | Exemple | Description |
|---|---|---|---|---|
| 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 de l'enregistrement
La sortie est renvoyée enregistrement par enregistrement. 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
}Intégration
Cette App peut être intégrée via MCP, API, SDK ou export de fichiers — tous les canaux partagent les mêmes capacités et la même tarification. Chaque requête s'authentifie avec l'en-tête Authorization: Bearer à l'aide d'une API Key (longue durée, créée dans la console Open Platform) ; les clients MCP peuvent aussi se connecter via OAuth, sans clé. D'autres options comme la CLI et Skill arrivent bientôt.
Avec MCP (Model Context Protocol), vous pouvez appeler cette App directement depuis des clients IA comme Claude et Cursor. Choisissez votre client et votre mode d'authentification, puis copiez la config ci-dessous.
Config du client
Remplacez la valeur après Bearer par votre API Key longue durée. Fonctionne dans n'importe quel client, en CI ou en environnement sans navigateur.
{
"mcpServers": {
"YiJacobJohnRaku__youtube-transcript-scraper": {
"type": "http",
"url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/youtube-transcript-scraper",
"headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
}
}
}Laissez l'IA tout configurer pour vous
Vous ne voulez pas modifier les configs à la main ? Copiez le prompt d'installation et collez-le dans n'importe quel client IA — il effectuera la configuration à sa manière. (Le prompt demande à l'IA de vous réclamer votre API Key, afin que les identifiants ne finissent jamais dans l'historique de conversation ni dans des configs partagées.)
detail.access.mcp.composeHint
Tarifs
Facturé selon le nombre d'enregistrements renvoyés avec succès. Les tâches échouées ne sont pas facturées.
Plusieurs événements de facturation se cumulent indépendamment — voir chaque élément pour les détails. Les tâches échouées ne sont pas facturées.
Essayer maintenant
Renseignez les paramètres et lancez l'exécution — les résultats proviennent d'un appel réel.