TikTok Video Downloader API
TikTok links resolve to a watermark-free video URL. Photo slideshows come back as a list of images rather than a video, and the background track is included as a separate audio entry — so one call covers all three post types. formats[] lists every rendition the source publishes — watermark-free, HD, watermarked and the mp3 — each with a direct URL and its exact size, and meta carries the author, view count and publish date.
videoimageaudioGET /v1/tiktok1.5 credits
Links we accept
Any public post URL on these hosts. Short links and country mirrors are resolved for you.
https://www.tiktok.com/@user/video/123https://vm.tiktok.com/ZS8abc/https://vt.tiktok.com/ZS8abc/
Hosts
tiktok.com
Request
curl -s "https://api.saveapi.org/v1/tiktok" \ -H "Authorization: Bearer sk_live_xxxx" \ -G --data-urlencode "url=https://www.tiktok.com/@user/video/123"
Response
{
"success": true,
"platform": "tiktok",
"type": "video",
"medias": [
{ "type": "video", "url": "https://…", "ext": "mp4" },
{ "type": "image", "url": "https://…", "ext": "jpg" },
{ "type": "audio", "url": "https://…", "ext": "mp3" }
],
"formats": [
{ "format": "mp4_480", "label": "480p", "type": "video", "size_mb": 7.9, "url": "https://…" },
{ "format": "mp4_720", "label": "720p", "type": "video", "size_mb": 17.19, "url": "https://…" }
],
"recommended_format": "mp4_720",
"meta": { "title": "…", "author": "…", "thumbnail": "https://…" },
"credits": { "spent": 1.5, "remaining": 99988.5 }
}Worth knowing
Every quality the source already publishes comes back in the same response — each with a ready URL and its exact size. Pick the one you want client-side: there is no second call and no format parameter.
Questions before you build
- Is the video watermark-free?
- Yes. The URL you get back points at the source rendition without the overlay, which is why the file is usable as-is in a bot or a feed.
- What happens with a photo slideshow?
- You get the images as image entries in medias[] instead of a video, plus the background track as a separate audio entry. Check type in the response rather than assuming a video.
- Do vm.tiktok.com and vt.tiktok.com short links work?
- Yes, both are followed for you. You can pass whatever the share sheet produced without expanding it first.
Related
Guides that use this endpoint
How to build a Telegram video downloader botDownload social media videos in PythonDownload social media videos in Node.jsDownload TikTok and Likee videos without a watermarkyt-dlp and Instagram: “login required”, empty results and what to use insteadWhy your Instagram scraper works on your laptop and dies on the serverDownload social media videos in n8n with an HTTP Request nodeDownload social media videos in PHPDownload social media videos in GoResolve a column of links in Google Sheets with Apps ScriptBuild a Telegram video downloader bot with grammY