TikTok Transcript & Instagram Reels Transcript avatar

TikTok Transcript & Instagram Reels Transcript

Pricing

from $1.50 / 1,000 transcript from captions

Go to Apify Store
TikTok Transcript & Instagram Reels Transcript

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

Fetchmint

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

8

Monthly active users

a month ago

Last modified

Categories

Security

Limited permissions

Share

TikTok Transcript & Instagram Reels Transcript (+ YouTube Shorts)

Turn public TikTok, Instagram Reels and YouTube URLs into text and SRT for your workflow. Fetchmint tries platform captions first and uses local speech-to-text when captions are missing. Batch your URLs, set a maximum run cost, and keep empty or failed results out of your next step.

You do not need an external speech-to-text API key. Local AI was checked on a short English Instagram clip; quality varies with language, background audio and video availability. No-speech results have no transcript event charge, but the run start and platform usage still cost credits.

Use text that is actually present, not just the run status. Read the pricing table below before starting a run.

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):

Result (USD per 1,000)FreeBronzeSilverGoldPlatinumDiamond
TikTok captions2.502.001.801.501.501.50
YouTube captions4.004.004.004.004.004.00
Successful AI video, first started minute included20.0018.0018.0016.0016.0016.00
Each extra started AI minute (per 1,000 minutes)12.0010.0010.0010.0010.0010.00

Failed videos and no-speech results do not trigger transcript events. Each run also has an Actor Start fee of $0.0003 per GB of assigned memory (up to 1 GB counts once), on all plans. A 4 GB run starts at $0.0012; a 1 GB run at $0.0003. Start fees still apply to runs that return no useful transcript. Batch URLs to spread the start fee. AI is local faster-whisper, with no paid external API.

A 63-second successful AI video triggers one video event and one extra-minute event. On Free this costs $0.032, before the run's start fee.

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), or none (nothing found; see error).
  • text, segments and srt are always included. output repeats the one you picked in outputFormat, for tools that want a single field.
  • A bad or deleted URL gets an item with success: false and an error; 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/"
]
}
FieldDefaultNotes
urlsrequiredTikTok, 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
aiFallbacktrueTranscribe 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
proxyConfigurationApify residentialUsed only when a platform blocks direct requests

How it works

  1. Captions first. TikTok's own captions (present on most talking videos) and YouTube's captions, original language by default.
  2. 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.
  3. 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 language to en.
  • 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/activate
pip install -r requirements.txt # plus ffmpeg for the AI path
mkdir -p storage/key_value_stores/default
echo '{"urls": ["https://www.youtube.com/shorts/DBhAROQM51E"]}' > storage/key_value_stores/default/INPUT.json
APIFY_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.