TikTok Transcript Scraper
Pricing
from $1.98 / 1,000 transcript results
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
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
2 days ago
Last modified
Categories
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, andlookupStatuswhere 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 need | Give the Actor | You get |
|---|---|---|
| Repurpose video content into text | URLs of your (or competitors') top videos | Timestamped text ready for blogs, newsletters, and show notes |
| Build an AI or RAG corpus | Batches of up to 500 video links | Clean WebVTT text per video, ready to embed or summarize |
| Research trends and messaging | Links collected from a hashtag or niche | Searchable text of what creators actually say on camera |
| Cover videos with no captions | The same links with useAiFallback: true | Audio 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
lookupStatusper row (found/not_found)- The input URL echoed back for easy joins
🚀 Quick start
- Fill in the Input below — sample values are pre-filled.
- Click Start and wait for the run to finish.
- Open the Dataset tab and export as JSON, CSV, or Excel.
🧪 Input recipes
videoUrls— public TikTok video linksuseAiFallback— settrueto 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}
Batch up to 500 links
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_foundorprivate— the work was done, and the row tells you why.
🧩 Related actors
- TikTok Video Scraper — video stats and author info by URL
🔗 Wire it up
Works with Make, Zapier, n8n, Apify webhooks, and scheduled runs — or call the Social Fetch API directly.
🛠️ Troubleshooting
| Symptom | What'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_found | Check the URL format against the recipes above — this Actor expects full tiktok.com/@handle/video/… links. |
Run fails with No dataset items were produced | The 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 speech | The 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
- Apify integration guide — quick start and actor catalog
- API reference — same endpoints with your
sfk_key - Missing a field or hit a snag? Open an issue on this Actor's Issues tab or email support@socialfetch.dev.