TikTok Transcript & Instagram Reels Transcript
Pricing
from $1.50 / 1,000 transcript from captions
TikTok Transcript & Instagram Reels Transcript
TikTok and Instagram Reels transcripts (plus YouTube Shorts) as text, timestamped segments or SRT. No login or API key. Platform captions first, AI speech-to-text only when there are none.
Pricing
from $1.50 / 1,000 transcript from captions
Rating
0.0
(0)
Developer
Fetchmint
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
TikTok Transcript & Instagram Reels Transcript (+ YouTube Shorts)
Get a TikTok transcript, Instagram Reels transcript, or YouTube Shorts transcript as clean text, timestamped segments, or an SRT subtitle file, from a plain list of video URLs. Mix all three platforms in one run. No login, no cookies, no API key.
Built for video-to-text pipelines: AI/RAG ingestion, content repurposing (turn a Reel into a blog post or newsletter), competitor and trend research, and subtitles for re-uploads. Works the same when called by an AI agent over Apify's MCP server.
Why it's cheap
Most transcript tools run AI speech-to-text on every video. But TikTok and YouTube already publish captions for most videos. This Actor reads those captions first (a few KB, no audio download) and only runs AI transcription when a video has none. You pay for what was actually needed, at your Apify discount tier (set by your Apify plan):
| What happened | Free | Bronze & Silver | Gold and up |
|---|---|---|---|
| TikTok video with captions | $0.0025 | $0.002 | $0.0015 |
| YouTube Short with captions | $0.004 | $0.004 | $0.004 |
| No captions, so AI transcribed the audio (all Instagram Reels, some TikToks), per started minute of video | $0.008 | $0.008 | $0.008 |
| Failed video, bad URL, or no speech found | free | free | free |
Each run also has a start fee of $0.0003 per GB of memory (up to 1 GB counts once).
With AI fallback on (the default) a run uses 4 GB, so $0.0012 per run; with
aiFallback off it uses 1 GB, so $0.0003. Batch your URLs to spread it.
Example: 100 TikToks with captions in one run on the Free tier cost 100 x $0.0025 + $0.0012 = $0.25.
What you get (one item per URL)
{"url": "https://www.tiktok.com/@nasa/video/7689547576265149710","platform": "tiktok","videoId": "7689547576265149710","author": "nasa","durationSec": 121,"language": "eng-US","source": "captions","text": "Full transcript as one string...","segments": [{"start": 0.0, "end": 2.4, "text": "First caption line"}],"srt": "1\n00:00:00,000 --> 00:00:02,400\nFirst caption line\n","output": "Full transcript as one string...","success": true}
source:captions(the platform's own captions),ai(AI speech-to-text), ornone(nothing found; seeerror).text,segmentsandsrtare always included.outputrepeats the one you picked inoutputFormat, for tools that want a single field.- A bad or deleted URL gets an item with
success: falseand anerror; it never stops the rest of the run.
Input
{"urls": ["https://www.tiktok.com/@nasa/video/7689547576265149710","https://www.youtube.com/shorts/DBhAROQM51E","https://www.instagram.com/reel/DduQxrBjnsB/"]}
| Field | Default | Notes |
|---|---|---|
urls | required | TikTok, Instagram Reel/post, or YouTube Shorts URLs |
language | "auto" | auto = each video's original language. Or an ISO code (en, es, pt...) to prefer that caption track; YouTube can translate into it |
aiFallback | true | Transcribe the audio with AI when a video has no captions |
localModelSize | "base" | AI model: base (more accurate) or tiny (a bit faster). Same price |
outputFormat | "text" | Which of text / segments / srt goes into output |
proxyConfiguration | Apify residential | Used only when a platform blocks direct requests |
How it works
- Captions first. TikTok's own captions (present on most talking videos) and YouTube's captions, original language by default.
- AI fallback. No captions (Instagram never publishes them)? The Actor
downloads the smallest audio track and transcribes it with Whisper
(
faster-whisper, running inside the Actor; by default your audio isn't sent to any third-party API). Music-only clips come back empty and free instead of with made-up text. - Cheapest route that works. TikTok and Instagram are fetched directly; the residential proxy is used for YouTube and as a retry, which keeps prices low.
Tips
- Batch your URLs: one run with 100 URLs is faster and cheaper than 100 runs.
- For English subtitles of non-English YouTube Shorts, set
languagetoen. - Set a maximum cost per run in Apify; the Actor stops cleanly when it's reached and never starts an AI transcription it can't finish within it.
Using it from an AI agent / MCP
Available through Apify's MCP server like any Store Actor. An agent passes a list of URLs and gets structured transcripts back.
Limits
- Private, deleted, age-restricted or region-locked videos can't be read.
- Instagram occasionally rate-limits; failed items say so and cost nothing.
- AI transcripts are good on clear speech and weaker over loud music or overlapping voices.
Running locally
python -m venv venv && source venv/bin/activatepip install -r requirements.txt # plus ffmpeg for the AI pathmkdir -p storage/key_value_stores/defaultecho '{"urls": ["https://www.youtube.com/shorts/DBhAROQM51E"]}' > storage/key_value_stores/default/INPUT.jsonAPIFY_LOCAL_STORAGE_DIR=./storage python -m src
Results land in storage/datasets/default/.
Not affiliated with or endorsed by TikTok/ByteDance, Instagram/Meta or YouTube/Google. Trademarks belong to their owners.