YouTube Audio Downloader avatar

YouTube Audio Downloader

Pricing

$5.00 / 1,000 audio faileds

Go to Apify Store
YouTube Audio Downloader

YouTube Audio Downloader

Extract audio from YouTube videos, Shorts and Music as M4A/AAC or WebM/Opus - no login, no cookies, no API key. Batch up to 10 links per run, per-video timeframe cuts, parallel downloads, never-fail dataset output. JSON API for developers and AI agents. $0.015 per video.

Pricing

$5.00 / 1,000 audio faileds

Rating

5.0

(1)

Developer

Oliver Queen

Oliver Queen

Maintained by Community

Actor stats

2

Bookmarked

219

Total users

119

Monthly active users

0.56 hours

Issues response

15 hours ago

Last modified

Share

πŸ’° Pricing β€” what you pay per run

$0.025 per video (the first 10 minutes included) + $0.01 for every additional started 10-minute block.

  • Retries and rescue rounds are free β€” a video is charged at most once per run.
  • Live/upcoming streams and invalid/non-YouTube links cost $0.
  • No start fee; the platform's compute usage is billed on top as usual (a typical single-video run adds roughly 0.02–0.05 CU β‰ˆ $0.005–$0.01 on a 1024 MB container).
  • Billing transparency: while the actor's pricing record is being switched over, the Apify Console bill may list the line item AUDIO_FAILED with a higher count β€” Γ—5 per video and Γ—2 per 10-minute block β€” instead of the per-video line items. The amount charged is identical to the price table above; only the label and the count differ.

Examples: a 3-minute song β‰ˆ $0.025 Β· a 1-hour podcast β‰ˆ $0.075 Β· a 10-hour mix β‰ˆ $0.62.

Turn any list of YouTube links into ready-to-download audio files β€” a 3-minute song, a 2-hour podcast, a 10-hour mix β€” fully automatic, no login, no cookies, no API key. Extract audio from YouTube videos, Shorts, and Music with a YouTube audio downloader built for both people and pipelines.

Flat, predictable pricing$0.025 per video + $0.01 per extra 10-minute block after 10 minutes. Live streams and invalid links cost nothing.
FastA 10-video batch typically finishes in ~3–5 minutes β€” not hours.
Long-form readyUp to 10 hours per video (podcasts, mixes, audiobooks) at the same flat per-block price.
Zero setupNo API keys, no cookies, no third-party services. Just paste links and run.
Parallel everythingUp to 10 videos per run, downloaded in parallel.
Self-healingAutomatic retries on fresh connections plus a strict last-resort rescue path β€” 95%+ success on downloadable videos.
Geo-awareCountry-blocked videos are retried from another region β€” and re-downloaded from an allowed country when possible.
Never-fail runsThe run always finishes with one dataset row per video β€” successes and failures alike.
Per-video controlEach link can have its own timeframe cut and audio quality.
Bring your own S3 (optional)Deliver files straight to your own S3-compatible bucket (AWS S3, Cloudflare R2, MinIO, B2) β€” the key-value store stays the main store and is always the fallback.

How to download audio from YouTube

  1. Open the actor and click Add item under YouTube videos.
  2. Paste a YouTube URL (full watch URL or the 11-char video id). Optionally set Timeframe (1:30-2:45) and Audio Quality per video.
  3. Add up to 10 videos per run (Shorts and YouTube Music links work the same way; each video can be up to 10 hours long).
  4. Hit Run. When it finishes, grab the files from the Output β–Έ Download column β€” or take them straight from the API.

Timeframe cuts are done by stream copy (no re-encode), so cutting a 1-hour podcast to a 5-minute clip is instant and lossless.

How much does it cost to download YouTube audio?

EventPriceWhen
AUDIO_DOWNLOADED$0.025 / videoFlat price per video (first 10 minutes included)
AUDIO_LONG_EXTRA+$0.01 / 10 min blockDelivered files longer than 10 minutes (podcasts, mixes)
  • Invalid/non-YouTube URLs β†’ $0 (rejected before any attempt)
  • Live/upcoming streams β†’ $0 (rejected before any download)
  • No start fee; platform usage is billed as normal Apify compute units (1024 MB container β€” a typical single-video run adds roughly 0.02–0.05 CU β‰ˆ $0.005–$0.01 on top of the per-video price)
  • Cap spending with the standard maxTotalChargeUsd run option
  • Pricing-record switch-over: if a bill shows AUDIO_FAILED with a count of Γ—5 (per video) or Γ—2 (per 10-minute block), the amount is the same as the table above β€” see the note at the top of this page.

Examples: a typical 3-minute song β‰ˆ $0.025 Β· a 1-hour podcast β‰ˆ $0.075 Β· a 10-hour mix β‰ˆ $0.62

