TikTok Transcript (Captions to JSON) avatar

TikTok Transcript (Captions to JSON)

Pricing

$1.00 / 1,000 transcript extracteds

Go to Apify Store
TikTok Transcript (Captions to JSON)

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

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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 some no_captions rows 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.
Inputvideos[]: TikTok video URLs, vm.tiktok.com short links, or numeric video IDs (1–200 per run)
Output per videovideoId, url, author, description, createdAt, durationSec, language, languageCode, captionSource (auto-generated / creator / translated), isOriginalLanguage, transcript, segmentCount, segments[], availableLanguages[], status
AccessPublic TikTok video pages and TikTok's caption CDN. No login, no browser, no proxy.
Call itREST 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 is no_captions.
  • allowTranslated (default false): also accept machine-translated tracks TikTok sometimes publishes.
  • includeSegments (default true): timed segments [{start, end, text}] in seconds.
  • includeVtt (default false): the raw WebVTT file as vtt.

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_captions and error rows 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.