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

48

Total users

7

Monthly active users

8 days ago

Last modified

Share

🎧 Download YouTube audio in the format you need

YouTube Music Downloader is for creators, researchers, and developers who have public YouTube Music or YouTube links. It saves an audio file 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. You do not need a YouTube login, cookies, OAuth, or API key.

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.

📦 Downloaded audio and track data

Each successful download creates one dataset row. It has the submitted and source links, video ID, title, artist or channel, duration, source details, audio format, saved file details, download URL, and optional captions. A field can be null when YouTube does not show it. 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.

  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

Add direct public YouTube Music track, YouTube watch, Shorts, or youtu.be links. The country and caption choices apply to every URL.

Input fields

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.

Default input used in Hosted QA

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 creates one dataset row. The table covers both caption cases. The captions field is null when no requested caption track matches and is an object when captions are returned. Other fields can be null when YouTube does not show them.

Output fields

FieldTypeWhat it does
submittedUrlstringShows the direct 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 saved file without an Apify login or exposed token.
captionsobject or nullGives the requested captions, or null when no match is available.
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 when a caption part starts, in seconds.
captions.segments[].durationSecondsnumberGives the length of a caption part, in seconds.
captions.segments[].textstringGives the words in a caption part.

Current-beta row with no captions

This is a complete row from a successful current-beta run for a public YouTube Music link:

{
"submittedUrl": "https://music.youtube.com/watch?v=xTvyyoF_LZY",
"videoId": "xTvyyoF_LZY",
"sourceUrl": "https://www.youtube.com/watch?v=xTvyyoF_LZY",
"title": "Shape of You",
"artistName": "Ed Sheeran",
"artistUrl": "https://www.youtube.com/channel/UClmXPfaYhXOYsNn_QUyheWQ",
"description": "Provided to YouTube by Atlantic Records UK\n\nShape of You · Ed Sheeran\n\nShape of You\n\n℗ 2017 Warner Music UK Limited\n\nDrums: Chris Laws\nEngineer: Chris Laws\nEngineer: Dann Pursey\nGuitar, Percussion: Ed Sheeran\nCo- Producer: Ed Sheeran\nLead Vocals: Ed Sheeran\nBacking Vocals: Ed Sheeran\nBacking Vocals: Geo Gabriel\nAssistant Mixer: Geoff Swan\nEngineer: Joe Rubel\nMixer: Mark \"Spike\" Stent\nAssistant Mixer: Michael Freeman\nKeyboards: Steve Mac\nProducer: Steve Mac\nMasterer: Stuart Hawkes\nBacking Vocals: Travis Cole\nBacking Vocals: Wayne Hernandez\nComposer, Lyricist: Ed Sheeran\nComposer, Lyricist: Johnny McDaid\nComposer, Lyricist: Kandi Burruss\nComposer, Lyricist: Kevin Briggs\nComposer, Lyricist: Steve Mac\nComposer, Lyricist: Tameka Cottle\n\nAuto-generated by YouTube.",
"durationSeconds": 234,
"thumbnailUrl": "https://i.ytimg.com/vi_webp/xTvyyoF_LZY/maxresdefault.webp",
"publishedDate": "2017-03-05",
"viewCount": 756863133,
"likeCount": 5630309,
"commentCount": 21000,
"audioFormat": "mp3",
"audioCodec": "mp3 (mp3float)",
"bitrateKbps": 128,
"sampleRateHz": 44100,
"fileName": "Shape of You.mp3",
"fileSizeBytes": 3740876,
"captions": null,
"downloadUrl": "https://api.apify.com/v2/key-value-stores/Bo2vZNV60UhNnuubz/records/AUDIO-xTvyyoF_LZY-b2b83d04934a.mp3?signature=1je1radTV09w6Vu4861YU"
}

Current-beta row with captions

This shown row is shortened. The long source description, caption text, and timed segments are shown as the valid JSON omission marker ....

{
"submittedUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"videoId": "dQw4w9WgXcQ",
"sourceUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"artistName": "Rick Astley",
"artistUrl": "https://www.youtube.com/channel/UCuAXFkgsw1L7xaCfnd5JJOw",
"description": "...",
"durationSeconds": 213,
"thumbnailUrl": "https://i.ytimg.com/vi_webp/dQw4w9WgXcQ/maxresdefault.webp",
"publishedDate": "2009-10-25",
"viewCount": 1810020477,
"likeCount": 19363848,
"commentCount": 2400000,
"audioFormat": "mp3",
"audioCodec": "mp3 (mp3float)",
"bitrateKbps": 128,
"sampleRateHz": 44100,
"fileName": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster).mp3",
"fileSizeBytes": 3410689,
"captions": {
"language": "en",
"text": "...",
"segments": "..."
},
"downloadUrl": "https://api.apify.com/v2/key-value-stores/Ag7FehK92F4d8R4gn/records/AUDIO-dQw4w9WgXcQ-5b397dce2eab.mp3?signature=KczEiuf9cEqrwPWYTCem"
}

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

A link can be private, protected, removed, invalid, unavailable, or blocked in the chosen country. The Actor skips that source and continues with other links. If it is the only unavailable input, the run has zero rows and the audio event is not charged. Try a country where the public audio is offered. The Actor does not bypass access controls.

Will one unavailable URL stop the other URLs?

No. Each URL is handled separately. Rows saved from earlier eligible URLs stay in the run.

What happens when I submit the same video twice?

The Actor keeps the first eligible occurrence of each unique source and ignores later repeats. The saved row describes the first match only.

What does the country field change?

It selects the two-letter ISO country used to get public audio. If the source is not offered there, the link may produce no row.

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

Are captions always available?

No. Add captionLanguage to ask for them. 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

1.0: Richer audio results and resilient multi-URL downloads

  • Choose a country-aware audio source and optional captions, with detailed source and file metadata.
  • Unavailable links no longer stop other URLs, and only saved audio is charged.

0.1: Initial release

  • 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é