Universal Video Downloader
Pricing
from $10.00 / 1,000 results
Universal Video Downloader
Universal Video Downloader — Apify Actor Download videos, extract audio, and scrape metadata from 1800+ websites. Supported Sites YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Vimeo, Dailymotion, Twitch, Bluesky, Bilibili, SoundCloud, Bandcamp, BBC, CNN, and 1800+ more.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Jamshaid Arif
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Universal Video Downloader — Apify Actor
Download videos, extract audio, and scrape metadata from 1800+ websites using yt-dlp.
Supported Sites
YouTube, TikTok, Instagram, Twitter/X, Reddit, Facebook, Vimeo, Dailymotion, Twitch, Bluesky, Bilibili, SoundCloud, Bandcamp, BBC, CNN, and 1800+ more.
Features
- 9 download modes: best quality, 720p/480p/360p, MP3, FLAC, with subtitles, with metadata, or thumbnail-only
- Metadata scraping: title, uploader, views, likes, duration, description, tags, chapters, available formats, subtitles, and thumbnails
- File storage: downloaded files are saved to Apify Key-Value Store with public URLs
- Concurrency: process multiple URLs in parallel
- Retries: automatic retry on failure with configurable attempts
- Proxy support: use Apify proxy or custom proxies for geo-restricted content
- Cookie support: pass browser cookies as JSON for login-gated content (Instagram, Facebook, etc.)
Input
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | required | List of video URLs to process |
mode | string | metadata | Download mode (see below) |
subtitleLanguages | string | en | Comma-separated language codes |
maxFileSize | integer | 500 | Skip files larger than this (MB), 0 = no limit |
maxConcurrency | integer | 3 | Parallel downloads (1-10) |
maxRetries | integer | 2 | Retry attempts per URL |
cookies | string | — | Browser cookies as JSON array |
proxyConfiguration | object | — | Apify or custom proxy config |
Download Modes
| Mode | Output |
|---|---|
metadata | Metadata only, no file download |
best_video | Best quality MP4 |
video_720p | 720p MP4 |
video_480p | 480p MP4 |
video_360p | 360p MP4 |
audio_mp3 | Audio extracted as MP3 (192kbps) |
audio_flac | Audio extracted as FLAC (lossless) |
video_with_subs | Best video with embedded subtitles |
video_with_metadata | Best video with embedded metadata & thumbnail |
thumbnail | Thumbnail image only |
Example Input
{"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ","https://www.tiktok.com/@username/video/1234567890","https://x.com/user/status/1234567890"],"mode": "audio_mp3","maxConcurrency": 3,"maxRetries": 2,"maxFileSize": 200}
Example Output
Each URL produces one item in the dataset:
{"input_url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","mode": "audio_mp3","status": "success","error": null,"processing_time_seconds": 12.34,"scraped_at": "2025-01-15T10:30:00Z","attempt": 1,"metadata": {"id": "dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up","uploader": "Rick Astley","duration": 212,"duration_string": "3:32","view_count": 1500000000,"like_count": 15000000,"upload_date": "20091025","description": "...","categories": ["Music"],"tags": ["rick astley", "never gonna give you up"],"extractor": "youtube","thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg","format_count": 22,"formats": [...],"subtitles_available": {"en": ["vtt", "srv3"]},"chapters": []},"download": [{"filename": "dQw4w9WgXcQ.mp3","kv_key": "Rick_Astley___Never_Gonna_Give_You_Up_dQw4w9WgXcQ.mp3","public_url": "https://api.apify.com/v2/key-value-stores/.../records/...","size_bytes": 5120000,"size_mb": 4.88,"content_type": "audio/mpeg","skipped": false}]}
Using Cookies for Login-Gated Content
For sites like Instagram or Facebook, export your cookies from a browser extension (e.g., "Get cookies.txt") and pass them as a JSON array:
{"urls": ["https://www.instagram.com/reel/ABC123/"],"mode": "best_video","cookies": "[{\"domain\":\".instagram.com\",\"name\":\"sessionid\",\"value\":\"...\",\"path\":\"/\",\"secure\":true}]"}
API Usage
Call this actor via the Apify API:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("YOUR_ACTOR_ID").call(run_input={"urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],"mode": "audio_mp3",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["metadata"]["title"])if item.get("download"):print(item["download"][0]["public_url"])
Notes
- Downloaded files are stored in the actor's default Key-Value Store and accessible via public URLs
- The actor requires
ffmpeg(included in the Docker image) for audio extraction and format merging - Not all 1800+ sites are guaranteed to work — websites change frequently
- Respect copyright laws and terms of service when downloading content