Media Downloader - All-in-One Video, Audio and Metadata
Pricing
from $15.00 / 1,000 media downloadeds
Media Downloader - All-in-One Video, Audio and Metadata
Download permitted public videos or audio from many supported media sites with yt-dlp, save files to Apify key-value storage, and return clean MCP-ready metadata rows with honest success, partial, empty, and upstream-failed summaries.
Pricing
from $15.00 / 1,000 media downloadeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 hours ago
Last modified
Categories
Share
Download permitted public videos or audio from many supported media platforms into Apify key-value storage, then get one clean dataset row per media item with metadata, file keys, direct source URLs when available, and an honest run summary.
This actor is built for media operations teams, content owners, social media managers, editors, researchers, and AI agents that need a single URL-in, structured-media-out tool. It uses yt-dlp and ffmpeg for broad site coverage, enforces duration and file-size caps, stores the downloaded media in the default Apify key-value store, and writes OUTPUT plus RUN_SUMMARY for every terminal path.
Use it only when you own the media, control the account, have permission from the rights holder, or have another lawful basis to download the submitted files.
What You Get
| Capability | Details |
|---|---|
| Video download | Save supported public videos as MP4, WebM, or the best source container. |
| Audio download | Save source audio as M4A, MP3, or the best available audio format. |
| Metadata-only mode | Probe URLs cheaply and return metadata plus expiring direct media URLs when exposed by the source. |
| Broad platform coverage | Works with many yt-dlp supported sites including YouTube, Vimeo, Dailymotion, TikTok, Instagram, Reddit, X/Twitter, SoundCloud, Bandcamp, Pinterest, Facebook, Threads, Bilibili, Rumble, Imgur, Tumblr, and many niche video/audio hosts. |
| Persistent Apify storage | Saves media files and raw metadata JSON to the default key-value store. |
| Agent-ready rows | Returns flat, predictable dataset records with source URL, platform, title, creator, duration, quality, file key, status, and error. |
| Honest outcomes | Uses COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED, or CONFIG_ERROR in OUTPUT and RUN_SUMMARY. |
Input
| Field | Type | Default | Notes |
|---|---|---|---|
startUrls | URL list | required | Media page URLs as request-list objects. |
authorizationConfirmed | boolean | false | Must be true before any probing or download runs. |
downloadMode | enum | video | video, audio, or metadataOnly. |
preferredQuality | enum | 720p | Maximum video quality for video mode. |
preferredContainer | enum | mp4 | mp4, webm, or any. |
audioFormat | enum | m4a | m4a, mp3, or best. |
includePlaylists | boolean | false | Expand playlist-like URLs up to maxItems. |
maxItems | integer | 20 | Hard cap from 1 to 500 items and billable success events. |
maxDurationMinutes | integer | 60 | Skip longer media before downloading. |
maxFileSizeMb | integer | 250 | Delete and skip files above this cap. |
includeMetadataJson | boolean | true | Save raw yt-dlp metadata JSON. |
cookiesTxt | secret string | empty | Optional Netscape cookies.txt for accounts you control. |
proxyConfiguration | object | residential Apify Proxy | Override only if your target media works elsewhere. |
Example Input
{"startUrls": [{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" },{ "url": "https://vimeo.com/76979871" }],"authorizationConfirmed": true,"downloadMode": "video","preferredQuality": "720p","preferredContainer": "mp4","maxItems": 10,"maxDurationMinutes": 15,"maxFileSizeMb": 150}
Output
One dataset row is returned per submitted URL or expanded playlist entry:
{"sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","canonicalUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","platform": "youtube","extractor": "Youtube","mediaId": "dQw4w9WgXcQ","title": "Example video","creator": "Example Channel","durationSeconds": 213,"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg","downloadMode": "video","preferredQuality": "720p","formatExtension": "mp4","qualityLabel": "720p","fileKey": "video-dqw4w9wgxcq-example-video.mp4","fileUrl": "https://api.apify.com/v2/key-value-stores/STORE/records/video-dqw4w9wgxcq-example-video.mp4","fileSizeBytes": 12345678,"contentType": "video/mp4","metadataKey": "metadata-dqw4w9wgxcq.json","status": "success","error": null,"warnings": [],"scrapedAt": "2026-07-15T12:00:00Z"}
Downloaded files are in the default key-value store. Use fileKey or fileUrl for the saved media file and metadataKey or metadataUrl for raw platform metadata.
Pricing
Pay per event plus Apify platform usage:
$0.00005actor start.$0.015per successfully downloaded video or audio file.$0.004per successful metadata-only URL.
Failed URLs, skipped files, unsupported URLs, too-large files, and invalid-input exits are not charged for media success events. Apify platform usage for compute, storage, and proxy traffic is additional.
MCP And AI Agent Use
Tool description draft:
Download authorized public media from many supported sites to Apify storage. Use for video/audio URLs from YouTube, Vimeo, TikTok, Instagram, Reddit, SoundCloud, and similar pages. Do not use for DRM, private, transcript, comment, or profile scraping. Returns one row per URL with platform, title, fileKey, directMediaUrl, status, and errors. Charged $0.015 per saved file.
The output is intentionally flat and compact. Agents can inspect a few rows, fetch the persisted file from the key-value store, and read OUTPUT to decide whether the run was complete, partial, empty, invalid, or blocked upstream.
Reliability Notes
Different platforms expose media differently. Public static files and mainstream video hosts usually work well. Some social networks rotate signatures, require cookies, block datacenter IPs, restrict regions, or remove media without notice. The actor uses residential proxy by default and accepts optional cookies.txt for accounts you control, but it will not bypass DRM, private-account boundaries, paywalls, or platform access controls.
When useful output exists but some URLs fail, the run finishes as PARTIAL. When valid URLs all fail because the upstream extraction route is blocked or unavailable, the run honestly ends as UPSTREAM_FAILED. User-fixable issues such as missing authorization confirmation or missing URLs end as INVALID_INPUT with no media event charges.
Legal
Only download media you own, media you have permission to download, or media you are otherwise legally allowed to copy. You are responsible for complying with copyright law, privacy law, each platform's terms, and any rules that apply to your use case. This actor is not affiliated with, endorsed by, or sponsored by YouTube, TikTok, Instagram, Meta, Reddit, X, Vimeo, Dailymotion, SoundCloud, or any other supported platform.
Related Single-Platform Actors
For platform-specific enrichment or no-watermark workflows, use the dedicated actors in this portfolio when they fit better:
- TikTok No Watermark Downloader
- Instagram Video Downloader
- Reddit Media Downloader
- Vimeo Video Downloader
- Dailymotion Video Downloader
- YouTube Video Downloader
This all-in-one actor is the broad router for mixed URL batches and normalized media storage.