logo
EN

YouTube Transcript Scraper

Turn public YouTube video URLs into transcript text and video metadata for research, analysis, and content workflows.

Developer
YiJacobJohnRaku
Pricing
$0.001 / record
Last updated
2026-10-10

Overview

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 titleChannel namePublished dateView countLike countTranscript
How to Scrape Business Data from Google Maps with Octoparse | Cat Cafe ExampleOctoparse2026-03-066304Hey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping.
Rick Astley - Never Gonna Give You UpRick Astley2025-01-151.2B18MWe'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.

Scope and boundaries

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.

  • Good for
  • 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.
  • Do not use for
  • 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.

Failure handling

Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.

  1. 1If a run fails, retry the same small URL set once; if it fails again, split a large batch into smaller groups.
  2. 2If a record has no transcript, check the Error message and confirm that the video is public and has accessible captions or transcript data.

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

  • YouTube video URLsvideo_urlsRequiredarray<string>
    Public YouTube video page URLs whose transcript and metadata you want to collect. Provide between one and 100,000 URLs per run.
    Itemsup to 100000 itemsExample["https://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s"]
  • LanguagelanguageOptionalstring
    Optional. Passed to the source template field "Language". Example: one of: en,de,ja,ko,zh-Hans,zh-Hant.

Output

Field structure of a single record, generated from the output.schema in manifest.json.

  • Transcripttranscriptstring
    Available transcript or caption text for the video, combined into one text value.
    ExampleHey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping. Today, we said you're going to explore one of my favorite templates in Octoparse, the Google Maps Listing Scraper template. It offers a super easy way to collect key location data, including business names, ratings, price ranges, categories, addresses, latitude and longitude, opening status, websites, phone numbers, and tags. Together, these data points paint a complete picture of the local b
  • All transcript Timeall_transcript_Timestring
    Value of the source template column "All_transcript_Time".
    Example[{"text": "Hey there, I'm Jackson, the new icon of", "start": 0.0, "duration": 4.72}, {"text": "Octoparse, your friendly helper for", "start": 2.76, "duration": 4.16}, {"text": "quick and easy web scraping.", "start": 4.72, "duration": 4.12}, {"text": "Today, we said you're going to explore", "start": 6.92, "duration": 3.6}, {"text": "one of my favorite templates in", "start": 8.84, "duration": 3.76}, {"text": "Octoparse, the Google Maps Listing", "start": 10.52, "duration": 4.68}, {"text": "Scr
  • Video URLvideo_urlstring
    YouTube video page address submitted for transcript collection.
    Examplehttps://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s
  • Errorerrorstring
    Collection issue reported for this video; blank when the sampled record completed normally.
    Example

Sample data

Generated from output.schema. Fields without a sample value use structural placeholders.

output.example
{
  "transcript": "Hey there, I'm Jackson, the new icon of Octoparse, your friendly helper for quick and easy web scraping. Today, we said you're going to explore one of my favorite templates in Octoparse, the Google Maps Listing Scraper template. It offers a super easy way to collect key location data, including business names, ratings, price ranges, categories, addresses, latitude and longitude, opening status, websites, phone numbers, and tags. Together, these data points paint a complete picture of the local b",
  "all_transcript_Time": "[{\"text\": \"Hey there, I'm Jackson, the new icon of\", \"start\": 0.0, \"duration\": 4.72}, {\"text\": \"Octoparse, your friendly helper for\", \"start\": 2.76, \"duration\": 4.16}, {\"text\": \"quick and easy web scraping.\", \"start\": 4.72, \"duration\": 4.12}, {\"text\": \"Today, we said you're going to explore\", \"start\": 6.92, \"duration\": 3.6}, {\"text\": \"one of my favorite templates in\", \"start\": 8.84, \"duration\": 3.76}, {\"text\": \"Octoparse, the Google Maps Listing\", \"start\": 10.52, \"duration\": 4.68}, {\"text\": \"Scr",
  "video_url": "https://www.youtube.com/watch?v=YhbIzV6YoEo&t=7s",
  "error": "",
  "inputLanguage": "en",
  "outputLanguage": "en",
  "video_title": "How to Scrape Business Data from Google Maps with Octoparse | Cat Cafe Example",
  "video_intro": "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.\\n\\nIn this video, you'll learn how to use Octoparse as a Google Maps scraper to extract valuable business information such as company names, addresses, phone numbers, websites, and more. With no-code web scraping, you can automate data collectio",
  "channel_name": "Octoparse",
  "channel_url": "http://www.youtube.com/@Octoparsewebscraping",
  "published_at": "2026-03-06T10:23:22+00:00",
  "published_date": "2026-03-06",
  "view_count": "720",
  "like_count": "4"
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "octoparse_datahub": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/youtube-transcript-scraper",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

returned video record

Charged by the number of records successfully returned. Failed runs are not charged.

$0.001/ record

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
$0.001 / record