YouTube audio API for automation and AI agents

Everything the UI does is available through the JSON input API, so the actor drops straight into scripts, CI jobs, schedulers, and AI agents (Apify MCP server, webhooks, Zapier/Make):

{
"videos": [
{ "url": "https://www.youtube.com/watch?v=VIDEO_ID" },
{ "url": "https://www.youtube.com/watch?v=OTHER_ID",
"timeframe": "1:30-2:45",
"audioQuality": "low" }
]
}

Only url is required β€” empty fields fall back to the global defaults (Audio Quality, Timeframe). Start a run with POST https://api.apify.com/v2/acts/utils~youtube-link/runs and poll it, or use run webhooks and the scheduler for recurring jobs.

Each run produces:

  • Dataset β€” one item per video: url, title, duration, ok, method, filename, downloadUrl, seconds, bytes, attempt, error
  • Key-value store β€” the audio files themselves (m4a/webm); the main store, always used unless you opt into S3 below
  • downloadUrl points at the stored file; the Output tab shows a ready-made table

Optional: deliver to your own S3 bucket

The key-value store is the main store and works with zero setup. If your pipeline reads from your own object storage instead, fill the optional S3 delivery section (any S3-compatible service: AWS S3, Cloudflare R2, MinIO, Backblaze B2, ...) and switch the S3 delivery toggle on for the videos you want there:

FieldValuesDefault
s3.endpointS3 API endpoint URLβ€” (disabled)
s3.bucketExisting bucket nameβ€”
s3.regione.g. us-east-1 Β· R2 needs autous-east-1
s3.accessKey / s3.secretKeyCredentials with PutObject on the bucketβ€”
s3.publicBaseUrlPublic URL prefix for downloadUrl (optional)path-style endpoint URL
videos[].s3true = deliver this video to the bucketfalse (key-value store)
  • Optional by design β€” leave the section empty and nothing changes; toggles default to OFF.
  • Never fails the run β€” missing/invalid credentials or a failed upload automatically fall back to the key-value store.
  • Free tiers work fine (e.g. Cloudflare R2: 10GB + zero egress fees; MinIO self-hosted: unlimited).

Input reference

FieldValuesDefault
videos[].urlYouTube URL or 11-char video id (required)β€”
videos[].timeframeMM:SS-MM:SS Β· HH:MM:SS-HH:MM:SSglobal
videos[].audioQualitybest Β· high Β· medium Β· low Β· aac Β· opusbest
videos[].s3true Β· false β€” see Optional: deliver to your own S3 bucketfalse

Global settings act as defaults for every video that leaves a field empty.

Videos longer than 10 hours are rejected before any download and reported in the dataset (the $0.025 attempt base applies).

FAQ

What if a video fails? The engine already retried it through multiple connections, then tried a last-resort fallback β€” with a success rate over 95% on downloadable videos, almost everything lands. Anything still failing at the end is reported in the dataset with the exact error; just re-run it (invalid URLs are rejected before any attempt and cost nothing).

Is there a video limit? 10 links per run, each up to 10 hours long; longer videos are rejected before download. Need more? Chain runs via API β€” each run is independent and resumable.

Can I convert YouTube to MP3? Yes β€” files arrive in original lossless quality (m4a/AAC or webm/Opus), which makes converting to MP3 easy: one ffmpeg -i in.webm out.mp3 command or any audio converter, no re-download needed. Choose aac/opus in Audio Quality to pin the codec.

Do I need login, cookies, or an API key? No. The actor runs without a YouTube account, browser cookies, or any third-party API key.

Can files go to my own S3/R2 bucket? Yes β€” optionally. Fill the S3 delivery section with your bucket's endpoint + credentials and turn the per-video toggle on; the file lands in your bucket and downloadUrl points there. The key-value store remains the main store, and any S3 problem (missing config, bad credentials, network) silently falls back to it β€” the run never fails because of S3.

What about country-restricted videos? The engine detects the country block, retries other regions, then re-downloads the video from an allowed country when that country is supported. Videos blocked in every supported region are reported in the dataset as a geo failure.

What about live streams? Ongoing live/premiere streams are rejected instantly (fast-fail, no endless download, no charge); ended live streams download as regular videos.

What about members-only videos? They're detected immediately and reported with the exact membership level required β€” no endless retries, and no file is delivered (the $0.025 attempt base applies, as with any attempted video).

Is downloading YouTube audio legal? Only download content you have the right to use. Respect YouTube's Terms of Service and copyright law; the actor is a technical tool and you are responsible for how you use it.

Why does a run sometimes take 2 minutes for one video? Container start plus YouTube's anti-bot checks dominate single-video runs; batching 10 links into one run amortizes the startup and is cheaper per video.