# TikTok No Watermark Downloader (`apiharvest/tiktok-no-watermark-downloader`) Actor

TikTok No Watermark Downloader extracts watermark-free HD video download links, photo slideshow carousels, cover images, and audio tracks with item\_index, url, video\_title, video\_duration\_seconds, and direct permanent Key-Value Store download URLs.

- **URL**: https://apify.com/apiharvest/tiktok-no-watermark-downloader.md
- **Developed by:** [APIHarvest](https://apify.com/apiharvest) (community)
- **Categories:** Social media, Videos, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 posts

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 No Watermark Downloader - Direct Permanent HD Downloads ⚡

The **TikTok No Watermark Downloader** is the fastest and simplest solution to download TikTok videos without watermarks, extract photo slideshow carousels, and retrieve audio tracks. Designed for content creators, video editors, archivists, and automation workflows, this **TikTok No Watermark Downloader** converts expiring TikTok media links into direct, permanent, non-expiring download URLs.

Whether you need a single video or bulk downloads, the **TikTok No Watermark Downloader** delivers clean HD content with zero complexity.

---

### 🌟 Why Use TikTok No Watermark Downloader?

* 💾 **Direct & Permanent Download URLs:** Standard TikTok CDN links expire after a few hours. The **TikTok No Watermark Downloader** automatically saves media into Apify Key-Value Storage, providing direct, permanent URLs (`watermark_free_download_url`) that never expire.
* 🎥 **100% Watermark-Free HD Videos:** The **TikTok No Watermark Downloader** extracts pure HD video files without logos, watermarks, or overlays.
* 📸 **Photo Carousel & Slideshow Support:** When inputting photo posts, the **TikTok No Watermark Downloader** extracts every individual image into storage with permanent links (`photo_slideshow_urls`).
* 🎵 **Background Music Track Download:** Easily download original background audio (`audio_track_download_url`) for ALL posts with the **TikTok No Watermark Downloader**.
* ⚡ **Ultra-Clean & Distinct Output:** The **TikTok No Watermark Downloader** strips away data bloat and gives you clean, distinct fields (`item_index`, `url`, `video_title`, `cover_image`, `video_duration_seconds`).
* 🌐 **Automated Residential Proxy Rotation:** Built-in residential proxy routing in the **TikTok No Watermark Downloader** guarantees high success rates without IP blocks or rate limits.

---

### 🎛️ Input Parameters

The **TikTok No Watermark Downloader** requires only a single input parameter:

| Input Field | Type | Description |
| :--- | :--- | :--- |
| **TikTok URLs (`urls`)** | Array | Enter TikTok video URLs, photo slideshow links, or short redirect links (e.g. `vm.tiktok.com` or `vt.tiktok.com`) into the **TikTok No Watermark Downloader**. |

---

### 📊 Dataset Output Fields

The **TikTok No Watermark Downloader** outputs clean, structured JSON containing distinct fields:

* `item_index`: Numerical order index (1, 2, 3...) of the processed link.
* `url`: The original input link provided to the **TikTok No Watermark Downloader**.
* `video_title`: Caption text and title of the TikTok post.
* `cover_image`: Thumbnail cover image URL.
* `video_duration_seconds`: Video duration in seconds (for video posts).
* `watermark_free_download_url`: Direct permanent Apify Key-Value Store URL for the **Watermark-Free HD Video**.
* `photo_slideshow_urls`: Array of direct permanent download URLs for photo slideshow images (for photo posts).
* `audio_track_download_url`: Direct permanent download URL for the background music/audio track (for all posts).

---

### 📜 Output JSON Examples

#### 🎥 Video Post Output from TikTok No Watermark Downloader:
```json
{
  "item_index": 1,
  "url": "https://www.tiktok.com/@ur.cristian.cr7.ronaldoo/video/7664583251188567329",
  "video_title": "Ronaldo's Shot Power ...",
  "cover_image": "https://p16-common-sign.tiktokcdn.com/...",
  "video_duration_seconds": 22,
  "watermark_free_download_url": "https://api.apify.com/v2/key-value-stores/IF0UDUO7k4SScZORb/records/user_7664583251188567329_no_watermark.mp4?disableContentDisposition=true",
  "audio_track_download_url": "https://api.apify.com/v2/key-value-stores/IF0UDUO7k4SScZORb/records/user_7664583251188567329_music.mp3?disableContentDisposition=true"
}
````

#### 📸 Photo Carousel Output from TikTok No Watermark Downloader:

```json
{
  "item_index": 2,
  "url": "https://www.tiktok.com/@mr.tauheed00/video/7661845637473783047",
  "video_title": "Good. boy 🚸🚸🚸🚸 is the best way to get",
  "cover_image": "https://p16-common-sign.tiktokcdn.com/...",
  "photo_slideshow_urls": [
    "https://api.apify.com/v2/key-value-stores/IF0UDUO7k4SScZORb/records/user_7661845637473783047_photo_1.jpg?disableContentDisposition=true",
    "https://api.apify.com/v2/key-value-stores/IF0UDUO7k4SScZORb/records/user_7661845637473783047_photo_2.jpg?disableContentDisposition=true"
  ],
  "audio_track_download_url": "https://api.apify.com/v2/key-value-stores/IF0UDUO7k4SScZORb/records/user_7661845637473783047_music.mp3?disableContentDisposition=true"
}
```

***

### 🚀 Start Downloading Now

Paste your TikTok links into the **TikTok No Watermark Downloader** and get your direct permanent download links instantly!

# Actor input Schema

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

Enter TikTok URLs (one per line). Supports both redirect mobile URLs and full post links.

## Actor input object example

```json
{
  "urls": [
    "https://www.tiktok.com/@ur.cristian.cr7.ronaldoo/video/7664583251188567329"
  ]
}
```

# 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": [
        "https://www.tiktok.com/@ur.cristian.cr7.ronaldoo/video/7664583251188567329"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("apiharvest/tiktok-no-watermark-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": ["https://www.tiktok.com/@ur.cristian.cr7.ronaldoo/video/7664583251188567329"] }

# Run the Actor and wait for it to finish
run = client.actor("apiharvest/tiktok-no-watermark-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": [
    "https://www.tiktok.com/@ur.cristian.cr7.ronaldoo/video/7664583251188567329"
  ]
}' |
apify call apiharvest/tiktok-no-watermark-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TikTok No Watermark Downloader",
        "description": "TikTok No Watermark Downloader extracts watermark-free HD video download links, photo slideshow carousels, cover images, and audio tracks with item_index, url, video_title, video_duration_seconds, and direct permanent Key-Value Store download URLs.",
        "version": "0.0",
        "x-build-id": "j5YQN1cpLnrzwKhcD"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/apiharvest~tiktok-no-watermark-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-apiharvest-tiktok-no-watermark-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/apiharvest~tiktok-no-watermark-downloader/runs": {
            "post": {
                "operationId": "runs-sync-apiharvest-tiktok-no-watermark-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/apiharvest~tiktok-no-watermark-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-apiharvest-tiktok-no-watermark-downloader",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "urls"
                ],
                "properties": {
                    "urls": {
                        "title": "TikTok Video / Photo URLs",
                        "type": "array",
                        "description": "Enter TikTok URLs (one per line). Supports both redirect mobile URLs and full post links.",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
