YouTube Video Downloader — MP4 & MP3
Under maintenancePricing
Pay per event
YouTube Video Downloader — MP4 & MP3
Under maintenancePricing
Pay per event
Rating
0.0
(0)
Developer
SR
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Video Downloader: YouTube to MP4 and MP3
Hosted youtube video downloader that turns any public YouTube link into a downloadable file. Give it a list of video URLs, pick youtube to mp4 (up to 1080p) or MP3 audio, and the Actor downloads each one with yt-dlp routed through a rotating proxy. Every file lands in the run's key-value store, and each output row carries a direct download URL plus full metadata. Run it from the Apify Store with one click, or call it from your own service via the Apify API. Pay per downloaded megabyte, not per month.
If you have been looking for a youtube to mp4 converter that works at scale, a way to grab youtube mp3 audio without ad-riddled websites, or a programmatic downloader you can wire into a pipeline, this Actor is the hosted alternative.
What you get
- MP4 video up to 1080p, or MP3 audio, choose the format per run. MP4 quality is selectable at 360, 480, 720, 1080, or best available.
- A direct download URL per file, every output row includes
download_url, a direct link to the file stored in the run's key-value store. Click it, curl it, or hand it to a downstream job. - Full metadata on every row, title, channel, channel ID, duration, resolution, fps, file size in both MB and bytes, view count, and upload date.
- Bulk input, pass an array of URLs and the Actor works through all of them in one run.
- Flexible URL parsing, standard
watch?v=links,youtu.be/short links,/shorts/URLs, and bare 11-character video IDs all resolve. - Pay only for what you download, billing scales per megabyte, so short clips cost pennies.
Why use a YouTube downloader actor
Browser-based youtube converter sites are unreliable. They wrap downloads in pop-ups, cap quality, throttle you after a few files, and break the moment YouTube ships a change. For anything past a one-off download they do not hold up.
Running a downloader actor on Apify fixes that. You get bulk and programmatic downloads: hand it fifty URLs and get fifty files back in one run, or trigger it from your own code via the API whenever a new video appears. No local software to install, no yt-dlp to keep patched, no proxy to source yourself. The heavy lifting runs on Apify's cloud infrastructure and the finished files sit in the run's key-value store, ready to pull down or pipe onward.
You also get real format choice. Need archival-quality 1080p MP4 for a media library? Set the quality and format. Only want the audio for a podcast feed or a transcription job? Switch to MP3 and skip the video bytes entirely. Because the Actor bills per downloaded megabyte, picking a lower resolution or audio-only directly lowers your cost, so the format decision is also a budget decision.
Input
| Field | Type | Default | Description |
|---|---|---|---|
urls | array | required | YouTube video URLs to download. Accepts watch?v=…, youtu.be/…, /shorts/…, or bare 11-character video IDs. |
format | string | mp4 | Output format. mp4 for video, mp3 for extracted audio. |
quality | string | 720 | Video quality for MP4: 360, 480, 720, 1080, or best. Ignored when format is mp3. |
Output
Every run pushes one record per download to the Apify dataset. Each record points at the actual file in the run's key-value store:
{"video_id": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "Rick Astley - Never Gonna Give You Up","channel": "Rick Astley","channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw","duration_seconds": 213,"format": "mp4","ext": "mp4","resolution": "1280x720","fps": 25,"filesize_mb": 48.7,"filesize_bytes": 51065242,"download_url": "https://api.apify.com/v2/key-value-stores/AbC123/records/dQw4w9WgXcQ_720p.mp4","storage_key": "dQw4w9WgXcQ_720p.mp4","view_count": 1600000000,"upload_date": "20091025"}
The download_url is a direct link to the file in this run's key-value store, and filesize_mb tells you exactly what the download cost. You can:
- Download each file straight from its
download_url - Export the dataset as JSON, CSV, or Excel to get a manifest of every download
- Stream results via the Apify API and fetch files programmatically in your own app
- Pipe the download URLs to webhooks, S3, or any of Apify's integrations
Use cases
Archiving and media libraries
Keep a permanent copy of videos that matter to you: your own channel's back catalogue, conference talks, tutorials, or anything at risk of being taken down. Feed the Actor a list of URLs, choose 1080p MP4, and collect a clean archive with title, channel, and upload date attached to every file.
Dataset building for machine learning
Video and audio corpora start with bulk downloads. Pull hundreds of clips as MP4 for computer-vision training, or extract MP3 audio for speech-to-text and audio-classification datasets. Because each row records duration, resolution, and file size, you can filter and balance your dataset before a single byte hits your training pipeline.
Content repurposing
Grab a long-form video once, then cut it into shorts, quote cards, or audiograms. Download the source in the quality you need, and use the metadata to keep attribution straight. For audio-first repurposing (podcast clips, quote reels), MP3 mode gives you just the track without hauling the video.
Offline analysis
Researchers, journalists, and analysts often need the raw file, not a streaming URL that can vanish. Download the videos or audio you are studying so your analysis does not depend on the clip staying live, and so you can run local tools over the actual media.
How it compares
| This Actor | streamers/youtube-video-downloader | |
|---|---|---|
| Per-MB rate | $0.0048 / MB | $0.006 / MB (free tier) |
| Formats | MP4 (360–1080p) + MP3 | MP4 + MP3 |
| Direct download URL | Yes, from run key-value store | Yes |
| Full metadata row | Yes | Yes |
| Transcript add-on | Not in v1 (use a dedicated transcript actor) | Included |
We undercut the streamers downloader by 20% on the per-megabyte rate, which is the number that actually drives your bill. The transcript add-on is intentionally left out of v1 because a separate transcript actor covers that job better.
Pricing
This Actor uses Apify's pay-per-event pricing, billed per downloaded megabyte at $0.0048 per MB, plus a $0.002 per-run actor-start fee. Your bill scales linearly with the bytes you actually pull, which is exactly the model buyers expect from a downloader.
A typical 50MB video costs about $0.24 (50 × $0.0048, plus the small start fee). Audio-only MP3 downloads are far smaller, so they cost a fraction of that. There is no monthly subscription and no minimum.
Limits and gotchas
- Billed per megabyte, so quality is a budget lever. A 360p MP4 or an MP3 costs a fraction of a 1080p download. Pick the lowest quality that meets your need and your bill drops with it.
- Files live in the run's key-value store. The download is stored under the run, so retrieve it while the run's data is retained. Copy files you need to keep to your own storage.
- The download URL points at the run store.
download_urlis a direct link into this run's key-value store, not a permanent CDN URL. Treat it as run-scoped. - MP3 extraction uses ffmpeg. ffmpeg ships inside the Actor image, so audio extraction works out of the box with no setup on your side.
- Large or long videos take longer. A multi-gigabyte 1080p download is more bytes to move than a three-minute clip, so runtime and cost both rise with file size.
- Free-tier users are capped at 10 downloads per run. Paid Apify users have no per-run cap.
- Private, age-restricted, or region-blocked videos may fail. The Actor downloads public content; videos behind login or hard geo-blocks can return an error row.
FAQ
How do I download a YouTube video to MP4?
Paste one or more video URLs into the urls field, set format to mp4, pick a quality (720 is a solid default, 1080 for full HD), and run the Actor. Each finished file appears in the run's key-value store, and its output row gives you a direct download_url to fetch it.
Can I extract MP3 audio from a YouTube video?
Yes. Set format to mp3 and the Actor pulls the audio track and converts it with ffmpeg, which is built into the image. The quality field is ignored for MP3. Audio files are much smaller than video, so they are the cheapest option per download.
Where is the downloaded file stored?
In the key-value store attached to the run. Every output row includes a storage_key (the file's name in that store) and a download_url (a direct link to it). Pull the files you want to keep into your own storage, since the run store is scoped to the run's data retention.
How much does it cost to download a video?
Billing is $0.0048 per downloaded megabyte plus a $0.002 per-run start fee. A 50MB video runs about $0.24. Lower quality settings and MP3 audio download fewer megabytes, so they cost less.
Can I download many videos at once?
Yes. The urls field takes an array, so a single run can process a whole batch. Free-tier Apify accounts are limited to 10 downloads per run; paid accounts have no per-run cap. You can also schedule the Actor to run automatically.
Related Actors
- Youtube Scraper - Scrape YouTube videos by search term, channel, or video URL.
- Free Youtube Transcript - Get the full transcript of any YouTube video.
- Youtube Comments - Scrape all comments from any YouTube video.