Universal Video Downloader avatar

Universal Video Downloader

Pricing

from $10.00 / 1,000 results

Go to Apify Store
Universal Video Downloader

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

Jamshaid Arif

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

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

FieldTypeDefaultDescription
urlsarrayrequiredList of video URLs to process
modestringmetadataDownload mode (see below)
subtitleLanguagesstringenComma-separated language codes
maxFileSizeinteger500Skip files larger than this (MB), 0 = no limit
maxConcurrencyinteger3Parallel downloads (1-10)
maxRetriesinteger2Retry attempts per URL
cookiesstringBrowser cookies as JSON array
proxyConfigurationobjectApify or custom proxy config

Download Modes

ModeOutput
metadataMetadata only, no file download
best_videoBest quality MP4
video_720p720p MP4
video_480p480p MP4
video_360p360p MP4
audio_mp3Audio extracted as MP3 (192kbps)
audio_flacAudio extracted as FLAC (lossless)
video_with_subsBest video with embedded subtitles
video_with_metadataBest video with embedded metadata & thumbnail
thumbnailThumbnail 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 ApifyClient
client = 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