Everything you need to integrate TikDL into your app. No auth, no SDK, single GET request.
Single endpoint. No versioning, no auth. One URL and you're done.
Replace {tiktok_url} with any TikTok or vt.tiktok.com URL, URL-encoded.
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | Full TikTok video/slideshow URL or short link (vt.tiktok.com) |
true on success, false on error"video" or "image" (slideshow)// Download TikTok video const url = "https://www.tiktok.com/@user/video/123456789"; const res = await fetch(`/api/tiktok?url=${encodeURIComponent(url)}`); const data = await res.json(); if (data.status) { console.log("Creator:", data.username); console.log("Video:", data.video); // no watermark console.log("Music:", data.music); // audio only console.log("Images:", data.images); // slideshow }
curl "https://your-domain.vercel.app/api/tiktok?url=https%3A%2F%2Fwww.tiktok.com%2F%40user%2Fvideo%2F123"
{
"status": true,
"type": "video",
"username": "creator123",
"caption": "My cool video #fyp",
"avatar": "https://p16-sign.tiktokcdn.com/...",
"video": "https://tikcdn.io/ssstik/...",
"music": "https://tikcdn.io/ssstik/m/...",
"images": []
}
import requests, urllib.parse url = "https://www.tiktok.com/@user/video/123456789" api = f"https://your-domain.vercel.app/api/tiktok?url={urllib.parse.quote(url)}" data = requests.get(api).json() if data["status"]: print(f"Video: {data['video']}")
All errors return {"status": false, "error": "message"}
?url= param, or URL is not a valid TikTok link