YouTube AI Transcript Extractor
Pricing
from $9.00 / 1,000 video transcript (native captions)s
YouTube AI Transcript Extractor
Extract AI transcripts and 40+ metadata fields from any YouTube video — long-form, Shorts, and live. Get plain text, timestamped segments, and SRT/VTT subtitle files. Videos without captions fall back to AI audio transcription. Built for creators, SEO, research, and AI pipelines.
Pricing
from $9.00 / 1,000 video transcript (native captions)s
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 hours ago
Last modified
Categories
Share
YouTube AI Transcript Extractor — Video to Text, SRT & VTT 🚀
🎬 Turn ANY YouTube video into a clean transcript + 40+ data fields — long-form, Shorts & live replays
Built for content creators, SEO pros, researchers, and AI/RAG pipelines that need YouTube video-to-text at scale
📋 Overview
Paste a YouTube link, get the words. The YouTube AI Transcript Extractor converts any YouTube video into a clean, timestamped transcript — plus 40+ metadata fields — in one run. Single video or thousands, no login required.
What you get:
- ✅ Every YouTube video, not just Shorts: long-form, Shorts, live replays,
watch?v=,youtu.be, embeds — even a bare video ID - ⚡ Instant native captions: reads a video's own captions in seconds — and when a video has none, falls back to AI audio transcription so you still get a transcript
- 🎯 Ready-to-use formats: full plain text, timestamped segments, plus SRT & VTT subtitle files
- 💰 Fair, cost-aligned pricing: $0.01 per captioned video; per-minute AI transcription only when a video has no captions — start FREE, no credit card
- 💎 40+ metadata fields in the same run: views, likes, comments, channel analytics, keywords, thumbnails, categories, related videos
- ✨ Bulk-ready: drop in a list or upload a CSV/TXT of URLs and transcribe them all
✨ Features
- 🎬 Any URL format:
watch?v=,youtu.be,/shorts/,/embed/,/live/, or a raw 11-character video ID - 📝 Four transcript outputs: full text, timestamped segments, SRT, and VTT — copy-paste or drop straight into an editor
- 🌍 Auto language detection: captures the video's spoken language automatically
- 📊 40+ metadata fields: engagement metrics with calculated ratios, channel stats, keywords, thumbnails, category, publish dates
- 🔗 Related videos: discover connected content and trends in the same run
- 📁 Bulk + file upload: paste many URLs or upload a
.csv/.txt— URL column auto-detected - 🤖 AI/RAG friendly: clean structured JSON that drops straight into LLMs and vector stores
- 🆓 Free to try: full feature access on the free tier — no setup, no keys
🎞️ Quick Start
Paste a YouTube URL, click Start, and get your transcript + metadata seconds later. Use the bulk field for many videos at once.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~youtube-ai-transcript-extractor/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
🚀 Getting Started (3 Simple Steps)
Step 1: Add your video(s)
Paste a single YouTube URL in Video URL, or add many in the bulk URLs field (or upload a CSV/TXT).
Step 2: Click Start
The actor validates each URL, then extracts the transcript and metadata.
Step 3: Download your data
Export transcripts + metadata as JSON, CSV, or Excel — or grab the ready-made SRT/VTT caption files.
That's it! In under a minute, you'll have:
- A clean, timestamped transcript of every video
- SRT + VTT subtitle files ready for editing
- 40+ metadata fields per video for analysis
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
videoUrl | string | No | A single YouTube video URL (watch, youtu.be, Shorts, embed, live) or bare video ID |
urls | array | No | Multiple YouTube URLs for bulk processing; supports CSV/TXT file upload |
maxAiTranscriptionMinutes | integer | No | Cost cap, default 30. How long a caption-less video may be before AI audio transcription is used. 0 disables AI entirely. Captioned videos are unaffected — see Pricing. |
Single video:
{ "videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" }
Bulk processing:
{"urls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },{ "url": "https://youtu.be/BoZuXYvGFu8" }]}
Free tier processes up to 5 URLs per run. Paid tier: unlimited URLs per run.
📤 Output
Each video is saved to the Apify dataset with 50 fields, including:
| Field | Type | Description |
|---|---|---|
fullTranscript | string | Complete plain-text transcript |
segments | array | Timestamped segments (text, start, end, duration) |
vtt | string | WebVTT subtitle file |
srt | string | SRT subtitle file |
totalWords | number | Word count of the transcript |
title | string | Video title |
channelTitle | string | Channel name |
subscriberCount | number | Channel subscribers |
viewCount | string | View count |
likeCount | string | Like count |
commentCount | number | Comment count |
likesPerViewPercentage | string | Likes-to-views ratio |
keywords | array | Video tags/keywords |
category | string | Video category |
publishDate | string | Publish date (ISO 8601) |
relatedVideos | object | Connected/related videos |
Example (trimmed):
{"videoId": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up (Official Video)","channelTitle": "Rick Astley","fullTranscript": "We're no strangers to love. You know the rules and so do I...","totalWords": 291,"totalSegments": 52,"vtt": "WEBVTT\n\n1\n00:00:18.560 --> 00:00:22.399\n...","srt": "1\n00:00:18,560 --> 00:00:22,399\n...","viewCount": "1600000000","likeCount": "18000000","keywords": ["Rick Astley", "Never Gonna Give You Up"],"category": "Music","publishDate": "2009-10-25"}
💼 Use Cases & Examples
1. Content & SEO Research
Marketers and creators mining what actually drives views. Input: competitor or niche video URLs · Output: transcript + keywords + engagement · Use: find the hooks, topics, and phrasing behind top-performing videos.
2. AI, RAG & LLM Pipelines
Data teams turning video into machine-readable knowledge. Input: a channel's video URLs · Output: clean structured transcripts · Use: feed LLMs and vector databases to build summaries, search, and Q&A over video content.
3. Subtitles & Accessibility
Editors and publishers making video accessible. Input: any video URL · Output: SRT + VTT files · Use: caption videos, meet accessibility requirements, and translate from a clean base transcript.
4. Content Repurposing
Creators turning one video into ten assets. Input: a long-form upload · Output: full transcript + segments · Use: spin blog posts, newsletters, show notes, and social clips from a single video.
5. Market & Trend Analysis
Analysts tracking what's being said at scale. Input: trending or industry video URLs (bulk) · Output: transcripts + metadata · Use: monitor messaging, sentiment, and emerging topics across a niche.
6. Research & Journalism
Researchers and reporters quoting the record accurately. Input: interview, talk, or press-conference URLs · Output: timestamped transcript · Use: search, cite, and verify spoken content quickly.
🔗 Integration Examples
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/youtube-ai-transcript-extractor').call({videoUrl: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].fullTranscript);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/youtube-ai-transcript-extractor').call(run_input={'videoUrl': 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['fullTranscript'])
cURL
curl -X POST "https://api.apify.com/v2/acts/sian.agency~youtube-ai-transcript-extractor/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"videoUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ"}'
Automation Workflows (n8n / Zapier / Make)
- Trigger: schedule or webhook
- HTTP Request: call the actor API
- Process: handle the JSON transcript + metadata
- Action: save, notify, translate, or summarize
📊 Performance & Pricing
FREE Tier (Try It Now)
- 5 videos per run — full feature access, same quality
- No credit card required
- Perfect for testing and small projects
PAID Tier (Production Ready)
- Unlimited videos per run
- No processing delays
- $0.01 per video with captions (most videos) — flat, any length; per-minute AI billing only when a caption-less video needs audio transcription ($0.005 per run start)
💰 Cost-aligned pricing — a flat cent for caption-based transcripts, and you only pay by duration when AI actually transcribes the audio.
🛡️ Built-in cost cap. Because you can't tell in advance whether a video has captions, the AI transcription limit (minutes) input bounds what a caption-less video can cost you:
| Setting | Behaviour | Worst case per video |
|---|---|---|
| 30 (default) | AI only for caption-less videos up to 30 min | ~$0.45 |
| 0 | Never use AI — caption-less videos return metadata only | $0.00 |
| 600 | Effectively unlimited, for podcasts and long-form | ~$9.00 |
Videos that already have captions are never affected — they stay a flat $0.01 at any length. When a video is skipped by this limit you get its full metadata and are not charged for AI.
❓ Frequently Asked Questions
Q: Which YouTube URLs are supported?
A: Standard watch?v=, youtu.be short links, /shorts/, /embed/, /live/, and bare 11-character video IDs.
Q: What if a video has no captions? A: The actor automatically falls back to AI audio transcription, so you still get a transcript.
Q: How many videos can I process? A: FREE tier: 5 per run. PAID tier: unlimited.
Q: What output formats do I get? A: Plain text, timestamped segments, SRT, and VTT — export the dataset as JSON, CSV, or Excel.
Q: Does it work with private or unlisted videos? A: No — only publicly accessible videos are supported.
Q: Can I transcribe a whole list at once? A: Yes — paste multiple URLs or upload a CSV/TXT file; the URL column is auto-detected.
🐛 Troubleshooting
"Invalid YouTube URL or video ID"
- Check the URL is a real, public YouTube video
- A bare 11-character video ID also works (e.g.
dQw4w9WgXcQ)
Empty or missing transcript
- The video may have captions disabled and no usable audio — try another video
- Very new uploads may not have captions processed yet
Only 5 videos processed
- That's the FREE tier limit — upgrade your Apify plan for unlimited videos per run
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools