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.
GET
https://api.gapi.dev/tiktokRequires the X-API-Key header · responds in JSON
Parameters
urlrequiredstringPublic TikTok link. tiktok.com/@user/video/…, vt.tiktok.com/… and vm.tiktok.com/… are all accepted.
e.g. https://www.tiktok.com/@tiktok/video/7106594312292453675Responses
{
"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
GET
https://api.gapi.dev/tiktokTry
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 send | type | media contains |
|---|---|---|
tiktok.com/@user/video/… | video | the video with its audio already in it |
| a photo post with one image | image | the image at full resolution |
| a photo post with several | album | every 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.