API untuk mengunduh video dari berbagai platform media sosial seperti Instagram, YouTube, TikTok, dan Facebook.
- π₯ Download video dari multiple platform:
- YouTube (video & playlist)
- TikTok
- π Deteksi platform otomatis
- π Multiple format & kualitas video
- ποΈ Opsi penghapusan metadata
- πΎ Download tanpa watermark (untuk TikTok)
- π Informasi lengkap video (judul, deskripsi, dll)
- π Keamanan:
- Public API Access
- Request Validation
- Node.js (v14+)
- FFmpeg
- yt-dlp
- Express.js
- Puppeteer (untuk scraping)
-
Clone Repository
-
Install Dependencies
npm install- Install FFmpeg
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get install ffmpeg
# Windows
# Download dari https://ffmpeg.org/download.html- Install yt-dlp
# macOS
brew install yt-dlp
# Ubuntu/Debian
sudo curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp
sudo chmod a+rx /usr/local/bin/yt-dlp
# Windows
# Download dari https://github.com/yt-dlp/yt-dlp/releases- Jalankan Server
node app.jsServer akan berjalan di http://localhost:3000
Mendeteksi platform dari URL video yang diberikan.
Endpoint: POST /api/detect-platform
Request Body:
{
"url": "https://www.instagram.com/p/example"
}Response Success:
{
"status": "success",
"platform": "instagram",
"owner": "username",
"displayUrl": "thumbnail_url",
"caption": "video_caption",
"title": "video_title",
"duration": 60,
"totalViews": 1000,
"postUrl": "original_url",
"dataFormats": [
{
"dataDownload": "download_url",
"format": "720p",
"ext": "mp4",
"filesize": 1234567
}
]
}Download video dari Instagram (post/reels).
Endpoint: POST /api/instagram/download
Request Body:
{
"url": "https://www.instagram.com/p/example",
"mute": false,
"shouldRemoveMetadata": true
}Parameter:
url: URL video Instagram (wajib)mute: Boolean, untuk menghapus audio (opsional, default: false)shouldRemoveMetadata: Boolean, untuk menghapus metadata (opsional, default: true)
Download video dari YouTube dengan berbagai opsi kualitas.
Endpoint: POST /api/youtube/download
Request Body:
{
"url": "https://www.youtube.com/watch?v=example",
"mute": false,
"shouldRemoveMetadata": true
}Parameter:
url: URL video YouTube (wajib)mute: Boolean, untuk menghapus audio (opsional, default: false)shouldRemoveMetadata: Boolean, untuk menghapus metadata (opsional, default: true)
Download video TikTok tanpa watermark.
Endpoint: POST /api/tiktok/download
Request Body:
{
"url": "https://www.tiktok.com/@username/video/example",
"mute": false,
"shouldRemoveMetadata": true
}Parameter:
url: URL video TikTok (wajib)mute: Boolean, untuk menghapus audio (opsional, default: false)shouldRemoveMetadata: Boolean, untuk menghapus metadata (opsional, default: true)
Download video dari Facebook dengan kualitas terbaik.
Endpoint: POST /api/facebook/download
Request Body:
{
"url": "https://www.facebook.com/watch?v=example",
"mute": false,
"shouldRemoveMetadata": true
}Parameter:
url: URL video Facebook (wajib)mute: Boolean, untuk menghapus audio (opsional, default: false)shouldRemoveMetadata: Boolean, untuk menghapus metadata (opsional, default: true)
Download seluruh video dalam playlist YouTube.
Endpoint: POST /api/youtube-playlist
Request Body:
{
"url": "https://www.youtube.com/playlist?list=example"
}Parameter:
url: URL playlist YouTube (wajib)
Response:
{
"status": "success",
"dataDownloads": [
{
"ownerUrl": "channel_url",
"ownerId": "channel_id",
"channelUrl": "channel_url",
"uploader": "channel_name",
"totalViews": 1000,
"urlId": "video_id",
"thumbnail": "thumbnail_url",
"description": "video_description",
"filename": "video_filename",
"duration": 60,
"title": "video_title",
"categories": ["category1", "category2"],
"dataFormats": [
{
"dataDownload": "download_url",
"format": "720p",
"ext": "mp4",
"filesize": 1234567
}
]
}
]
}{
"status": "success",
"data": {
// Data spesifik untuk setiap platform
}
}{
"status": "error",
"message": "Pesan error spesifik"
}-
Akses API:
- API dapat diakses dari domain manapun
- Tidak ada pembatasan CORS
- Tidak ada batasan jumlah request
- Cocok untuk penggunaan publik
-
Validasi Request:
- Setiap request akan divalidasi
- URL video harus valid dan dapat diakses
- Format request body harus sesuai dokumentasi
-
Pembatasan Bandwidth:
- Ada batasan ukuran file yang dapat didownload
- Video yang terlalu besar mungkin ditolak
- Gunakan format video yang sesuai kebutuhan
-
Penggunaan API:
- API ini untuk penggunaan publik
- Harap gunakan dengan bijak
- Hindari penggunaan yang berlebihan
Kontribusi selalu diterima! Silakan buat pull request atau laporkan issues.