YouTube Transcript & Captions Scraper avatar

YouTube Transcript & Captions Scraper

Pricing

from $2.00 / 1,000 transcribed youtube videos

Go to Apify Store
YouTube Transcript & Captions Scraper

YouTube Transcript & Captions Scraper

Extract fast, clean YouTube video transcripts with timestamps, text, token counts, and video metadata for AI agents and LLM ingestion.

Pricing

from $2.00 / 1,000 transcribed youtube videos

Rating

0.0

(0)

Developer

Indra Darmawan

Indra Darmawan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

YouTube Transcript & Captions Scraper 🎬

Extract fast, clean, and complete YouTube video transcripts with timestamps, text, token counts, and video metadata in seconds. Designed specifically for AI agents, LLM ingestion, automated video summarization, and RAG pipelines.


What does YouTube Transcript Scraper do?

YouTube Transcript Scraper extracts transcripts and closed captions from any public YouTube video, YouTube Short, or Video ID:

  • Clean Full Transcript: Continuous plain-text transcript stripped of formatting, ready for LLMs.
  • Timestamped Segments: Start time, duration, and text for every caption segment.
  • Video Metadata: Title, channel name, channel URL, and high-res thumbnail URL.
  • LLM Token Estimation: Pre-computed character and token counts for context planning.
  • Lightning Fast: Pure HTTP extraction (sub-second per video), zero heavy browser overhead.

Why use YouTube Transcript Scraper?

  • AI Summarization & RAG: Feed YouTube video transcripts directly into ChatGPT, Claude, LangChain, or vector databases.
  • Content Repurposing: Turn YouTube videos into blog posts, newsletters, Twitter/X threads, or LinkedIn posts.
  • Pay Per Event (PPE): Ultra-cheap micropayment per video transcribed ($0.002 per video), avoiding expensive subscriptions.
  • Support Shorts & Long Videos: Works with standard videos and YouTube Shorts alike.

How to use

  1. Enter one or more YouTube Video URLs or IDs (one per line).
  2. Toggle whether to include timestamped segments.
  3. Click Start to run the scraper.
  4. Download your transcripts in JSON, CSV, or Excel format.

Input Example

{
"videoUrls": [
"https://www.youtube.com/watch?v=jNQXAC9IVRw",
"https://youtu.be/dQw4w9WgXcQ"
],
"includeTimestamps": true
}

Output Example

{
"videoId": "jNQXAC9IVRw",
"videoUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"channelName": "jawed",
"channelUrl": "https://www.youtube.com/@jawed",
"thumbnailUrl": "https://i.ytimg.com/vi/jNQXAC9IVRw/hqdefault.jpg",
"fullText": "All right, so here we are, in front of the elephants. The cool thing about these guys is that they have really really long trunks...",
"segmentsCount": 6,
"characterCount": 146,
"estimatedTokens": 36,
"segments": [
{ "start": 1.2, "duration": 2.16, "text": "All right, so here we are, in front of the elephants" },
{ "start": 5.32, "duration": 2.66, "text": "the cool thing about these guys is that they have really..." }
],
"elapsedMs": 320,
"status": "success"
}

Extracted Fields

FieldTypeDescription
videoIdstring11-character YouTube video ID
titlestringOfficial video title
channelNamestringCreator channel name
channelUrlstringURL of the YouTube channel
thumbnailUrlstringHigh quality video thumbnail link
fullTextstringClean consolidated transcript text
estimatedTokensintegerEstimated LLM token count (~chars/4)
segmentsarrayTimestamped caption blocks with start time and duration
statusstringsuccess or error

API Integration

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("drain54/youtube-transcript-scraper").call(
run_input={"videoUrls": ["https://www.youtube.com/watch?v=jNQXAC9IVRw"]}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"])
print(item["fullText"])