Skip to main content
API Reference

API Overview

Integrate video downloading into your applications with our simple REST API

Simple & Fast

Single endpoint, auto-detect platform

Rate Limited

Fair usage with API key support

6 Platforms

FB, IG, Twitter, TikTok, YT, Weibo

API Base URL

https://xtfetch-api-production.up.railway.app/api/v1/playground

Direct connection to the backend API. Visit https://xtfetch-api-production.up.railway.app to check backend status.

⚠️ Note: The main /api/v1 endpoint is protected and only accessible from our website or with a valid API key. Use /api/v1/playground for testing.

Quick Example

bash
curl -X POST https://xtfetch-api-production.up.railway.app/api/v1/playground \
  -H "Content-Type: application/json" \
  -d '{"url": "https://www.tiktok.com/@user/video/123"}'
javascript
const response = await fetch('https://xtfetch-api-production.up.railway.app/api/v1/playground', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ 
    url: 'https://www.tiktok.com/@user/video/123' 
  })
});

const data = await response.json();
console.log(data.data.formats); // Array of download URLs
console.log(data.rateLimit);    // { remaining: 4, limit: 5 }

Authentication

API key is optional but recommended for higher rate limits.

bash
curl -X POST https://xtfetch-api-production.up.railway.app/api/v1 \
  -H "Content-Type: application/json" \
  -H "X-API-Key: xtf_sk_your_api_key" \
  -d '{"url": "..."}'

💡 Tip: Create an account and generate API keys from Settings → API Keys. See the API Keys Guide.

Rate Limits

TypeLimit
Without API Key15 requests/minute per IP
With API Key100 requests/minute
Playground (Guest)5 requests/2 minutes