🎬 FVidDown API

Facebook Video Downloader API for fviddown.com

✓ Production Ready

📋 Quick Info

API Base URL: https://workers-playground-old-waterfall-d279.royaltoons1.workers.dev

Frontend: https://fviddown.com

Version: 1.0.0

Status: ✓ Online

✨ Features

🎥 Multi-Quality

Download in HD (720p, 1080p) and SD (360p, 480p) with automatic quality detection

🎵 Audio Included

Progressive downloads with video and audio combined in single file

⚡ Edge Computing

Powered by Cloudflare Workers - fast global response times

🔒 CORS Enabled

Secure cross-origin requests from fviddown.com

🎯 Smart Extraction

Multiple extraction methods for maximum reliability

📦 Metadata

Extract title, thumbnail, author, and duration information

📡 API Endpoints

GET /api/test-connection

Test API connectivity

POST /api/video-info

Extract video information and download URLs

POST /api/video-info
Content-Type: application/json

{
  "url": "https://www.facebook.com/watch/?v=123456789"
}
POST /api/download

Get download information for specific quality

POST /api/download
Content-Type: application/json

{
  "url": "https://www.facebook.com/watch/?v=123456789",
  "quality": "720p"
}
GET /api/direct-download?url={VIDEO_URL}&filename={FILENAME}

Direct video download stream (proxy through worker)

GET /api/thumbnail-proxy?url={THUMBNAIL_URL}

Proxy thumbnail images (bypass CORS)

💻 JavaScript Integration

Test Connection

const response = await fetch(
  'https://workers-playground-old-waterfall-d279.royaltoons1.workers.dev/api/test-connection'
);
const data = await response.json();
console.log(data); // { success: true, message: "API connection successful" }

Get Video Information

const response = await fetch(
  'https://workers-playground-old-waterfall-d279.royaltoons1.workers.dev/api/video-info',
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      url: 'https://www.facebook.com/watch/?v=123456789'
    })
  }
);

const videoInfo = await response.json();
console.log(videoInfo.title);
console.log(videoInfo.videoUrls); // { "720p": "...", "360p": "..." }

Download Video

const response = await fetch(
  'https://workers-playground-old-waterfall-d279.royaltoons1.workers.dev/api/download',
  {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({
      url: 'https://www.facebook.com/watch/?v=123456789',
      quality: '720p'
    })
  }
);

const downloadInfo = await response.json();
console.log(downloadInfo.fileUrl); // Direct download URL

📦 Response Format

Video Info Response

{
  "title": "Amazing Facebook Video",
  "author": "Facebook User",
  "thumbnail": "https://scontent.fblr.fbcdn.net/.../image.jpg",
  "duration": "120",
  "videoUrls": {
    "720p": "https://video.fblr.fbcdn.net/.../video_hd.mp4",
    "360p": "https://video.fblr.fbcdn.net/.../video_sd.mp4"
  },
  "videoId": null
}

Download Response

{
  "title": "Amazing Facebook Video",
  "author": "Facebook User",
  "thumbnail": "https://...",
  "fileUrl": "https://video.fblr.fbcdn.net/.../video.mp4",
  "quality": "720p",
  "hasAudio": true,
  "availableQualities": ["720p", "360p"]
}

⚠️ Important Notes

🌐 Supported URL Formats

🔧 Technical Details

Runtime: Cloudflare Workers (V8 JavaScript)

Extraction Methods: JSON parsing, JavaScript analysis, Regex patterns

Quality Detection: Automatic from browser_native_hd_url and browser_native_sd_url

Caching: Video info (5 min), Video streams (1 hour)

Max Video Size: 500MB