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

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Use this Apify Actor to download one or more specific TikTok video URLs and receive one dataset row per video. Each record can include the video metadata, no-watermark MP4 file URL, optional MP3 audio URL, optional cover image URL, and provider details. The files are saved as permanent Apify Key-Value store URLs, which makes the Actor useful for automation, content workflows, and AI agents through Apify MCP.

Best fit and connected workflows

This Actor fits workflows that start with a known TikTok video URL and end with a downloadable media file and structured metadata. It routes well into:

  • media archiving flows that keep an MP4 copy with stable Apify URLs,
  • editing pipelines that need a no-watermark video plus optional audio and cover image,
  • AI agent workflows that need one tool call to fetch a TikTok video and read the result from a dataset,
  • TikTok research flows where the video record includes caption, creator, hashtags, engagement counts, and provider source.

Use When you also need comment-level data for a downloaded video, the sibling Actor TikTok Comments Scraper - Replies & Authors fits naturally after this downloader in a broader TikTok workflow.

Practical scenario

Maya, a content operations specialist, gets a list of two TikTok video links from a campaign brief. She sends those URLs to the Actor with includeCover enabled and extractAudio turned on for one run. The dataset returns authorUsername, caption, playCount, likeCount, kvNoWatermarkUrl, kvMp3Url, and kvCoverUrl. Maya uses the caption and engagement fields to tag the assets, then hands the permanent MP4 URL to an editor and the MP3 URL to an audio workflow for reuse.

Input

Provide one or more TikTok video URLs. The Actor accepts canonical TikTok links and short share links. It downloads specific videos by URL, with a configurable provider route and a hard cap on the number of videos processed per run.

FieldTypeDefaultDescription
videoUrlsarray of stringsexample prefillOne or more TikTok video URLs. Supports canonical video URLs and short share links.
extractAudiobooleanfalseSaves the video audio track as an MP3 and returns kvMp3Url.
includeWatermarkedbooleanfalseAlso saves the watermarked MP4 and returns kvWatermarkedUrl.
includeCoverbooleantrueSaves the cover thumbnail as a JPEG and returns kvCoverUrl.
providerOrderstringscrapecreators-firstSelects the provider routing order between ScrapeCreators and SociaVault.
maxVideosinteger50Caps the number of videos processed in one run.

Valid input example

{
"videoUrls": [
"https://www.tiktok.com/@mrbeast/video/7654638524729216287",
"https://vm.tiktok.com/ZMhuLkX5J/"
],
"extractAudio": true,
"includeWatermarked": false,
"includeCover": true,
"providerOrder": "scrapecreators-first",
"maxVideos": 50
}

Output

The dataset contains one row per successfully processed video, plus a run summary in Key-Value store storage. The dataset row includes the video metadata and public Apify URLs for any saved binaries.

FieldTypeDescription
videoIdstringTikTok aweme/video ID.
videoUrlstringCanonical TikTok video URL.
authorUsernamestringCreator handle without the @ prefix.
authorNicknamestringCreator display name.
captionstringVideo caption text.
createdAtstringISO 8601 upload timestamp.
durationMsintegerVideo duration in milliseconds.
widthintegerVideo width in pixels.
heightintegerVideo height in pixels.
playCountintegerPlay count at fetch time.
likeCountintegerLike count at fetch time.
commentCountintegerComment count at fetch time.
shareCountintegerShare count at fetch time.
hashtagsarrayHashtags extracted from the video.
musicTitlestringMusic or sound title.
musicAuthorstringMusic or sound creator.
kvNoWatermarkUrlstringPublic Apify Key-Value store URL for the no-watermark MP4.
kvNoWatermarkBytesintegerFile size of the no-watermark MP4.
kvWatermarkedUrlstringPublic Apify Key-Value store URL for the watermarked MP4.
kvWatermarkedBytesintegerFile size of the watermarked MP4.
kvMp3UrlstringPublic Apify Key-Value store URL for the MP3 audio.
kvMp3BytesintegerFile size of the MP3.
kvCoverUrlstringPublic Apify Key-Value store URL for the cover image JPEG.
kvCoverBytesintegerFile size of the cover image.
providerstringProvider that supplied the video metadata.
scrapedAtstringISO 8601 timestamp when the record was written.
_errorstringPopulated when the download could not complete.

Illustrative output record

{
"videoId": "7654638524729216287",
"videoUrl": "https://www.tiktok.com/@mrbeast/video/7654638524729216287",
"authorUsername": "mrbeast",
"authorNickname": "MrBeast",
"caption": "Example caption text",
"createdAt": "2024-01-01T12:00:00Z",
"durationMs": 15800,
"width": 1080,
"height": 1920,
"playCount": 1234567,
"likeCount": 234567,
"commentCount": 34567,
"shareCount": 4567,
"hashtags": ["example", "tiktok"],
"musicTitle": "Example sound",
"musicAuthor": "Example artist",
"kvNoWatermarkUrl": "https://api.apify.com/v2/key-value-stores/example/records/video__7654638524729216287.mp4",
"kvNoWatermarkBytes": 1234567,
"kvMp3Url": "https://api.apify.com/v2/key-value-stores/example/records/audio__7654638524729216287.mp3",
"kvMp3Bytes": 234567,
"kvCoverUrl": "https://api.apify.com/v2/key-value-stores/example/records/cover__7654638524729216287.jpg",
"kvCoverBytes": 34567,
"provider": "scrapecreators",
"scrapedAt": "2024-01-01T12:00:05Z"
}

