TikTok hub

TikTok transcript API

Resolve spoken text from a public TikTok video URL — WebVTT when a caption track exists, optional AI speech-to-text when it does not.

GET /v1/tiktok/videos/transcript

1 credit base, +10 with `useAiFallback`. Up to 11 credits max.

About this endpoint

Short-form research queues often hold a TikTok share link and need the spoken lines for search, moderation, or RAG. Many clips never upload a caption track. Rolling your own path means downloading media, parsing VTT when it exists, then calling a separate STT vendor when it does not — two failure modes and two invoices.

`GET /v1/tiktok/videos/transcript` takes a public video `url` (`/@user/video/…` or `vm.tiktok.com` short links). On success, branch on `data.lookupStatus` (`found` / `not_found`), then read `data.video` and `data.transcript`. When text is present, `data.transcript` is `{ format: "webvtt", content }` — not a bare string. `lookupStatus: found` means the video resolved; `transcript` can still be null if no captions were available and you did not enable AI fallback.

Set `useAiFallback=true` only when you need speech-to-text for uncaptioned video (adds 10 credits; 11 max with the base 1). Optional `language` is a two-letter preference when multiple tracks exist. Photo carousels are not videos — those calls fail with `transcript_target_not_video`. Confirm billing with `meta.creditsCharged`.

TikTok transcript API FAQ

How do I get a TikTok video transcript via API?

Call `GET /v1/tiktok/videos/transcript` with your Social Fetch API key (`x-api-key`) and a public video `url` query param. Read `data.lookupStatus`, then `data.transcript` (`format` + `content` when present). Full parameters and examples are in the API docs.

How much does the TikTok transcript endpoint cost?

1 credit base. `useAiFallback=true` adds 10 credits (11 max on a completed lookup). Prefer the caption-only path first; enable AI fallback only when you need text from clips with no track. Confirm with `meta.creditsCharged`.

What does useAiFallback do on TikTok transcripts?

When true, Social Fetch runs AI speech-to-text if a caption track is not otherwise available. That adds 10 credits on completed lookups (11 total with the base 1). Do not blanket-enable it on large batches unless every clip must be transcribed.

What URL formats does the TikTok transcript API accept?

Public TikTok video URLs, including `/@user/video/…` links and `vm.tiktok.com` short links. Photo carousel URLs are not videos and return `transcript_target_not_video`.

What format is the TikTok transcript response?

When text is available, `data.transcript` is an object with `format: "webvtt"` and `content` (the WebVTT body). It is not plainText segments and not a bare string. Always check `data.lookupStatus` and whether `transcript` is null before parsing.

Can I request a specific language for TikTok transcripts?

Yes. Pass optional two-letter `language` when you want a preferred track. Social Fetch uses that language when it is available; creators do not always upload captions in that language.

Does found always mean TikTok returned spoken text?

No. `found` means the video resolved. `data.transcript` can still be null when no caption track exists and `useAiFallback` was false. `not_found` means the lookup finished with nothing to return. A completed lookup still charges the base credit; use AI fallback when you need STT for uncaptioned clips.