Video Transcript Extractor: Youtube, X, Facebook, Tiktok, etc.
Pricing
from $10.00 / 1,000 results
Video Transcript Extractor: Youtube, X, Facebook, Tiktok, etc.
Scrapes transcripts from online video/audio content on multiple plateforms (Youtube, X, ..) in any available language. It delivers outputs in both JSON and LLM-ready formats, making it ideal for analytics, and AI-based applications. Perfect for research and building intelligent conversational agents
Pricing
from $10.00 / 1,000 results
Rating
5.0
(3)
Developer
InVideoIQ
Actor stats
4
Bookmarked
18
Total users
12
Monthly active users
18 days ago
Last modified
Categories
Share
🎯 Video Transcript Extractor: One API for Every Video Platform
Most transcript tools only work with YouTube. Video Transcript Extractor works everywhere.
Extract clean, structured transcripts from YouTube, X (Twitter), TikTok, Facebook, Dailymotion, Vimeo, Loom, and more through a single, unified API. No switching between tools, no per-platform headaches.
Send a URL. Get back timestamped transcript + rich metadata in seconds.
💰 $0.01 per video · 🌍 Multi-language · ⚡ High concurrency
✨ Why Teams Choose Video Transcript Extractor
| Video Transcript Extractor | Typical Competitor | |
|---|---|---|
| Platforms supported | 7+ (YouTube, X, TikTok, Facebook, Vimeo, Dailymotion, Loom) | YouTube only |
| Output format | Timestamped segments + LLM-ready plain text | Segments only |
| Video metadata | Title, description, thumbnail, duration, views, likes, channel, publish date | Transcript only |
| Speed | Fast async processing, high concurrency, no rate limits | Sequential or rate-limited |
| Language support | Multi-language with auto-detection | Limited |
| Proxy handling | Built-in residential proxies with smart fallback | Manual or none |
📊 What Data Can Video Transcript Extractor Extract?
Every request returns two transcript formats plus rich metadata:
text— The full transcript as a single plain string, ready to feed into any LLM or NLP pipelinetranscript— Timestamped segments with precise start/end times, ideal for indexing, search, and UI display- Video metadata — Title, description, thumbnail, duration, view count, like count, channel info, publish date
- Language info — Available languages and which one was selected
{"title": "How to Build a Startup in 2026","description": "In this video we break down...","duration": 847,"thumbnail": "https://i.ytimg.com/vi/abc123/maxresdefault.jpg","view_count": 284000,"like_count": 12400,"published_date": "2026-03-10","channel": "TechFounders","channel_url": "https://youtube.com/@TechFounders","channel_id": "UC1234567890","available_languages": ["English", "French", "Spanish"],"selected_language": "English","text": "Welcome back to the channel. Today we're going to talk about...","transcript": [{ "text": "Welcome back to the channel.", "start": 0.0, "end": 1.8 },{ "text": "Today we're going to talk about...", "start": 1.8, "end": 4.2 }]}
Note:
like_count,channel,channel_url,available_languages, andselected_languageare currently available for YouTube videos only.
You can download the dataset extracted by Video Transcript Extractor in various formats such as JSON, CSV, Excel, or HTML directly from the Apify dashboard.
🔗 Supported Video Platforms
| Platform | Notes |
|---|---|
| YouTube | Long-form videos, Shorts, auto-generated and manual captions |
| X (Twitter) | Paste the tweet URL containing the video |
| TikTok | Public videos with available captions |
| Public videos | |
| Dailymotion | Full support |
| Vimeo | Full support |
| Loom | Full support |
Also works on many other video hosting sites and media platforms. If it has embedded subtitles, this actor can probably extract them.
Need to transcribe videos that don't have captions (e.g. Instagram, or videos without any subtitle track)? Use our speech-to-text companion actor: Video Transcriber.
🛠️ How To Extract Video Transcripts Using Video Transcript Extractor
- Go to Video Transcript Extractor on Apify
- Click "Try for free"
- Paste one or more video URLs into the
video_urlsfield — you can mix platforms in a single run - (Optional) Set a
languagecode (e.g."en","fr") to request a specific transcript language - Click "Start" and wait for the run to finish
- Download your transcripts in JSON, CSV, Excel, or HTML from the dataset tab
Run it your way
Because this is an Apify Actor, you also get:
- API access: Call it programmatically from any language — check the API tab for ready-made code examples
- Scheduling: Set up recurring runs to monitor new video content automatically
- Integrations: Connect to Zapier, Make, Google Sheets, webhooks, and more
- Monitoring: Track run history, costs, and results from the Apify dashboard
📥 Input
| Parameter | Required | Description |
|---|---|---|
video_urls | Yes | Array of video URLs. Mix platforms freely in a single request |
language | No | Language code ("en", "fr", "de"). Leave empty for default language |
best_effort | No | If true, returns metadata even when no transcript is available |
Advanced YouTube Settings (rarely needed)
| Parameter | Description |
|---|---|
proxy_country | Two-letter country code for residential proxy (default: US). Auto-falls back to US if unavailable |
get_yt_original_metadata | Fetch original (non-localized) title and description via YouTube Data API |
youtube_api_key | Your own YouTube Data API v3 key. Optional — a shared key is provided by default |
Input Example
{"video_urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://x.com/elonmusk/status/1234567890","https://www.tiktok.com/@user/video/1234567890"],"language": "en"}
Yes, you can mix platforms in a single batch. They all come back in the same format.
🚀 Quick Start Code Examples
cURL
curl -X POST "https://api.apify.com/v2/acts/invideoiq~video-transcript-extractor/run-sync?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"video_urls": ["https://www.youtube.com/watch?v=vl6jn-DdafM", "https://www.youtube.com/watch?v=4czjS9h4Fpg"]}'
Python
import requestsimport jsonurl = "https://api.apify.com/v2/acts/invideoiq~video-transcript-extractor/run-sync?token=YOUR_TOKEN"data = {"video_urls": ["https://www.youtube.com/watch?v=vl6jn-DdafM","https://www.youtube.com/watch?v=4czjS9h4Fpg"]}response = requests.post(url, json=data, headers={"Content-Type": "application/json"})print(json.dumps(response.json(), indent=4, ensure_ascii=False))
JavaScript
const response = await fetch("https://api.apify.com/v2/acts/invideoiq~video-transcript-extractor/run-sync?token=YOUR_TOKEN",{method: "POST",headers: { "Content-Type": "application/json" },body: JSON.stringify({video_urls: ["https://www.youtube.com/watch?v=vl6jn-DdafM","https://www.youtube.com/watch?v=4czjS9h4Fpg",],}),});const data = await response.json();console.log(data);
💰 How Much Does Video Transcript Extraction Cost?
$10 per 1,000 results (pay per result — you are not charged for Apify platform usage, only a fixed price per extraction event).
| Scenario | Cost |
|---|---|
| 1 video | ~$0.01 |
| 100 videos | ~$1.00 |
| 1,000 videos | $10.00 |
| 10,000 videos | $100.00 |
On the Apify free plan, you get $5 of platform usage credits per month — enough to test the actor and extract transcripts from hundreds of videos before committing to a paid plan.
📈 Use Cases for Video Transcript Extraction
- RAG pipelines and AI agents — Feed video transcripts into your retrieval-augmented generation system. One API call gives you LLM-ready text.
- Content repurposing — Turn YouTube videos, tweets, and TikToks into blog posts, newsletters, or social media threads
- Market research — Monitor what competitors, influencers, or thought leaders say across platforms. Batch-process hundreds of URLs.
- Accessibility and compliance — Generate text versions of video content for accessibility requirements
- Media monitoring — Track brand mentions across video platforms at scale
- Dataset building — Build training datasets from video content across multiple platforms
- Sentiment analysis — Process transcripts through NLP pipelines for opinion mining and brand perception
❓ FAQ
Is it legal to extract video transcripts?
This actor extracts publicly available subtitle tracks and does not access private user data such as email addresses, gender, or location — only information that users and platforms have chosen to share publicly. However, results may contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not extract personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
What if a video has no subtitles/captions?
The actor relies on embedded subtitle tracks (manual or auto-generated). If none exist, it returns an error — or metadata-only if best_effort is enabled. For videos without any captions, use our Video Transcriber which uses speech-to-text.
Can I specify a transcript language?
Yes. Pass a language code like "en" or "fr" in the language field. If that language isn't available for a given video, you'll get a clear message. When in doubt, leave it empty and the actor returns the default language. For YouTube, check the available_languages field in the output to see what's available.
How many videos can I process at once?
As many as you need. Pass all your URLs in the video_urls array and the actor processes them concurrently with no rate limiting.
Does it work with private or age-restricted videos?
No. The actor can only access publicly available videos with public subtitle tracks.
I'm getting an error for my URL. What's wrong?
Make sure the URL is a complete, direct link to the video (e.g. https://www.youtube.com/watch?v=..., not a shortened or embedded URL). The actor supports direct links from YouTube, X (tweet URLs), TikTok, Facebook, Vimeo, Dailymotion, and Loom.
What is the difference between Video Transcript Extractor and Video Transcript Scraper?
Both extract caption-based transcripts with the same output format. Video Transcript Extractor uses pay-per-result pricing ($10/1,000 results), while Video Transcript Scraper uses a rental model ($19.99/month + usage). Choose whichever pricing model fits your usage pattern.
🔗 Related Actors
Need a different pricing model or a different kind of output? Check the rest of the suite:
- Video Transcript Scraper — Rental model, $20/month + usage. Best if you want the same transcript-retrieval workflow under a rental plan.
- Video Transcriber — Speech-to-text for videos that do not already have captions or subtitle tracks.
- AI Video Data Extractor — AI-powered structured data extraction. Define a JSON schema and get back custom structured data from any video.
💬 Support
Found a bug or have a feature request? Open an issue and we'll get back to you.
Need a custom workflow or integration? Reach out through the Issues tab — we're happy to help tailor the actor to your use case.