Social Fetch
TikTok

Get TikTok video

Returns public metadata for a single TikTok video or photo post.

Operation

GET/v1/tiktok/videos

Pricing

Base
1 credit
downloadMedia = trueHosted media download
+10 credits

Headers

x-api-keystringrequired(header)

API key (`sfk_...`)

Parameters

urlstringrequired(query)

Link to the video or photo post.

min 1 chars · max 4096 chars

regionstring(query)

Optional two-letter region (country code) used to route the request when needed.

min 1 chars

trimboolean(query)

When true, returns a smaller response with fewer fields.

downloadMediaboolean+10 credits(query)

When true, includes hosted CDN URLs in `downloads` when available. Adds 10 credits (11 total with the base lookup) on successful lookups, even if `downloads` is empty.

getTranscriptboolean(query)

When true, includes the video transcript (WEBVTT) in `transcript` when one is available.

Response fields

data
objectrequired

Endpoint-specific response payload.

datalookupStatus
stringrequired

Whether the video was resolved.

one of: found, not_found

datavideo
objectrequirednullable

Video details when found.

datavideoid
stringrequired

TikTok video id.

min 1 chars

datavideourl
stringrequired

Canonical public TikTok URL for this video.

min 1 chars

datavideocaption
stringrequirednullable

Caption text.

datavideocreatedAt
stringrequirednullable

ISO-8601 timestamp when the video was posted.

datavideoregion
stringnullable

Video region (two-letter country code).

datavideodurationMs
integerrequirednullable

Video duration in milliseconds.

≥ 0

datavideomediaType
stringrequired

Whether the post is a video or a photo slideshow.

one of: video, slideshow

datavideoisAd
booleanrequired

Whether TikTok marks the post as an ad.

dataauthor
objectrequirednullable

Author when found.

dataauthorplatformUserId
string

Numeric user id.

dataauthorsecUid
string

Stable opaque user id.

dataauthorhandle
stringrequired

Public username without a leading @.

min 1 chars

dataauthornickname
stringnullable

Display name.

dataauthorverified
booleanrequired

Whether the account is verified.

dataauthoravatarUrl
stringnullable

Profile picture URL.

dataauthorsignature
stringnullable

Profile bio text.

dataauthorregion
stringnullable

Two-letter country code when available.

dataauthorprivateAccount
boolean

Whether the account is private.

datamusic
objectrequirednullable

Music or sound when found.

datamusicid
stringnullable

Music or sound id.

datamusictitle
stringnullable

Music title.

datamusicauthor
stringnullable

Music author.

datamusicplayUrl
stringnullable

Music playable URL.

datamusiccoverUrl
stringnullable

Music cover image URL.

datamusicdurationSec
numbernullable

Music duration in seconds.

≥ 0

datamusicisOriginal
boolean

Whether the sound is marked as original.

datametrics
objectrequirednullable

Engagement metrics for the video.

datametricsviews
integernullable

Play count.

≥ 0

datametricslikes
integernullable

Like count.

≥ 0

datametricscomments
integernullable

Comment count.

≥ 0

datametricsshares
integernullable

Share count.

≥ 0

datametricssaves
integernullable

Save or collection count.

≥ 0

datamedia
objectrequirednullable

Primary playable media payload for the video.

datamediadownloadUrl
stringrequirednullable

Best available video URL (typically watermarked).

datamediadownloadWithoutWatermarkUrl
stringrequirednullable

Best available video URL without watermark.

datamediathumbnailUrl
stringrequirednullable

Thumbnail or cover image URL.

datamediadimensions
object

Pixel dimensions.

datamediadimensionswidth
integerrequired

≥ 0

datamediadimensionsheight
integerrequired

≥ 0

datamediaslideshowImages
array

Ordered image URLs when the post is a photo slideshow.

datamediaslideshowImages[]
string
datatranscript
objectrequirednullable

Populated only when `getTranscript=true` was passed and a transcript was available.

datatranscriptformat
stringrequired

Transcript format.

one of: webvtt

datatranscriptcontent
stringrequired

Raw transcript text.

datadownloads
arrayrequired

Populated only when `downloadMedia=true` was passed and media was available.

datadownloads[]postId
string

Video id from the post.

datadownloads[]originalUrl
stringrequired

Source media URL.

datadownloads[]cdnUrl
stringrequired

Permanent hosted URL.

datadownloads[]type
stringrequired

Asset type.

one of: video, image

datadetails
object

Additional TikTok-native fields from the post (author, music, video, etc.), minus keys already promoted above.

meta
objectrequired

Metadata describing the request and billing outcome.

metarequestId
stringrequired

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integerrequired

Credits charged for this request.

≥ 0

metaversion
stringrequired

Public API version that served the response.

one of: v1

Code example

Responses

Video metadata (found or not found in body).

Error codes

bad_requestinsufficient_creditsinternal_errorlookup_failedtemporarily_unavailableunauthorized

On this page