Skip to content

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 ​

  1. Clean Watermark-Free MP4: Strips dynamic TikTok overlays and author handles for seamless re-editing and archiving.
  2. Direct Binary Streaming: Delivers raw video/mp4 streams as an attachment (Content-Disposition: attachment), ready to write directly to disk, cloud storage, or an n8n binary processing workflow.
  3. 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 ​

ParameterTypeRequiredDescription
urlStringRequiredTikTok 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.../ or https://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: 18500200

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

StackVid - Multi-Platform Video & Social Commerce Automation Platform.