YouTube Video & Audio Downloader avatar

YouTube Video & Audio Downloader

Pricing

from $20.00 / 1,000 video downloadeds

Go to Apify Store
YouTube Video & Audio Downloader

YouTube Video & Audio Downloader

Download YouTube videos or extract audio (MP3) at your chosen quality, with metadata and optional subtitles. Powered by yt-dlp with residential-proxy support and bot-detection workarounds. For archiving, repurposing, datasets, and pipelines.

Pricing

from $20.00 / 1,000 video downloadeds

Rating

5.0

(1)

Developer

Dami's Studio

Dami's Studio

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Download YouTube videos, or pull just the audio as MP3, at a quality you choose. Each result comes back with metadata (title, channel, duration, views, resolution) and, if you ask for them, subtitles. It's meant for archiving, repurposing clips, and building video or audio datasets without hand-saving files one at a time.

How it works

The actor runs yt-dlp behind an Apify residential proxy, fetches the best stream at or below your quality cap, and stores each file in the run's key-value store with a public URL. YouTube bot-blocks most datacenter IPs, so residential proxy is the default and is the part that actually keeps downloads from failing.

Input

Pass either an array of urls or a single videoUrl. Everything else has a sensible default, so a list of links is enough to get going.

FieldRequiredNotes
urlsone of urls/videoUrlArray of YouTube watch or Shorts links.
videoUrlone of urls/videoUrlA single link, if you'd rather not use an array.
qualitynoCaps video height: 2160, 1440, 1080 (default), 720, 480, 360, or audio for audio-only. Picks the best stream at or below the cap.
audioOnlynoExtract MP3 instead of video. Same effect as setting quality to audio. Default false.
subtitlesnoAlso fetch subtitles/auto-captions as SRT. Default false.
subLangsnoComma-separated language codes, e.g. en,es. Only used when subtitles is on. Default en.
includeMetadatanoReturn title, channel, duration, views, upload date, resolution. Default true.
proxyConfigurationnoApify proxy. Defaults to RESIDENTIAL, which is what you want here.

Output

One dataset record per URL. A successful record has ok: true plus title, channel, durationSeconds, viewCount, uploadDate, resolution, format, and fileSizeBytes. The download itself lives in the key-value store. mediaKey is the store key and mediaUrl is a direct link to the file. When subtitles are requested, subtitles holds an array of { key, url } per language. If a single URL fails, you get ok: false with an error message and the run keeps going on the rest.

Example

{
"urls": [
"https://www.youtube.com/watch?v=aqz-KE-bpKQ"
],
"quality": "1080",
"subtitles": true,
"subLangs": "en"
}

Pricing

$0.05 per successful download, pay per result, no subscription. Failed URLs aren't charged.

Notes

Residential proxy is on by default for a reason. If you switch to datacenter IPs, expect YouTube to bot-block a lot of requests. Some videos (age-restricted, region-locked, or private) won't download regardless of proxy. Subtitle availability depends on what the channel uploaded; auto-captions exist for most videos but accuracy varies. If any step uses an AI model, that runs on your own OpenAI key.