Ultra-Fast Social Media Downloader โ 21+ Platforms!
Pricing
from $4.00 / 1,000 results
Ultra-Fast Social Media Downloader โ 21+ Platforms!
Download videos, audio, and photos from 21+ social media platforms including YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Snapchat, Pinterest & more. Supports 144p to 4K quality, MP4/MP3/WebM formats, and up to 50 concurrent downloads for blazing-fast bulk media scraping.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Rover Omniscraper
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Social Media Video Downloader - Apify Actor
Download videos from 21+ social media platforms with configurable quality, format, and concurrent processing.
๐ Quick Start
Local Testing
# Install dependencies (already done if you see node_modules/)npm install# Test with Instagram URLs (creates ./downloads/)node test-runner.js# Or test with custom URLsecho '{"url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","quality":"720"}' > test.json# Edit src/main.js to read test.json instead of Apify inputnode src/main.js
Run with Apify CLI
# Install Apify CLI globallynpm install -g apify-cli# Run locally with Apify storagenpx apify run# Configure input in: apify_storage/key_value_stores/default/INPUT.json
๐ Features
- 21 Platforms: YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Bilibili, Vimeo, Twitch, Pinterest, SoundCloud, Snapchat, VK, OK.ru, Rutube, Tumblr, DailyMotion, Bluesky, Streamable, Loom, Newgrounds
- Concurrent Downloads: 1-50 parallel downloads (default: 10)
- Quality Options: 144p to 4K (2160p)
- Format Support: MP4, WebM, MKV, MP3, OGG, WAV, Opus, GIF
- FFmpeg Processing: Video+audio merging, remuxing, audio extraction, GIF conversion
- Retry Logic: 3 attempts with exponential backoff
- No External APIs: Embedded Cobalt server on localhost
๐ฏ Input Parameters
{"url": "https://www.youtube.com/watch?v=...","urls": ["https://...", "https://..."],"quality": "1080","downloadMode": "auto","audioFormat": "mp3","audioBitrate": "128","videoCodec": "h264","filenameStyle": "basic","concurrency": 10,"tiktokFullAudio": true,"tiktokH265": false,"twitterGif": true,"youtubeHLS": false,"youtubeDubLang": "en","disableMetadata": false,"cookies": {},"proxyConfiguration": {}}
Single or Multiple URLs: Use either url (string) or urls (array), not both.
Quality Options
144,240,360,480,720,1080,1440,2160
Download Modes
auto- Video + audio (default)audio- Audio onlymute- Video without audio
Audio Formats
best,mp3,ogg,wav,opus
Video Codecs (mainly YouTube)
h264- Best compatibility (default)av1- Best qualityvp9- Good balance
Filename Styles
classic-service_id_res.extbasic-Title (res, service).ext(default)pretty-Title (res, service).extnerdy-Title (res, service, id).ext
๐ฆ Output
Apify Run
- Files: Stored in Apify Key-Value Store
- Metadata: Pushed to Apify Dataset with:
- Direct download URLs to Apify storage (not social media links)
- File metadata (title, author, album, copyright, date, etc.)
- File size, content type, status
- Download timestamp
Local Run (test-runner.js)
- Files: Saved to
./downloads/ - Metadata: Appended to
./downloads/metadata.jsonl
Metadata Format
{"url": "https://www.youtube.com/watch?v=...","service": "youtube","filename": "Rick Astley - Never Gonna Give You Up.mp4","fileSize": 11839321,"contentType": "video/mp4","kvStoreKey": "Rick_Astley_Never_Gonna_Give_You_Up.mp4","downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/Rick_Astley_Never_Gonna_Give_You_Up.mp4","status": "success","error": null,"downloadedAt": "2026-04-08T18:12:27.743Z","metadata": {"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)","artist": "Rick Astley","album": "Whenever You Need Somebody","copyright": "ยฉ 1987 PWL","date": "2009-10-25","sublanguage": "en"}}
Note: The downloadUrl field provides a direct link to download the file from Apify storage, making it easy for users to access their downloaded content without navigating through the platform.
๐งช Test Results
Instagram (2026-04-08)
โ 3/3 downloads succeeded in 5.0 seconds
| URL | Type | Size | Status |
|---|---|---|---|
| reel/DWyB-FxAY1p | Video | 2.59 MB | โ Success |
| p/DWmtt6SkVAL | Photo | 0.06 MB | โ Success |
| reel/DTdLffwjkN- | Video | 0.43 MB | โ Success |
YouTube (2026-04-08)
โ Download verified - 5.25 MB MP4 at 144p
๐๏ธ Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ Apify Actor โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ src/main.js (Actor Entry) โ โโ โ โข Initialize Apify โ โโ โ โข Parse & validate input โ โโ โ โข Configure proxy โ โโ โ โข Start Cobalt server (localhost) โ โโ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โโ โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Cobalt API Server (Embedded on 127.0.0.1) โ โโ โ โข Express server on random port โ โโ โ โข 21 service handlers โ โโ โ โข FFmpeg processing โ โโ โ โข Stream encryption & tunneling โ โโ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โโ โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Orchestrator (p-limit concurrency) โ โโ โ โข Queue URLs โ โโ โ โข Parallel downloads โ โโ โ โข Progress tracking โ โโ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โโ โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Downloader (per URL) โ โโ โ โข POST to Cobalt API โ โโ โ โข Handle tunnel/redirect/picker โ โโ โ โข Retry with backoff (3 attempts) โ โโ โโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ โโ โโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ โ Storage โ โโ โ โข Save file to KV Store (Buffer) โ โโ โ โข Push metadata to Dataset โ โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ง Development
Project Structure
/โโโ src/โ โโโ main.js # Actor entry pointโ โโโ cobalt-server.js # Embedded Cobalt launcherโ โโโ downloader.js # Single URL downloadโ โโโ orchestrator.js # Parallel executionโ โโโ storage.js # Apify KV Store + Datasetโโโ cobalt-api/ # Embedded Cobalt sourceโ โโโ src/โ โโโ processing/services/ # 21 platform handlersโ โโโ stream/ # FFmpeg, HLS, proxyโโโ packages/โ โโโ version-info/ # Version utilities (patched)โโโ .actor/โ โโโ actor.json # Apify manifestโ โโโ INPUT_SCHEMA.json # Input schemaโโโ Dockerfile # Node 20 + FFmpegโโโ package.jsonโโโ test-runner.js # Local testing (no Apify)โโโ test-instagram.json # Sample inputโโโ context.md # Full documentationโโโ README.md # This file
Local Development Workflow
- Modify source files in
src/ - Test locally:
node test-runner.js - Update context.md with changes
- Run with Apify:
npx apify run - Deploy:
npx apify push
Adding New Features
- Read
context.mdto understand architecture - Make changes in appropriate module
- Test with
test-runner.jsfirst - Verify with full
npx apify run - Update
context.mdwith what you changed
๐ Configuration
Cookies for Authentication
Some platforms require cookies for private/restricted content:
{"cookies": {"youtube": [{"name": "CONSENT", "value": "YES+..."},{"name": "VISITOR_INFO1_LIVE", "value": "..."}],"instagram": [{"name": "sessionid", "value": "..."}],"tiktok": [{"name": "sessionid", "value": "..."}]}}
Proxy Configuration
Use Apify's built-in proxy:
{"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}