How it works

  1. The Actor normalizes the supplied TikTok video URLs.
  2. It resolves video metadata through the configured provider order: ScrapeCreators and SociaVault.
  3. It downloads the no-watermark MP4 from the TikTok CDN URL returned by the provider.
  4. When enabled, it also saves the MP3 audio and the cover image.
  5. It writes a dataset record with metadata, file sizes, provider information, and public Apify Key-Value store URLs.
  6. It writes a run summary to Key-Value store storage for easier automation and review.

The Actor is provider-backed, does not require cookies, and is optimized for use through Apify MCP.

Pricing

This Actor uses Pay per event pricing on Apify, plus standard Apify platform usage. The billed events are tied to the run start and to each successfully saved video, with an additional event when MP3 extraction is enabled and completes successfully. For the current rates and platform usage details, check the live Pricing tab on the Actor page.

As a simple event-count example: if a run saves three videos and extracts audio for two of them, the bill includes the run start event, three video download events, and two audio extraction events, plus any applicable Apify platform usage shown in the Pricing tab.

Use with AI agents (MCP)

This Actor is available as an Apify Actor usable through Apify MCP. It is a focused tool for taking a TikTok video URL and returning dataset records with stable file links and structured metadata.

Tool description: download one or more TikTok video URLs, return no-watermark MP4 file URLs, and optionally save MP3 audio and cover images with provenance fields from the provider that supplied the metadata.

Actor identity: khadinakbar/tiktok-no-watermark-downloader

Download these TikTok video URLs, save the no-watermark MP4 for each one, and include the cover image. Return the dataset items and tell me which provider supplied each record.

How to read the output:

  • kvNoWatermarkUrl is the primary file deliverable.
  • kvMp3Url appears when audio extraction is enabled and succeeds.
  • kvCoverUrl appears when cover saving is enabled.
  • provider shows whether ScrapeCreators or SociaVault supplied the metadata.
  • _error is a record-level status field when a video could not be completed.

Provenance and scope:
The dataset row is one record per video URL. The file URLs point to Apify Key-Value store objects, which makes them useful for downstream automation and agent handoff.

Pagination and cost guidance:
The dataset can be read back page by page through the Apify API. Cost scales with the number of successfully downloaded videos and with MP3 extraction when enabled, so maxVideos is useful for keeping a run bounded.

Apify API example

import { ApifyClient } from "apify-client";
const client = new ApifyClient({
token: process.env.APIFY_TOKEN
});
const run = await client.actor("khadinakbar/tiktok-no-watermark-downloader").call({
videoUrls: [
"https://www.tiktok.com/@mrbeast/video/7654638524729216287"
],
extractAudio: true,
includeCover: true,
providerOrder: "scrapecreators-first",
maxVideos: 50
});
const dataset = await client.dataset(run.defaultDatasetId).listItems();
for (const item of dataset.items) {
console.log(item.kvNoWatermarkUrl);
console.log(item.kvCoverUrl);
}
const readback = await client.dataset(run.defaultDatasetId).listItems({ limit: 100 });
console.log(readback.items);

Best results and outcome guidance

Use direct TikTok video URLs in videoUrls. If your workflow begins from a profile or feed, first collect the video URLs with a discovery Actor, then pass the URLs into this downloader. Keep maxVideos aligned with the batch size you want to process in one run. Choose extractAudio when your downstream workflow needs the sound track as a separate MP3, and keep includeCover enabled when thumbnails help with previews, CMS imports, or review queues.

Continue the workflow

Design note

I found that the dataset contract always includes kvNoWatermarkUrl as the primary deliverable, while kvMp3Url, kvWatermarkedUrl, and kvCoverUrl appear based on the relevant input flags.

FAQ

Yes. A single video URL is a valid input, and the dataset returns one row for that video.

Yes. The input schema accepts short share links such as vm.tiktok.com URLs alongside canonical TikTok video links.

When should I use the provider routing field?

Use providerOrder when you want to set the lookup order between ScrapeCreators and SociaVault. The default route is scrapecreators-first.

What should I use when I only need comments for a downloaded video?

Pair this Actor with TikTok Comments Scraper - Replies & Authors after the video download step.

Where is the run summary stored?

The output contract includes a run summary in Key-Value store storage at RUN_SUMMARY, alongside the dataset of downloaded videos.

Responsible use

This Actor downloads publicly accessible TikTok content. Use it in line with TikTok's terms, copyright rules, and any permissions or attribution requirements that apply to the content you process. When you save or redistribute media, keep ownership, licensing, and intended use in mind.