English
Download TikTok Video (No Watermark)
The GET /api/tiktok/download endpoint extracts and streams watermark-free, original-quality HD MP4 videos directly from TikTok, removing 100% of animated TikTok logos and author attribution badges.
1. Capabilities
- Clean Watermark-Free MP4: Strips dynamic TikTok overlays and author handles for seamless re-editing and archiving.
- Direct Binary Streaming: Delivers raw
video/mp4streams as an attachment (Content-Disposition: attachment), ready to write directly to disk, cloud storage, or an n8n binary processing workflow. - Flexible Input Formats: Supports post IDs, web URLs, and mobile short links.
2. Specifications & Cost
- Endpoint:
GET /api/tiktok/download - Credit Cost: 1 Credit per successful download.
- Output Format:
video/mp4(Binary Stream).
3. Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
url | String | Required | TikTok post ID, web URL, or mobile short link. |
Supported Input Formats:
- Numeric Post ID:
7419827361528172819 - Desktop Web Link:
https://www.tiktok.com/@lamine.yamal/video/7419827361528172819 - Mobile App Shortlink:
https://vt.tiktok.com/ZS.../orhttps://v.tiktok.com/.../
4. Code Examples
bash
curl -X GET "https://api.stackvid.dev/api/tiktok/download?url=7419827361528172819" \
-H "X-API-Key: tk_live_YOUR_API_KEY" \
--output "video-clean.mp4"typescript
import axios from 'axios';
import fs from 'fs';
async function downloadCleanVideo(videoUrlOrId: string, outputPath: string) {
const response = await axios.get('https://api.stackvid.dev/api/tiktok/download', {
params: { url: videoUrlOrId },
headers: {
'X-API-Key': 'tk_live_YOUR_API_KEY',
},
responseType: 'stream',
});
const writer = fs.createWriteStream(outputPath);
response.data.pipe(writer);
return new Promise((resolve, reject) => {
writer.on('finish', () => {
console.log(`✅ Clean video saved to: ${outputPath}`);
resolve(true);
});
writer.on('error', reject);
});
}
downloadCleanVideo('7419827361528172819', './video-nowatermark.mp4');python
import requests
def download_clean_video(video_url_or_id: str, output_path: str):
url = "https://api.stackvid.dev/api/tiktok/download"
headers = {"X-API-Key": "tk_live_YOUR_API_KEY"}
params = {"url": video_url_or_id}
with requests.get(url, headers=headers, params=params, stream=True) as r:
r.raise_for_status()
with open(output_path, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
print(f"✅ Clean video saved to: {output_path}")
download_clean_video("7419827361528172819", "video-nowatermark.mp4")5. Server Response Headers
When successful (200 OK), the API streams raw video with standard HTTP attachment headers:
http
HTTP/1.1 200 OK
Content-Type: video/mp4
Content-Disposition: attachment; filename="7419827361528172819.mp4"
Content-Length: 18500200Zero-Risk Automatic Refund
If the requested video was deleted, set to private, or temporarily inaccessible from upstream network nodes, the endpoint returns 400 Bad Request and automatically refunds 100% of deducted credits back to your wallet.