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/transcript1 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.
Other TikTok endpoints
- ProfileGET /v1/tiktok/profiles/{handle}
- Profile videosGET /v1/tiktok/profiles/{handle}/videos
- Profile followersGET /v1/tiktok/profiles/{handle}/followers
- Profile followingGET /v1/tiktok/profiles/{handle}/following
- Profile regionGET /v1/tiktok/profiles/{handle}/region
- Profile audienceGET /v1/tiktok/profiles/{handle}/audience
- Live streamGET /v1/tiktok/profiles/{handle}/live
- User searchGET /v1/tiktok/users/search