YouTube Downloader Pro - 8K/4K/1080p Video, Audio & Subtitles
Pricing
from $2.10 / 1,000 megabyte downloadeds
YouTube Downloader Pro - 8K/4K/1080p Video, Audio & Subtitles
Past 1080p, YouTube serves the picture and the sound as separate streams, and an MP4 only exists once they are merged. That merge is the work here. Up to 8K, or audio as MP3, or captions as .srt, in the run's key-value store. 4K needs more run memory. $0.005/MB on Free. Failures and skips are free.
Pricing
from $2.10 / 1,000 megabyte downloadeds
Rating
5.0
(2)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
247
Total users
116
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Downloader — video, MP3 audio and subtitles
Past 1080p, YouTube stops keeping a video and its soundtrack in the same file. They come down as
separate streams and an MP4 only exists once something merges them, which is most of the work here.
MP4 from 360p up to 4320p (8K), or the audio on its own as MP3, or the captions as .srt. Each
file lands in the run's key-value store and the dataset row carries a direct link to it.
You pay for the megabytes you actually receive. A download that fails, is private, or gets skipped by your size limit adds nothing to that.
What you get
One dataset row per successful download. The shape, with placeholder values:
{"ok": true,"url": "https://www.youtube.com/watch?v=VIDEO_ID","title": "<video title>","channel": "<channel name>","durationSeconds": 635,"viewCount": 27412903,"uploadDate": "20141110","requestedQuality": "1080","resolution": "1920x1080","sourceResolution": "3840x2160","format": "mp4","fileSizeBytes": 155340000,"billedMegabytes": 156,"mediaKey": "VIDEO_ID.mp4","mediaUrl": "https://api.apify.com/v2/key-value-stores/.../records/VIDEO_ID.mp4"}
resolution is measured off the delivered file with ffprobe rather than copied from the page, so
it tells you what you actually got. sourceResolution is what the video is at its best. When those
differ because a lower quality was requested, that's expected; when the actor was forced below what
you asked for, the row carries a qualityNotice saying so in plain English.
With subtitles: true the row also gets a subtitles array of { key, url } pairs, one per
language, each an SRT file in the same store.
Input
{"urls": ["https://www.youtube.com/watch?v=aqz-KE-bpKQ"],"quality": "1080","audioOnly": false,"subtitles": false,"subLangs": "en","includeMetadata": true,"maxMegabytes": 1000}
| Field | Default | Notes |
|---|---|---|
urls | — | Watch or Shorts links. Pass as many as you like in one run. |
videoUrl | — | A single URL, if an array is awkward for your caller. |
quality | 720 | audio, 360, 480, 720, 1080, 1440, 2160, 4320. The number is the short side of the picture, so 720 means 1280x720 landscape and 720x1280 for a vertical Short. If the source doesn't have the quality you asked for, you get the next best. |
audioOnly | false | MP3 instead of video. Same thing as quality: "audio". |
subtitles | false | Also fetch captions, including auto-generated ones, as .srt. |
subLangs | en | Comma-separated codes, e.g. en,es. |
includeMetadata | true | Adds title, channel, view count and upload date to the row. |
maxMegabytes | 1000 | Per-video spend cap. Anything estimated above it is skipped before a byte is downloaded, and skipped videos are free. |
The size limit you should know about
There are two ceilings, and the second one catches people out.
maxMegabytes is yours. The other one is memory: a run gets roughly 0.7× its allocated RAM in
usable working space, so on the default 1024 MB the practical limit is about 716 MB per video.
Anything estimated above that is skipped with a message telling you exactly what to change.
For 4K and 8K, raise Memory in the run options — 4096 MB is a sensible setting for 4K — and
raise maxMegabytes to match. Both, not just one.
Billing
A $0.0005 start fee per gigabyte of run memory, charged once per run and not once per URL. At the default 1 GB that's $0.0005; raise memory to 4 GB for a 4K job and it's $0.002. On top of that, a per-megabyte charge on what's delivered, rounded up to the next whole megabyte.
| Apify plan | Per MB |
|---|---|
| Free | $0.0050 |
| Bronze | $0.0042 |
| Silver | $0.0033 |
| Gold | $0.0021 |
| Platinum | $0.0012 |
| Diamond | $0.00068 |
So on the Free plan a 3 MB Short is about $0.015 and a 100 MB 1080p video is about $0.50. On Diamond the same two are about $0.002 and $0.068.
Nothing else is billed. Failed, blocked, private and over-limit URLs never charge the per-megabyte
fee. They're written to the ERRORS record in the key-value store so you can look at what went
wrong without paying for it. Traffic goes out over the actor's own static exit addresses or
rotating Apify datacenter proxies, neither of which is metered by the gigabyte. If you ask for a
metered group like RESIDENTIAL, it's swapped for datacenter and the row tells you it happened.
Limits
- Public videos only. Private, members-only, purchase-required and age-gated videos need a signed-in account and aren't supported.
- File size scales with bitrate, not just resolution. A static talking-head clip at 1080p is a
fraction of a fast-motion clip at the same resolution, so plan
maxMegabytesper video type rather than per resolution. - Big files take time. Default run timeout is 30 minutes.
- Copyright is your problem, not ours. Download what you own or are permitted to use, and stay within YouTube's Terms of Service.
FAQ
Do I need an account, cookies or an API key? No. A URL is the whole input.
Am I charged for a failed download? Not for the bytes, no. The per-megabyte fee counts only what arrives. The run's start fee still applies, because the run still started.
Can I download several videos in one run? Yes, put them all in urls. One start fee covers the
whole batch.
Is there a length limit? No fixed duration cap. Size is what limits you — see the section above.
Where do the files go? The run's key-value store. mediaUrl in each row is a direct link, and
mediaKey is the store key if you'd rather fetch it through the API.