TikTok Transcript Scraper avatar

TikTok Transcript Scraper

Pricing

from $1.98 / 1,000 transcript results

Go to Apify Store
TikTok Transcript Scraper

TikTok Transcript Scraper

Extract TikTok video transcripts as WebVTT JSON. Optional AI fallback for videos without captions. Pay per transcript.

Pricing

from $1.98 / 1,000 transcript results

Rating

0.0

(0)

Developer

Social Fetch

Social Fetch

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

2

Monthly active users

2 days ago

Last modified

Share

Transcribing TikToks by hand doesn't scale past a handful of videos, and browser-based caption scrapers charge browser prices for what is ultimately just text. Paste up to 500 video links and get timestamped WebVTT transcripts back as structured rows at $1.98 per 1,000 — with an optional AI fallback for videos that ship no caption track at all.

Timestamped transcripts from any public TikTok video URL — built for content repurposing, research, and AI pipelines.

🔥 $1.98 per 1,000 rows · up to 500 URLs per run · ⚡ API-based — no browser, no proxies · integration guide

💡 Why this scraper

  • 💵 Flat $1.98 per 1,000 rows — about 80% below typical TikTok scrapers on the Store, with platform API usage included in the price.
  • API calls, not browser automation — no headless Chrome to babysit, no proxies to rent, no cookies or logins. Runs start fast and fit in 256–512 MB of memory.
  • 📦 Structured rows, every time — each dataset row is the same Social Fetch API envelope (data, meta, and lookupStatus where applicable), so your parsing never breaks when TikTok redesigns its UI.
  • 🔁 Nothing locked to Apify — the same endpoint is available on the Social Fetch API with an sfk_ key when you outgrow Actor runs.

New to Social Fetch on Apify? The integration guide has screenshots, the actor catalog, and troubleshooting.

🎯 What can you do with it

You needGive the ActorYou get
Repurpose video content into textURLs of your (or competitors') top videosTimestamped text ready for blogs, newsletters, and show notes
Build an AI or RAG corpusBatches of up to 500 video linksClean WebVTT text per video, ready to embed or summarize
Research trends and messagingLinks collected from a hashtag or nicheSearchable text of what creators actually say on camera
Cover videos with no captionsThe same links with useAiFallback: trueAudio transcription when no caption track exists

📦 Data you get

Transcript

  • Timestamped WebVTT caption text
  • Transcript format field
  • Optional AI transcription when no caption track exists

Video

  • Video ID and canonical URL

Run metadata

  • lookupStatus per row (found / not_found)
  • The input URL echoed back for easy joins

🚀 Quick start

  1. Fill in the Input below — sample values are pre-filled.
  2. Click Start and wait for the run to finish.
  3. Open the Dataset tab and export as JSON, CSV, or Excel.

🧪 Input recipes

  • videoUrls — public TikTok video links
  • useAiFallback — set true to transcribe audio when no caption track exists

Single lookup

Start with one link to see the exact row shape.

{
"videoUrls": [
"https://www.tiktok.com/@mrbeast/video/7596844935442189598"
],
"useAiFallback": false
}

Swap in your own links — one dataset row per URL, in input order.

{
"videoUrls": [
"https://www.tiktok.com/@mrbeast/video/7596844935442189598",
"https://www.tiktok.com/@<handle>/video/<video-id>"
]
}

Transcribe videos without captions

Some videos ship no caption track. Turn on the AI fallback to transcribe the audio instead — it's billed at a higher event, so leave it off when native captions are enough.

{
"videoUrls": [
"https://www.tiktok.com/@mrbeast/video/7596844935442189598"
],
"useAiFallback": true
}

📤 Example output

{
"data": {
"lookupStatus": "found",
"video": {
"id": "7596844935442189598",
"url": "https://www.tiktok.com/@mrbeast/video/7596844935442189598"
},
"transcript": {
"format": "webvtt",
"content": "WEBVTT\n\n\n00:00:00.060 --> 00:00:03.100\nThis is the world's largest LED floor.\n..."
}
},
"meta": {
"requestId": "req_31ab053d-8f69-4968-b138-1dc3cbf6492b",
"version": "v1"
}
}

Rows may include data.lookupStatus (found, not_found, or private). Completed lookups are billed, including not_found.

💵 Pricing & cost control

Cost per 1,000 transcripts
TikTok Transcript Scraper$1.98
Typical TikTok scrapers on Apify$10.00

Roughly 80% less than many TikTok transcript scrapers on the Store — structured API data behind every row.

Keeping costs predictable

  • Pay-per-event pricing: you pay for results, not platform usage — no compute or proxy surcharges on top.
  • A run can never bill more rows than the URLs you submit (up to 500), so the ceiling on a run's cost is known before you press Start.
  • Completed lookups are billed even when the result is not_found or private — the work was done, and the row tells you why.

🔗 Wire it up

Works with Make, Zapier, n8n, Apify webhooks, and scheduled runs — or call the Social Fetch API directly.

🛠️ Troubleshooting

SymptomWhat's happening
A row says "lookupStatus": "not_found"The TikTok content doesn't exist, was deleted, or the input has a typo. The lookup completed, so the row is billed — it echoes the input value so you can spot the culprit.
Links you know exist come back not_foundCheck the URL format against the recipes above — this Actor expects full tiktok.com/@handle/video/… links.
Run fails with No dataset items were producedThe input list was empty or no lookups completed. Copy a recipe above and swap in your own values.
A transcript row is empty for a video that clearly has speechThe creator didn't attach a caption track. Re-run those URLs with useAiFallback: true to transcribe the audio instead.

❓ FAQ

  • Do I need a Social Fetch API key? No — your Apify token is enough. Never paste an sfk_ key into Actor input.
  • Why was I charged for not_found? The lookup completed, but TikTok did not return that profile, video, or post. That still counts as a billable dataset row.
  • What URLs work? Standard TikTok video links (.../video/123...). Profile URLs belong in the profile Actors, not here.
  • What format are transcripts in? WebVTT — timestamped cue lines you can parse, use as subtitles, or feed straight into an LLM.
  • Is it legal to scrape TikTok? This Actor reads only publicly available data — no logins, no private accounts, nothing beyond what TikTok shows any visitor. How you store and use the data is your responsibility; review TikTok's terms and the laws that apply to your use case.

🤝 Support & more