Download TikTok and Likee videos without a watermark
TikTok and Likee both publish a source rendition without the platform overlay, and that is the one you get back. The call is the same GET you use for any other platform — no watermark parameter, no second request. What follows is the call for each, plus the two shapes that surprise people: photo slideshows and expiring CDN links.
Updated
TikTok
One GET and the response points at the rendition without the overlay, which is what makes the file usable as-is in a bot or a feed. vm.tiktok.com and vt.tiktok.com share links are followed for you, so you can pass whatever the share sheet produced.
Terminalcurl -s "https://api.saveapi.org/v1/tiktok" \ -H "Authorization: Bearer sk_live_xxxx" \ -G --data-urlencode "url=https://www.tiktok.com/@user/video/123"
Likee
The same call against the Likee endpoint. Likee publishes several variants of the same clip and some of them carry the overlay and a trailing outro — the URL you get back is the clean one. Both likee.video and the l.likee.video share form are accepted.
Terminalcurl -s "https://api.saveapi.org/v1/likee" \ -H "Authorization: Bearer sk_live_xxxx" \ -G --data-urlencode "url=https://likee.video/v/abc"
Photo slideshows are not videos
A TikTok photo post has no video at all: you get the images as image entries and the background track as a separate audio entry. Check type on the response before you send it anywhere, or the slideshows in your feed will silently fail.
Pythondata = resolve("https://www.tiktok.com/@user/photo/123")
if data["type"] == "video":
send_video(data["medias"][0]["url"])
else:
images = [m["url"] for m in data["medias"] if m["type"] == "image"]
track = next((m["url"] for m in data["medias"] if m["type"] == "audio"), None)
send_album(images, track)What watermark-free does not mean
It means the file has no platform overlay burned into it. It does not mean the video is yours to republish — the creator still holds their rights, and both platforms' terms still apply to what you do with the file. Build for reposting with permission, saving your own uploads and archiving, not for wholesale re-uploads.
Download the bytes before the link expires
The URL you receive is a signed CDN address with a lifetime measured in hours, not days. If the file matters, fetch it when you resolve it. If it does not, resolve again later — that is 1.5 credits, and it is cheaper than a broken link in front of a user.
Terminalcurl -sL -o video.mp4 "<medias[0].url>"
Questions before you build
- Does removing the watermark reduce the quality?
- No, and nothing is removed: the source publishes a rendition without the overlay and that is the one you receive. It is the same encode the platform made, not a cropped or re-encoded copy.
- Which platforms return watermark-free files?
- TikTok and Likee, where the platform publishes a clean rendition. Elsewhere there is no overlay to begin with — Instagram, Facebook and X serve the file the author uploaded.
- Can I use the file commercially?
- That is between you and the rights holder, not something an API can grant. The endpoint resolves public posts; what you may do with someone else's video is decided by their rights and the platform's terms.
Platform references used here
Other guides
Run this guide with your own key
Key in under a minute. 1,000 free credits, no card, no expiry.