Video Transcript Scraper: TikTok, Instagram, YouTube & X
Pricing
from $2.00 / 1,000 transcript from subtitles
Video Transcript Scraper: TikTok, Instagram, YouTube & X
Get transcripts from TikTok, Instagram Reels, YouTube videos and Shorts, and X videos. Native subtitles first, Whisper speech-to-text when a video has none. Timestamped segments, language, author, caption and stats. Pay only for transcripts.
Pricing
from $2.00 / 1,000 transcript from subtitles
Rating
0.0
(0)
Developer
Scrape Lads
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
2
Monthly active users
a day ago
Last modified
Categories
Share
What does Video Transcript Scraper do?
Video Transcript Scraper turns TikTok, Instagram Reels, YouTube videos and Shorts, and X (Twitter) videos into clean text transcripts with timestamps. Paste video links, or a creator's profile to get their latest videos, and get one row per video. Each row has the full transcript, timestamped segments, the detected language, the author, caption, duration and engagement stats.
It reads the platform's own subtitles first (TikTok's captions and YouTube's captions), which are fast and cheap. When a video has none (every Instagram Reel, X videos, and TikToks without captions), it transcribes the audio with Whisper speech-to-text. Every row says which method was used.
Run it in Apify Console, call it from the API, schedule it, or connect it to Make, Zapier, n8n, Google Sheets or your own code. Apify takes care of proxies, retries and monitoring.
Why use this video transcript scraper?
- One actor for four platforms. You get a TikTok transcript, an Instagram transcript, a YouTube transcript and an X video transcript in the same format, with no extra tools.
- Reels transcript without subtitles. Instagram doesn't publish captions, so most tools give up. This one transcribes the speech.
- Cheap when subtitles exist. Native subtitles cost less than speech-to-text, and you only pay for speech-to-text when it is actually needed.
- Pay only for transcripts. Private, deleted or silent videos are free.
Common uses:
- AI and RAG: feed creator videos into a knowledge base or a GPT, or summarize them.
- Content research: see what top creators actually say in their hooks, scripts and calls to action.
- Repurposing: turn short videos into blog posts, newsletters and captions.
- Brand and ad monitoring: search spoken mentions of products, competitors or claims.
- Accessibility and translation: start subtitles or translations from an accurate transcript.
TikTok transcript, Instagram transcript, YouTube transcript and X video transcript
All four platforms come back in the same row format. TikTok and YouTube use their own captions when they exist. An Instagram Reels transcript and an X video transcript always come from speech-to-text, because those platforms publish no subtitles.
How to get transcripts from TikTok, Instagram, YouTube and X
- Click Try for free and open the Input tab.
- Paste video URLs into Video URLs, or creators into Profiles or channels, and set how many of the latest videos to take.
- Leave Speech-to-text on "Fallback" (recommended), or pick "Never" for subtitles only.
- Click Start. A few videos take seconds.
- Download the results as JSON, CSV, Excel or HTML, or read them through the API.
Input
Everything is set on the Input tab. Example:
{"urls": ["https://www.tiktok.com/@garyvee/video/7696603359335288078","https://www.instagram.com/reel/Dd-VQPnRz0t/","https://www.youtube.com/shorts/aNI2jv7lBPQ","https://x.com/elonmusk/status/1585341984679469056"],"profiles": ["https://www.tiktok.com/@garyvee", "https://www.youtube.com/@MrBeast/shorts"],"maxVideosPerProfile": 10,"speechToText": "fallback","language": "","includeSegments": true}
| Field | What it does |
|---|---|
urls | Video links. Accepted: TikTok videos and short links, Instagram Reels and video posts, YouTube videos, Shorts and youtu.be links, and X/Twitter posts with a video. |
profiles | Creators whose latest videos you want: tiktok.com/@name, instagram.com/name, youtube.com/@channel (add /shorts for the Shorts tab). |
maxVideosPerProfile | How many of the newest videos to take per profile (Instagram serves at most 12 without a login). |
speechToText | fallback (subtitles first, speech-to-text when there are none), always, or never. |
language | Optional two-letter code. Picks the matching subtitle track and tells Whisper which language is spoken. |
includeSegments | Include the timestamped segments (on by default). |
maxSpeechToTextSec | Longest video sent to speech-to-text (default 1,800 s). |
Output
One row per video. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
{"url": "https://www.instagram.com/reel/Dd-VQPnRz0t/","platform": "instagram","status": "success","author": "feelgoodfoodie","caption": "As soon is fall rolls around, I love to start roasting spaghetti squash...","durationSec": 30,"language": "en","transcript": "If you want an easier way to cut spaghetti squash, microwave it first for three minutes. Then it's so much easier to cut in half...","segments": [{ "start": 0, "end": 2.5, "text": "If you want an easier way to cut spaghetti squash," },{ "start": 2.5, "end": 4.4, "text": "microwave it first for three minutes." }],"wordCount": 100,"transcriptSource": "speech-to-text","subtitleKind": null,"stats": { "views": 171362, "likes": 2831, "comments": 357, "shares": null },"fromProfile": null,"errorCode": null,"charged": true}
The Output tab has three views: Transcripts, Videos and stats, and Status per URL.
Data fields
| Field | Description |
|---|---|
url, platform, videoId | The video and where it lives (tiktok, instagram, youtube, x). |
author, authorName, authorUrl | Creator handle, display name and profile link. |
title, caption | YouTube title, or the post caption or description. |
durationSec, publishedAt, thumbnailUrl | Video length, publish date (when available), cover image. |
transcript | Full transcript as one text. |
segments | { start, end, text } with times in seconds. |
language | Two-letter language of the transcript. |
transcriptSource | subtitles (platform captions) or speech-to-text (Whisper). |
subtitleKind | creator (written by the creator) or auto (platform speech recognition). |
stats | Views, likes, comments and shares, when the platform shows them. |
wordCount, fromProfile | Transcript length; the profile the video came from. |
status, errorCode, message | success, no_transcript or failed, with a reason such as private_or_removed, no_speech or too_long. |
charged | Whether this row was billed. |
How much does it cost to get video transcripts?
Pay per result, with no subscription:
- $2 per 1,000 subtitle transcripts (TikTok and YouTube videos that have captions).
- $5 per 1,000 speech-to-text transcripts (Instagram Reels, X videos, and videos without captions), covering the first minute of audio. Longer videos add $0.0025 per extra started minute (a 3-minute video costs $0.01).
- A small $0.005 start fee per run.
Failed, private, removed and silent videos are free. Example: 1,000 TikTok transcripts plus 1,000 Instagram Reels under a minute cost about $7. The free Apify plan's monthly credit covers hundreds of transcripts.
Tips
- Use Fallback mode. TikTok and YouTube captions are the cheapest and most accurate source, and speech-to-text fills the gaps.
- Choose Never to get subtitles only. Videos without them come back free with
no_subtitles. - Set Language when you need a specific subtitle track (for example
es), or to help Whisper with a less common language. - Turn off Include timestamped segments if you only need the plain text.
- Lower Longest video for speech-to-text to stop long uploads from adding extra-minute charges.
FAQ, limits and support
Is it legal to scrape video transcripts? The actor only reads public videos that anyone can watch without logging in. You are responsible for how you use the data: respect copyright, platform terms and privacy laws such as the GDPR, and don't republish creators' content without permission.
Which videos can't be transcribed? Private or deleted videos, age-restricted posts, and Instagram posts with embedding turned off. YouTube videos without captions can only be transcribed when they are very short, because YouTube doesn't serve the full audio to logged-out players. Music-only videos come back as no_speech and are free.
How accurate is speech-to-text? It uses Whisper large-v3 turbo, which handles 90+ languages and is very accurate on clear speech. Background music and heavy slang lower accuracy.
Facebook videos? Not supported yet. Open an Issue if you need them.
Found a problem or need a field? Open an Issue on the actor page. We fix things fast. For a custom pipeline, such as transcripts sent straight into your database or an AI summary per video, get in touch through the Issues tab.