TikTok Transcript (Captions to JSON)
Pricing
$1.00 / 1,000 transcript extracteds
TikTok Transcript (Captions to JSON)
TikTok video URLs or IDs in, the video's existing captions out as JSON: full transcript text, timed segments, language, and whether TikTok auto-generated them. Reads captions TikTok already publishes; no speech-to-text, no login, no proxy.
Pricing
$1.00 / 1,000 transcript extracteds
Rating
0.0
(0)
Developer
EchoEmpire Machine Foundry (EchoEmpire LLC)
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
TikTok video URLs in, the video's existing captions out as clean JSON: full transcript text, timed segments, language, and whether TikTok auto-generated them.
What it does, and what it doesn't
- It reads the caption tracks TikTok already publishes for a video (TikTok's own auto-captions or captions the creator added) and converts the WebVTT file into text and segments.
- It does not do speech-to-text. If a video has no captions on TikTok, you get a row with
status: "no_captions". That row is not billed. Many TikToks have no captions: music-only clips, very short clips, some non-English videos, and videos where the creator turned auto-captions off. Expect someno_captionsrows in every batch. - It does not download video or audio, and it does not log in.
- Public videos only. Private, deleted, or region-blocked videos return
status: "error"and are not billed.
| Input | videos[]: TikTok video URLs, vm.tiktok.com short links, or numeric video IDs (1–200 per run) |
| Output per video | videoId, url, author, description, createdAt, durationSec, language, languageCode, captionSource (auto-generated / creator / translated), isOriginalLanguage, transcript, segmentCount, segments[], availableLanguages[], status |
| Access | Public TikTok video pages and TikTok's caption CDN. No login, no browser, no proxy. |
| Call it | REST skilled_glee~tiktok-transcript · MCP https://mcp.apify.com/?tools=skilled_glee/tiktok-transcript |
Pipeline role (n8n / agents): Content → Extract. Get video URLs from TikTok User Videos, then pass transcripts to a chunker or LLM step. Full catalog: EchoEmpire Machine Foundry llms.txt.
Input
{"videos": ["https://www.tiktok.com/@tiktok/video/7692114317151423775", "7700680369246358815"],"languages": ["en"],"includeSegments": true}
videos(required, 1–200).languages(optional, in priority order, e.g.en,eng-US): empty = the video's original-language track. If none of the listed languages exists, the row isno_captions.allowTranslated(defaultfalse): also accept machine-translated tracks TikTok sometimes publishes.includeSegments(defaulttrue): timedsegments[{start, end, text}]in seconds.includeVtt(defaultfalse): the raw WebVTT file asvtt.
Output
One row per input video. Example from a real run (2026-10-30), shortened:
{"videoId": "7692114317151423775", "url": "https://www.tiktok.com/@tiktok/video/7692114317151423775", "author": "tiktok", "createdAt": "2026-10-02T16:52:37Z", "durationSec": 65, "language": "eng-US", "languageCode": "en", "captionSource": "auto-generated", "isOriginalLanguage": true, "transcript": "girl you look like you must be a K pop fan wow how'd you know if I give you this digi cam ...", "segmentCount": 21, "segments": [{"start": 0.3, "end": 4.38, "text": "girl you look like you must be a K pop fan wow how'd you know"}], "availableLanguages": [{"language": "eng-US", "languageCode": "en", "source": "auto-generated"}], "status": "ok"}
Auto-generated captions are TikTok's own speech recognition. They can contain mistakes, and this Actor passes them through unchanged. A run summary (ok / no_captions / error counts, whether a spending limit or blocking stopped the run) is saved as SUMMARY in the default key-value store.
Pricing
Pay per event: $0.001 per transcript (transcript-extracted), i.e. $1 per 1,000 videos with captions.
- You are charged only for rows with
status: "ok"(a transcript was saved). no_captionsanderrorrows are free.- Set a maximum charge per run and the Actor stops saving transcripts once that limit is reached, so you never get transcripts you were not billed for or bills above your limit.
- Apify platform usage (compute) is included in the event price.
Limits
- Requests are paced at about one video per second. If TikTok blocks 3 requests in a row, the run stops early instead of retrying forever.
- TikTok changes its web page format from time to time. If that happens, rows fail with
status: "error"(not billed) until the Actor is updated. - Photo/slideshow posts usually have no captions.