YouTube Music Downloader avatar

YouTube Music Downloader

Pricing

$750.00 / 1,000 downloaded tracks

Go to Apify Store
YouTube Music Downloader

YouTube Music Downloader

Download audio from public YouTube Music tracks and YouTube videos as MP3, M4A, WebM, FLAC, WAV, Vorbis, or ALAC. Get a saved file link that works without an Apify login or exposed token, plus track data and optional captions.

Pricing

$750.00 / 1,000 downloaded tracks

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

27

Total users

8

Monthly active users

2 days ago

Last modified

Share

🎧 Download YouTube audio in the format you need

YouTube Music Downloader is for creators, researchers, and developers with public YouTube Music or YouTube links. It saves audio and returns a download link, title, artist or channel, duration, source link, file details, and other track data. Each file link works without an Apify login or exposed token. No YouTube login, cookies, OAuth, or API key is needed.

Use it to:

The Actor handles each unique source on its own. If the same video appears more than once, it saves only the first eligible one. A bad or unavailable link does not remove files saved from other links in the run.

📦 Data you get

Each successful download creates one dataset row. It has the source, track, artist or channel, audio format, saved file, and optional caption data. Private, protected, removed, invalid, and unavailable links do not create rows.

The Actor does not expand playlists, albums, searches, radio queues, or artist pages. It does not download video.

🚀 Run the Actor

  1. Add one or more direct YouTube Music or YouTube video links.
  2. Pick an audio format.
  3. Pick an access country if needed.
  4. Add a caption language if you want available captions.
  5. Start the run, open the dataset, and open each downloadUrl.

🛠️ Input

FieldTypeWhat it does
urlsarray of objectsAdds direct public YouTube Music track, YouTube watch, Shorts, or youtu.be links.
urls[].urlstringGives one direct public link to process.
formatstringPicks mp3, m4a, webm, flac, wav, vorbis, or alac. The default is mp3.
countrystringPicks the two-letter uppercase ISO country used to get public audio. The default is US.
captionLanguagestringAsks for available captions in one language, such as en or en-US.

The default input used in Hosted QA is:

{
"urls": [
{
"url": "https://music.youtube.com/watch?v=jNQXAC9IVRw"
}
],
"format": "mp3",
"country": "US"
}

📄 Output

Each successful download has this complete shape. A field may be null when YouTube does not show the value.

FieldTypeWhat it does
submittedUrlstringShows the submitted link that made this row.
videoIdstringGives the YouTube video ID.
sourceUrlstringGives the main YouTube watch URL.
titlestringGives the track or video title.
artistNamestring or nullGives the artist or channel name.
artistUrlstring or nullGives the artist or channel page.
descriptionstring or nullGives the source description.
durationSecondsinteger or nullGives the audio length in seconds.
thumbnailUrlstring or nullGives the thumbnail image URL.
publishedDatestring or nullGives the source date in YYYY-MM-DD form.
viewCountinteger or nullGives the view count when available.
likeCountinteger or nullGives the like count when available.
commentCountinteger or nullGives the comment count when available.
audioFormatstringGives the saved file format.
audioCodecstringGives the saved audio codec.
bitrateKbpsnumber or nullGives the bitrate in kilobits per second.
sampleRateHzinteger or nullGives the sample rate in hertz.
fileNamestringGives the saved file name and extension.
fileSizeBytesintegerGives the saved file size in bytes.
downloadUrlstringDownloads the file without an Apify login or exposed token.
captionsobject or nullGives the requested captions, or null when none match.
captions.languagestringGives the caption language code.
captions.textstringGives all caption text in one string.
captions.segmentsarray of objectsGives the timed caption parts.
captions.segments[].startSecondsnumberGives the time when a part starts.
captions.segments[].durationSecondsnumberGives the length of a part.
captions.segments[].textstringGives the words in a part.

This is a full row from the current beta build:

{
"submittedUrl": "https://music.youtube.com/watch?v=jNQXAC9IVRw",
"videoId": "jNQXAC9IVRw",
"sourceUrl": "https://www.youtube.com/watch?v=jNQXAC9IVRw",
"title": "Me at the zoo",
"artistName": "jawed",
"artistUrl": "https://www.youtube.com/channel/UC4QobU6STFB0P71PMvOGN5A",
"description": "Microplastics are accumulating in human brains at an alarming rate\nhttps://www.youtube.com/watch?v=0PT5c1z3LL8\n\n“Nanoplastics and Human Health” with Matthew J Campen, PhD, MSPH\nhttps://www.youtube.com/watch?v=RRBN_4L09Mg\n\n00:00 Intro\n00:05 The cool thing\n00:17 End",
"durationSeconds": 19,
"thumbnailUrl": "https://i.ytimg.com/vi/jNQXAC9IVRw/hqdefault.jpg?sqp=-oaymwEmCOADEOgC8quKqQMa8AEB-AG-AoAC8AGKAgwIABABGFUgWShlMA8=&rs=AOn4CLA9eLBatYv9WbkD4BbZ2Im-biSPTw",
"publishedDate": "2005-04-24",
"viewCount": 401614105,
"likeCount": 19244088,
"commentCount": 10000000,
"audioFormat": "mp3",
"audioCodec": "mp3 (mp3float)",
"bitrateKbps": 48,
"sampleRateHz": 44100,
"fileName": "Me at the zoo.mp3",
"fileSizeBytes": 117028,
"captions": null,
"downloadUrl": "https://api.apify.com/v2/key-value-stores/UbMyAYGIP6Zr9v66l/records/AUDIO-jNQXAC9IVRw-c3e9279dac82.mp3?signature=19s43qPsmkAJDWIRq2yHd"
}

You can export rows as JSON, CSV, Excel, XML, RSS, or HTML.

💳 Pricing

This Actor uses pay-per-event pricing. The audio event is charged only when a track is saved as a downloadable file. The transcript event is charged only when a requested transcript or subtitle is added to a downloaded track. Invalid, skipped, failed, and no-result links do not create these charged outcomes. Apify platform usage costs may also apply.

🔌 Integrations

Use the Actor with the Apify API, schedules, webhooks, Make, or Zapier. This video shows how to use Apify Actors with integrations:

❓ FAQ

No. A successful row has a signed downloadUrl that works without an Apify login or exposed token.

The source may be removed, protected, age-gated, blocked in the chosen country, or unavailable. Try a country where the public audio is offered. The Actor does not bypass access controls.

Will one bad URL stop my whole list?

No. Each URL is handled on its own. Files already saved from other links stay in the run.

Are transcripts always available?

No. Add captionLanguage to ask for one. The output includes captions only when YouTube has a match. They may be auto-made and are not promised to be official song lyrics.

Which audio format should I pick?

Use MP3 for broad support. M4A can keep compatible source audio. WebM uses Opus audio. FLAC, WAV, Vorbis, and ALAC can help with editing. A lossless container cannot add quality that is not in the source.

Can I download playlists or videos?

No. Add direct track or video links. The Actor does not expand playlists and does not save video files.

Can I use this instead of YouTube Music's offline download?

This Actor saves audio from direct public links to Apify storage. YouTube Music's offline feature works inside its own app. Download only content you are allowed to use.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré