YouTube Transcript & Captions Scraper
Pricing
from $2.00 / 1,000 transcribed youtube videos
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
Maintained by CommunityActor 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
- Enter one or more YouTube Video URLs or IDs (one per line).
- Toggle whether to include timestamped segments.
- Click Start to run the scraper.
- 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
| Field | Type | Description |
|---|---|---|
videoId | string | 11-character YouTube video ID |
title | string | Official video title |
channelName | string | Creator channel name |
channelUrl | string | URL of the YouTube channel |
thumbnailUrl | string | High quality video thumbnail link |
fullText | string | Clean consolidated transcript text |
estimatedTokens | integer | Estimated LLM token count (~chars/4) |
segments | array | Timestamped caption blocks with start time and duration |
status | string | success or error |
API Integration
from apify_client import ApifyClientclient = 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"])