saveapi.org

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.

Terminal
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"

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.

Terminal
curl -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.

Python
data = 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.

Terminal
curl -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.

Get a key and try itFull API reference