Media Downloader - All-in-One Video, Audio and Metadata avatar

Media Downloader - All-in-One Video, Audio and Metadata

Pricing

from $15.00 / 1,000 media downloadeds

Go to Apify Store
Media Downloader - All-in-One Video, Audio and Metadata

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 hours ago

Last modified

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

CapabilityDetails
Video downloadSave supported public videos as MP4, WebM, or the best source container.
Audio downloadSave source audio as M4A, MP3, or the best available audio format.
Metadata-only modeProbe URLs cheaply and return metadata plus expiring direct media URLs when exposed by the source.
Broad platform coverageWorks 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 storageSaves media files and raw metadata JSON to the default key-value store.
Agent-ready rowsReturns flat, predictable dataset records with source URL, platform, title, creator, duration, quality, file key, status, and error.
Honest outcomesUses COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT, UPSTREAM_FAILED, or CONFIG_ERROR in OUTPUT and RUN_SUMMARY.

Input

FieldTypeDefaultNotes
startUrlsURL listrequiredMedia page URLs as request-list objects.
authorizationConfirmedbooleanfalseMust be true before any probing or download runs.
downloadModeenumvideovideo, audio, or metadataOnly.
preferredQualityenum720pMaximum video quality for video mode.
preferredContainerenummp4mp4, webm, or any.
audioFormatenumm4am4a, mp3, or best.
includePlaylistsbooleanfalseExpand playlist-like URLs up to maxItems.
maxItemsinteger20Hard cap from 1 to 500 items and billable success events.
maxDurationMinutesinteger60Skip longer media before downloading.
maxFileSizeMbinteger250Delete and skip files above this cap.
includeMetadataJsonbooleantrueSave raw yt-dlp metadata JSON.
cookiesTxtsecret stringemptyOptional Netscape cookies.txt for accounts you control.
proxyConfigurationobjectresidential Apify ProxyOverride 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.00005 actor start.
  • $0.015 per successfully downloaded video or audio file.
  • $0.004 per 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.

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.

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.