TikTok hub

TikTok video API

Resolve one public TikTok post by URL into structured video, author, music, metrics, and media fields in the shared Social Fetch envelope.

GET /v1/tiktok/videos

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

About this endpoint

Share links show up in tickets, Slack threads, and scrape queues long before you have a stable creator feed. You need one post's caption, engagement, and media URLs without paging a whole profile or spinning up a headless browser for every paste.

`GET /v1/tiktok/videos` takes a public TikTok `url` (full `/@user/video/…` links or short links). On a found lookup you get `data.video` (id, url, caption, createdAt, durationMs, mediaType, isAd), plus `data.author`, `data.music`, `data.metrics`, and `data.media` (download URLs, thumbnail, optional slideshow image list). Branch on `data.lookupStatus` (`found` / `not_found`) before you write rows. Optional query params: `region`, `trim` for a smaller payload, `getTranscript=true` to attach WebVTT when a caption track exists, and `downloadMedia=true` for hosted CDN assets in `data.downloads`.

Cost is 1 credit base. `downloadMedia=true` adds 10 credits (11 max on a successful lookup), even if `downloads` ends up empty. Prefer the dedicated transcript route when speech-to-text fallback matters; this route's `getTranscript` only returns a track when one is already available. Confirm billing with `meta.creditsCharged` on every response.

TikTok video API FAQ

How do I get TikTok video details by URL via API?

Call `GET /v1/tiktok/videos` with your Social Fetch API key (`x-api-key`) and a public post `url` query param. Read `data.lookupStatus`, then `data.video`, `data.author`, `data.metrics`, and `data.media`. Full parameters and examples are in the API docs.

How much does the TikTok video endpoint cost?

1 credit base. `downloadMedia=true` adds 10 credits (11 total on a successful lookup). Check `meta.creditsCharged` on every response — that field is the billing source of truth.

What does downloadMedia do on GET /v1/tiktok/videos?

When true, Social Fetch attempts to include hosted CDN URLs in `data.downloads` when media is available. The surcharge applies on successful lookups even if `downloads` is empty. Leave it off unless you need durable hosted assets.

Can this endpoint return a transcript?

Yes, pass `getTranscript=true` to include WebVTT in `data.transcript` when a caption track exists. It does not run AI speech-to-text. For caption-or-AI fallback, use `GET /v1/tiktok/videos/transcript` with `useAiFallback`.

Does GET /v1/tiktok/videos work for photo carousels?

Yes. Posts can resolve as `mediaType` `video` or `slideshow`. Slideshows may populate `data.media.slideshowImages` with ordered image URLs. Pass the public post URL the same way you would for a video.

What URL formats does the TikTok video API accept?

Public TikTok video or photo post URLs, including `/@user/video/…` links and short links. Private or deleted posts resolve as `not_found` rather than a fake empty object.

How is this different from listing a profile's videos?

This route resolves one post by URL. `GET /v1/tiktok/profiles/{handle}/videos` pages a creator's feed by handle. Use the list route to discover posts, then this route (or transcript / comments) when you need depth on a single clip.

Do I need TikTok OAuth to look up a video?

No. You authenticate to Social Fetch with an API key. The route reads public post data; it does not act on behalf of a logged-in TikTok user.