Video Transcript Extractor: Youtube, X, Facebook, Tiktok, etc. avatar

Video Transcript Extractor: Youtube, X, Facebook, Tiktok, etc.

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Video Transcript Extractor: Youtube, X, Facebook, Tiktok, etc.

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

InVideoIQ

Maintained by Community

Actor stats

4

Bookmarked

18

Total users

12

Monthly active users

18 days ago

Last modified

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 ExtractorTypical Competitor
Platforms supported7+ (YouTube, X, TikTok, Facebook, Vimeo, Dailymotion, Loom)YouTube only
Output formatTimestamped segments + LLM-ready plain textSegments only
Video metadataTitle, description, thumbnail, duration, views, likes, channel, publish dateTranscript only
SpeedFast async processing, high concurrency, no rate limitsSequential or rate-limited
Language supportMulti-language with auto-detectionLimited
Proxy handlingBuilt-in residential proxies with smart fallbackManual 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 pipeline
  • transcript — 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, and selected_language are 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

PlatformNotes
YouTubeLong-form videos, Shorts, auto-generated and manual captions
X (Twitter)Paste the tweet URL containing the video
TikTokPublic videos with available captions
FacebookPublic videos
DailymotionFull support
VimeoFull support
LoomFull 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

  1. Go to Video Transcript Extractor on Apify
  2. Click "Try for free"
  3. Paste one or more video URLs into the video_urls field — you can mix platforms in a single run
  4. (Optional) Set a language code (e.g. "en", "fr") to request a specific transcript language
  5. Click "Start" and wait for the run to finish
  6. 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

ParameterRequiredDescription
video_urlsYesArray of video URLs. Mix platforms freely in a single request
languageNoLanguage code ("en", "fr", "de"). Leave empty for default language
best_effortNoIf true, returns metadata even when no transcript is available

Advanced YouTube Settings (rarely needed)

ParameterDescription
proxy_countryTwo-letter country code for residential proxy (default: US). Auto-falls back to US if unavailable
get_yt_original_metadataFetch original (non-localized) title and description via YouTube Data API
youtube_api_keyYour 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 requests
import json
url = "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).

ScenarioCost
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

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.


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.