GAPI

TikTok Downloader API

Videos and photo posts, resolved into direct links. Long links and short ones both work: vt.tiktok.com and vm.tiktok.com are accepted exactly as they are pasted.

GEThttps://api.gapi.dev/tiktok

Requires the X-API-Key header · responds in JSON

Parameters

urlrequiredstring

Public TikTok link. tiktok.com/@user/video/…, vt.tiktok.com/… and vm.tiktok.com/… are all accepted.

e.g. https://www.tiktok.com/@tiktok/video/7106594312292453675

Responses

{
  "platform": "tiktok",
  "type": "video",
  "title": "how many frogs did you find? 🐸 check out tiktok's #Minecraft community today!",
  "author": null,
  "thumbnail": "https://…",
  "duration": 24,
  "media": [
    { "type": "video", "url": "https://…", "quality": null, "ext": null }
  ]
}

Try it

GEThttps://api.gapi.dev/tiktok
Try
No key yet? Create one free
curl -G 'https://api.gapi.dev/tiktok' \
  --data-urlencode 'url=https://www.tiktok.com/@tiktok/video/7106594312292453675' \
  -H 'X-API-Key: YOUR_KEY'

What each link gives you

You sendtypemedia contains
tiktok.com/@user/video/…videothe video with its audio already in it
a photo post with one imageimagethe image at full resolution
a photo post with severalalbumevery image in the post

What it does not do

Private accounts and live streams. Profiles, search results and sounds are not endpoints here either: this one takes a link to a post and returns what is inside it.

Field-by-field detail is on the response shape page.

Code examples

The same request in four languages. Swap in the key from your dashboard and it runs as it is.

curl -G 'https://api.gapi.dev/tiktok' \
  --data-urlencode 'url=https://www.tiktok.com/@tiktok/video/7106594312292453675' \
  -H 'X-API-Key: gapi_live_your_key_here'

One call, one request

A carousel with ten slides costs the same as a single photo: one charge against your balance. You pay for calls, not for files.

Other platforms