# TikTok Video Downloader(With No watermarks) (`thenetaji/tiktok-video-downloader`) Actor

The TikTok Video Downloader allows fast, high-quality downloads of TikTok videos without needing an account and without any watermarks. Ideal for content creators, it offers a user-friendly interface and simultaneous downloads with batch download support. Try now!

- **URL**: https://apify.com/thenetaji/tiktok-video-downloader.md
- **Developed by:** [The Netaji](https://apify.com/thenetaji) (community)
- **Categories:** Videos, Automation, Social media
- **Stats:** 128 total users, 1 monthly users, 100.0% runs succeeded, 7 bookmarks
- **User rating**: 2.06 out of 5 stars

## Pricing

$7.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## TikTok Video Downloader (No Watermarks) Actor 🎵📱

Looking for a **fast, reliable, and watermark-free TikTok video downloader**?\
This Apify actor is designed to download TikTok videos in their **original quality** without watermarks.\
Ideal for **content creators, social media managers, marketers, and everyday users** who want to save and repurpose TikTok content with ease.

***

### 🌟 Key Features

- ✅ Download TikTok videos **without watermarks**
- ✅ Preserve **original HD video quality**
- ✅ Support for multiple formats (**MP4, WebM, MKV**)
- ✅ **Concurrent downloading** for faster performance
- ✅ Works with **all TikTok video URL formats**
- ✅ No TikTok login or account required
- ✅ Enhanced error logging and debugging
- ✅ Automatic retry mechanism for failed downloads

***

### 📋 Input Example

To get started, provide simple input JSON to the actor:

```json
{
  "urls": [
    {
      "url": "https://www.tiktok.com/@username/video/1234567890123456789",
      "title": "Amazing TikTok Video"
    },
    {
      "url": "https://vm.tiktok.com/ZMAbCdEfG/",
      "title": "Short Link Video"
    }
  ],
  "quality": "best",
  "format": "mp4",
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

### 🔑 Input Parameters Explained

**TikTok URLs** – Add one or more video links with optional titles. Supports:

- Direct TikTok links (`https://www.tiktok.com/@user/video/...`)
- Short links (`https://vm.tiktok.com/...`)
- Mobile links (`https://m.tiktok.com/...`)

**Video Quality**

- `best` → Highest quality (recommended)
- `worst` → Lowest quality, smaller file size

**Video Format**

- `default` → Auto select best format
- `mp4` → Best compatibility
- `webm` → Modern, lightweight
- `mkv` → Flexible container

***

### 📤 Output Example

Each successful download returns structured JSON:

```json
{
  "status": "success",
  "runId": "abcd1234",
  "url": "https://www.tiktok.com/@username/video/1234567890123456789",
  "title": "Amazing TikTok Video",
  "attempt": 1,
  "fileTitle": "Amazing TikTok Video",
  "downloadUrl": "https://api.apify.com/v2/key-value-stores/abd4d2dc-4e58-473e-99ba-e78ad534f0d4/records/vu8q1doae0ai",
  "key": "vu8q1doae0ai",
  "timestamp": "2025-08-30T12:37:38.569Z",
  "fileSize": 5242880,
  "fileSizeMB": "5.00",
  "contentType": "video/mp4"
}
```

### 📝 Output Includes

- **status** → success or failed
- **url** → original TikTok link
- **title** → video title (if provided)
- **downloadUrl** → direct video link (no watermark)
- **fileTitle** → reference to the video
- **key** → unique storage identifier
- **fileSize** → file size in bytes
- **fileSizeMB** → file size in megabytes
- **contentType** → MIME type of the downloaded file
- **attempt** → which attempt succeeded (1-3)

***

### ⚠️ Important Notes

- Videos are downloaded without watermarks while preserving original HD quality.
- TikTok may update its platform — this actor is maintained to ensure compatibility.
- Geo-restricted content may require enabling proxy.
- Always respect copyright and only download content you have the rights to use.
- Download speed may vary based on video size and server load.
- The actor includes enhanced logging to help debug any download issues.
- Failed downloads are automatically retried up to 3 times.

***

### 🔧 Troubleshooting

If downloads fail, check the actor logs for detailed error information:

- **yt-dlp errors** → Usually indicates video unavailability or geo-restrictions
- **Network errors** → Try enabling proxy or check internet connectivity
- **File not found** → Video might be private or deleted
- **Format errors** → Try different quality/format settings

***

### 🚀 Try Our Other Actors

#### 📷 [Instagram Video Downloader](https://apify.com/thenetaji/instagram-video-downloader/api?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Download Instagram videos and reels without watermarks in high quality.

#### 📊 [TikTok Profile Scraper](https://apify.com/thenetaji/tiktok-profile-scraper?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Scrape TikTok profiles, including usernames, followers, bios, videos, captions, and more.

#### 🎵 [TikTok Scraper](https://apify.com/thenetaji/tiktok-scraper?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Extract detailed TikTok profile and post data, including comments, likes, and follower counts.

#### 📹 [YouTube Video Downloader](https://apify.com/thenetaji/youtube-video-downloader/api?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Download high-quality YouTube videos with batch support for fast media collection.

#### 🎵 [YouTube Music Downloader](https://apify.com/thenetaji/youtube-music-downloader/api/openapi?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Quickly download high-quality audio tracks from YouTube with proxy support.

#### 📹 [YouTube Video & Music Downloader](https://apify.com/thenetaji/youtube-video-and-music-downloader?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

All-in-one solution to download both video and audio from YouTube with flexible quality settings.

#### 🌐 [Website Media Link Scraper](https://apify.com/thenetaji/website-media-link-scraper/api?utm_source=actor-docs\&utm_medium=readme\&utm_campaign=thenetaji)

Extract video, audio, and image links from websites efficiently using lightweight HTTP requests.

# Actor input Schema

## `urls` (type: `array`):

One or more Instagram reel, post, or story URLs to download. Each item needs a 'url' field. Example: https://www.instagram.com/reel/ABC123/

## `quality` (type: `string`):

Maximum resolution to download. 'Best' picks the highest quality Instagram offers. Lower resolutions (720p, 480p etc.) download faster and produce smaller files. If the video doesn't have the selected resolution, the next best available quality is used automatically.

## `format` (type: `string`):

Container format for the downloaded file. MP4 is the safest choice — it plays on every device and is compatible with all video editors. MKV can store higher-quality streams and multiple audio tracks. WebM is smaller but requires a modern browser or media player.

## `cookies` (type: `string`):

Your Instagram session cookies in Netscape/cookie-file format. Only needed if you get a 'login required' error, are downloading from private profiles, or Instagram is rate-limiting you. To export: install the 'Get cookies.txt LOCALLY' browser extension, open instagram.com while logged in, then export and paste the file contents here.

## `sleepBetweenDownloads` (type: `integer`):

How many milliseconds to wait between each URL. Instagram rate-limits aggressive downloaders — if you are downloading many videos in one run and seeing failures, increase this value. 2000 = 2 seconds (default). 5000 = 5 seconds (safer for large batches).

## Actor input object example

```json
{
  "urls": [
    {
      "url": "https://www.tiktok.com/@nikolaisavic/video/7609823185772580118"
    }
  ],
  "quality": "best",
  "format": "mp4",
  "cookies": "",
  "sleepBetweenDownloads": 2000
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        {
            "url": "https://www.tiktok.com/@nikolaisavic/video/7609823185772580118"
        }
    ],
    "quality": "best",
    "format": "mp4",
    "cookies": "",
    "sleepBetweenDownloads": 2000
};

// Run the Actor and wait for it to finish
const run = await client.actor("thenetaji/tiktok-video-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": [{ "url": "https://www.tiktok.com/@nikolaisavic/video/7609823185772580118" }],
    "quality": "best",
    "format": "mp4",
    "cookies": "",
    "sleepBetweenDownloads": 2000,
}

# Run the Actor and wait for it to finish
run = client.actor("thenetaji/tiktok-video-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    {
      "url": "https://www.tiktok.com/@nikolaisavic/video/7609823185772580118"
    }
  ],
  "quality": "best",
  "format": "mp4",
  "cookies": "",
  "sleepBetweenDownloads": 2000
}' |
apify call thenetaji/tiktok-video-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thenetaji/tiktok-video-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/qB2hlAaW0s78TJtKg/builds/VmYqUjG9RYzHzqkk7/openapi.json
