TikTok Video Downloader - No Watermark MP4 + MP3 avatar

TikTok Video Downloader - No Watermark MP4 + MP3

Pricing

from $12.00 / 1,000 video downloadeds

Go to Apify Store
TikTok Video Downloader - No Watermark MP4 + MP3

TikTok Video Downloader - No Watermark MP4 + MP3

Download TikTok videos as no-watermark MP4 files plus optional MP3 audio and cover image, saved as permanent Apify Key-Value store URLs. Provider-backed, no cookies required, MCP optimized for AI agents.

Pricing

from $12.00 / 1,000 video downloadeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

7 days ago

Last modified

Share

Download TikTok videos as no-watermark MP4 files (plus optional MP3 audio and cover image) saved as permanent Apify Key-Value store URLs. Built for content marketers, AI workflows, and agents that need an actual video binary - not an expiring CDN URL.

What this actor does

Give it one or more TikTok video URLs. For each video it:

  1. Resolves the canonical video metadata via ScrapeCreators (primary) or SociaVault (fallback).
  2. Fetches the no-watermark MP4 binary from the TikTok CDN.
  3. Saves the MP4 to the run's Apify Key-Value store as video__<videoId>.
  4. Optionally saves the MP3 audio track (audio__<videoId>) and cover image JPEG (cover__<videoId>).
  5. Pushes a flat dataset record with the public Apify Key-Value store URLs for every saved binary, plus full video metadata (caption, author, stats, music, hashtags).

The URLs returned in the dataset are permanent for the lifetime of the run's KV store and do not expire on the TikTok CDN side - because the file is yours, not TikTok's.

When to use this actor (and when NOT to)

Use this actor when:

  • You need the actual .mp4 or .mp3 file (not just a URL).
  • You're repurposing TikTok content into long-form video, Reels, Shorts, or YouTube.
  • You're training/feeding an AI pipeline (multimodal models, ASR, video understanding) and need binaries.
  • You're archiving content for research or compliance.
  • You're an MCP agent that needs a single tool call: TikTok URL in, downloadable file out.

Do NOT use this actor for:

  • Metadata-only scraping - use tiktok-video-scraper instead. It's cheaper if you only need captions, stats, and CDN URLs.
  • Profile, hashtag, or keyword discovery - this actor downloads specific videos by URL. Combine with tiktok-video-scraper for profile feeds first, then pipe URLs here.
  • Bulk channel rip in one click - you must supply each video URL. Use tiktok-video-scraper to enumerate URLs from a profile, then this actor downloads them.

Output

One dataset record per video. Key fields:

FieldTypeExample
videoIdstring7324105620095765765
videoUrlstringhttps://www.tiktok.com/@stoolpresidente/video/...
authorUsernamestringstoolpresidente
authorNicknamestringDave Portnoy
captionstringfull caption text
createdAtstringISO 8601
durationMsint15800
width / heightint1080 / 1920
playCount / likeCount / commentCount / shareCountintcounts at fetch time
hashtagsstring[]["barstool", "nyc"]
musicTitle / musicAuthorstringsound metadata
kvNoWatermarkUrlstringpermanent Apify URL to the no-watermark MP4
kvNoWatermarkBytesintfile size
kvWatermarkedUrlstringonly when includeWatermarked=true
kvMp3Urlstringonly when extractAudio=true
kvCoverUrlstringonly when includeCover=true (default)
providerstringscrapecreators or sociavault
scrapedAtstringISO 8601
_errorstringset only when a download failed

Pricing

Pay-Per-Event (PPE) - billed only for successfully saved files:

EventPrice
apify-actor-start$0.00005 per run
video-downloaded$0.012 per video (no-watermark MP4 saved to KV)
audio-extracted$0.008 per video (only when extractAudio=true)

Pay-Per-Usage is also enabled for power users who prefer compute + proxy passthrough billing. Pick whichever model is cheaper for your job at run time.

Typical run cost (PPE):

  • 10 videos, video only: $0.12
  • 10 videos, video + audio + cover: $0.20
  • 50 videos, default (video + cover): $0.60

Quick start

