YouTube Music Scraper avatar

YouTube Music Scraper

Pricing

$2.65 / 1,000 music entities

Go to Apify Store
YouTube Music Scraper

YouTube Music Scraper

Scrape public YouTube Music searches and known URLs. Export songs, videos, albums, artists, playlists, podcasts, and profiles with source IDs, creators, metrics, thumbnails, and URLs.

Pricing

$2.65 / 1,000 music entities

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

12 days ago

Last modified

Categories

Share

🎵 Turn YouTube Music pages into useful data

YouTube Music Scraper is for music researchers, marketers, creators, and developers. It searches public YouTube Music and reads known URLs. You get songs, videos, albums, artists, playlists, podcasts, and profiles with source IDs, creators, counts, thumbnails, and URLs.

Use it to:

The Actor can search by keyword and enrich known public URLs in the same run. It does not download or save audio or video files.

📦 Data you get

Each saved row is one public YouTube Music entity. Fields include:

  • matchedInput, contentType, sourcePosition, title, and url
  • ids for available video, playlist, browse, channel, and profile IDs
  • creators with names, channel IDs, and links when shown
  • album and playlist context when found
  • durationSeconds and releaseDate
  • metrics for available plays, views, likes, subscribers, and songs
  • thumbnails with image width and height when shown
  • description, tags, mediaFormats, and heatmap when available

YouTube Music does not show every field for every content type. Missing values stay null or use an empty array. Direct track and video URLs may include media format details and audience-interest heatmap points. Playable media URLs are not promised.

🚀 Run the Actor

  1. Add one or more search terms, public YouTube Music URLs, or both.
  2. Pick the content type for keyword searches.
  3. Set the most results to collect for each query.
  4. Start the run and open the dataset.
  5. Export the rows or read them through the Apify API.

The Actor can keep successful rows when another submitted search or URL is invalid or unavailable. Repeated entities are saved once within a run.

🛠️ Input

FieldRequiredWhat to enter
keywordsNoSearch terms for genres, artists, moods, or topics. Add at least one keyword or URL.
youtubeMusicUrlsNoPublic YouTube Music watch, album, or playlist URLs.
searchTypeNosongs, videos, albums, artists, playlists, podcasts, or profiles. The default is songs.
maxResultsPerQueryNoResults to collect for each query, from 1 to 10,000. The default is 750.
{
"keywords": ["jazz", "lofi beats"],
"youtubeMusicUrls": [
{ "url": "https://music.youtube.com/watch?v=BXmEJL1mnuU" }
],
"searchType": "songs",
"maxResultsPerQuery": 25
}

Search settings apply only to keyword searches. A run may include up to 100 keywords and 1,000 submitted URLs.

📄 Output

A saved song row can look like this:

{
"matchedInput": "jazz",
"contentType": "song",
"sourcePosition": 1,
"title": "Autumn Leaves",
"url": "https://music.youtube.com/watch?v=zTVlrOk9a8M",
"ids": {
"videoId": "zTVlrOk9a8M",
"playlistId": null,
"browseId": null,
"channelId": null,
"profileHandle": null
},
"creators": [
{ "name": "Chet Baker", "channelId": null, "url": null }
],
"album": {
"title": "This Is Jazz #2",
"playlistId": null,
"browseId": null,
"url": null
},
"playlist": null,
"durationSeconds": 423,
"releaseDate": null,
"metrics": {
"playCount": 31000000,
"viewCount": null,
"likeCount": null,
"subscriberCount": null,
"songCount": null
},
"thumbnails": [],
"description": null,
"tags": [],
"mediaFormats": [],
"heatmap": []
}

You can export the dataset as JSON, CSV, Excel, XML, or RSS.

💰 Pricing

This Actor uses pay-per-event pricing. You pay for each public music entity saved to the dataset. Empty searches, unsupported URLs, skipped inputs, and diagnostic messages do not create charged rows.

🔌 Integrations

Use Apify datasets, the API, schedules, and webhooks to send the output to your own workflow. This video shows how to use Apify integrations:

⚠️ Limits

The Actor reads public data only. It does not access private, protected, removed, age-gated, or unavailable content. It does not expand an album or playlist into every track. Source fields may vary by content type.

❓ FAQ

Can I enrich a full album or playlist track list?

No. A submitted album or playlist URL returns one row for that album or playlist. It does not return every track inside it.

Why are some counts or IDs missing?

YouTube Music does not show every fact for every entity. The Actor uses null or an empty array instead of guessing.

Can I use a YouTube Music URL and search terms together?

Yes. Add both to one run. Search settings apply to the keywords, while known URLs are read on their own.

Do I need a YouTube API key, cookies, or login?

No. The Actor reads public YouTube Music data and does not ask for source credentials.

Is this a YouTube Music downloader?

No. It exports metadata. It does not download, convert, or save audio or video files.

How is this different from YouTube Music scraper libraries?

You do not need to install or maintain a library. Run the Actor in Apify, then read the dataset through exports or the API. Source changes can still affect which public fields are available.

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