TikTok API - Programmatic Access to TikTok Data

Get TikTok video metadata, download URLs, and content information through a simple REST API. No scraping, no authentication headaches - just send a URL and get structured data back.

Last updated: August 19, 2026

What the API provides

The TikItDown API gives you programmatic access to TikTok data without building your own scraping infrastructure. For any public TikTok video URL, you can retrieve:

Authentication

Basic API access requires no authentication. Simply make requests to the endpoints. For higher rate limits and commercial use, register for a free API key and include it in the request header.

Authorization: Bearer YOUR_API_KEY

The API key is optional for the free tier (60 requests/minute). Registered users with an API key get 300 requests per minute.

Endpoints

GET /api/v1/video

Fetch metadata and download URLs for a single TikTok video.

GET /api/v1/video?url=https://www.tiktok.com/@user/video/1234567890

Response:

{
  "status": "success",
  "data": {
    "id": "1234567890",
    "title": "Video caption text",
    "author": {
      "username": "creator_name",
      "nickname": "Display Name",
      "avatar": "https://..."
    },
    "stats": {
      "views": 150000,
      "likes": 12000,
      "comments": 340,
      "shares": 890
    },
    "download": {
      "no_watermark": "https://cdn.tikitdown.example/...",
      "watermark": "https://...",
      "audio_only": "https://..."
    },
    "duration": 30,
    "thumbnail": "https://...",
    "hashtags": ["funny", "viral"],
    "music": {
      "title": "Original Sound",
      "artist": "creator_name"
    }
  }
}

GET /api/v1/user

Fetch public profile information for a TikTok user.

GET /api/v1/user?username=creator_name

GET /api/v1/hashtag

Fetch trending data and recent videos for a hashtag.

GET /api/v1/hashtag?tag=cooking

Usage examples

Fetch video info

const res = await fetch('/api/v1/video?url=' + encodeURIComponent(url));
const { data } = await res.json();
console.log(data.title, data.stats.views);

Bulk metadata collection

const urls = ['https://tiktok.com/...', 'https://tiktok.com/...'];
const results = await Promise.all(
  urls.map(u => fetch('/api/v1/video?url=' + encodeURIComponent(u)).then(r => r.json()))
);
const videos = results.map(r => r.data);

Limitations

For download-only functionality without the full metadata API, use the download API. For direct downloading without code, use the web downloader.

FAQ

Start building with the TikItDown API. Try the web tool to see it in action, then integrate the API into your projects. For download-only endpoints, see the download API docs. Learn more on the about page.