Apify Console

  1. Paste TikTok video URLs into TikTok video URLs.
  2. Toggle Extract MP3 audio, Include watermarked MP4, Include cover image as needed.
  3. Click Start.
  4. After the run finishes, open the Dataset tab to see one row per video with clickable Key-Value store URLs.

API (cURL)

curl -X POST "https://api.apify.com/v2/acts/khadinakbar~tiktok-no-watermark-downloader/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"videoUrls": [
"https://www.tiktok.com/@stoolpresidente/video/7324105620095765765"
],
"extractAudio": true,
"includeCover": true
}'

Node.js SDK

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('khadinakbar/tiktok-no-watermark-downloader').call({
videoUrls: ['https://www.tiktok.com/@user/video/1234567890'],
extractAudio: false,
includeCover: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].kvNoWatermarkUrl);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("khadinakbar/tiktok-no-watermark-downloader").call(run_input={
"videoUrls": ["https://www.tiktok.com/@user/video/1234567890"],
"extractAudio": False,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["kvNoWatermarkUrl"])

MCP / Claude / GPT agents

Available in Apify MCP as apify--tiktok-no-watermark-downloader. Single tool call: video URL in, MP4 download URL out. Predictable PPE pricing per call (~$0.012 per video). Perfect tool when an agent is asked to "download this TikTok" or "save this video for later editing".

How it works under the hood

  1. URLs in videoUrls are normalized (short share links like vm.tiktok.com/ZXXX/ are preserved and resolved upstream).
  2. Each URL is sent to the configured providers in providerOrder (default: ScrapeCreators first, SociaVault on failure). Both expose TikTok's public video endpoint and return the same canonical aweme structure.
  3. The actor extracts the no-watermark download URL (video.download_no_watermark_addr or fallback to video.play_addr with no-watermark flag), the music URL, and the cover URL.
  4. Each binary is fetched with mobile-Safari headers + Referer: https://www.tiktok.com/. TikTok's CDN serves signed URLs but accepts any user-agent.
  5. Files are written to the run's default Key-Value store. The dataset row stores the public Apify URL for each binary.

Sister actors (TikTok cluster)

Typical pipeline: discover videos with tiktok-video-scraper → pipe URLs into this actor → save MP4 files.

Notes & limitations

  • Watermark removal depends on the provider surfacing a no-watermark URL. When only a watermarked URL is available, the actor saves that (and kvWatermarkedUrl matches kvNoWatermarkUrl). The _error field is set only when no video URL is surfaced at all.
  • MP3 extraction uses the TikTok music/sound URL surfaced by the provider, not ffmpeg re-encoding. The original sound is what's saved.
  • File size cap is 100 MB per binary (sane bound; TikTok videos are typically 1-10 MB).
  • PPE billing: you are charged only for videos that are successfully saved. Failed downloads do not bill the video-downloaded event but the apify-actor-start charge applies once per run.

FAQ

Q: Do I need a TikTok cookie or login? No. The actor is fully provider-backed. No cookies, no TikTok credentials.

Q: Are downloaded files private? The Apify Key-Value store records have public read URLs scoped to the run. If your run is private, only token-authenticated callers can read them. For public-actor runs, the URLs are accessible to anyone with the URL.

Q: How long are the KV URLs valid? For the lifetime of the run's data retention (default: indefinite on paid plans; subject to your Apify plan retention policy). For permanent off-Apify storage, pull the binaries from the URLs into S3 / Cloudflare R2 / your own bucket.

Q: Can I download multiple videos at once? Yes. Pass up to 500 URLs in videoUrls. Default cap is 50 (set via maxVideos). Videos are processed sequentially to keep memory low.

Q: What happens on a failed download? The dataset row gets an _error field with the reason. PPE is NOT charged for that video. If ALL downloads fail, the run is marked FAILED to keep the success-rate metric honest.

This actor downloads publicly accessible TikTok content. You are responsible for complying with TikTok's Terms of Service, applicable copyright law, and any platform-specific rules (e.g. attribution requirements, commercial use restrictions). Do not redistribute copyrighted content without permission from the rights holder.

The actor is independent and not affiliated with, endorsed by, or sponsored by TikTok Inc. or ByteDance.

Support

Open an issue in the actor's Issues tab on the Apify Store page. Include your run ID for fastest triage.