YouTube Music Playlist Scraper avatar

YouTube Music Playlist Scraper

Pricing

from $2.99 / 1,000 playlists

Go to Apify Store
YouTube Music Playlist Scraper

YouTube Music Playlist Scraper

Search YouTube Music playlists or browse playlist URLs directly. Saves rich playlist and deduplicated track metadata through first-party YouTube Music endpoints.

Pricing

from $2.99 / 1,000 playlists

Rating

0.0

(0)

Developer

w3crawler

w3crawler

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Collects rich records for public YouTube and YouTube Music playlists. The actor uses ordinary public HTML pages and parses the embedded ytInitialData payload that the page itself exposes. It does not use private service calls or signed media URLs.

Dataset fields

Each playlist record includes:

  • playlist ID, canonical public URL, title, description, description length, creator/channel details, reported counts, privacy text, thumbnails with dimensions, source and search rank
  • deduplicated tracks with video ID, title, description, accessibility text, artist objects, album, duration and seconds, views, publication text, badges, explicit/live/upcoming flags, playlist position, channel details, thumbnails with dimensions, and public YouTube/YouTube Music URLs
  • public extraction provenance, locale, request limits, page availability, initial item coverage, continuation visibility, and scrape time

If a public page exposes a continuation marker, the dataset reports it. This implementation keeps requests bounded to public page/search pagination and does not replay opaque continuation commands.

Input

Use at least one search query or direct playlist URL. playlistUrls remains accepted as a compatibility alias for startUrls.

FieldDefaultDescription
searchQueries—Playlist search terms.
startUrls—Public YouTube or YouTube Music playlist URLs.
playlistUrls—Legacy alias for startUrls.
maxItems20Maximum unique playlist records, 1–100.
maxTracks100Maximum tracks per playlist, 1–500.
maxPages3Maximum public search pages per query, 1–10.
languageCodeenPublic-page language context.
countryCodeUSPublic-page country context.
proxyConfiguration—Optional account-authorized Apify Proxy or credential-free HTTP/SOCKS URLs.
enableProxyFallbacktrueTry one configured Apify Proxy after a direct request fails.
includeDiagnosticstrueWrite bounded four-field diagnostics.
requestDelayMs250Delay between requests, 0–5000 ms.
requestTimeoutSecs60Per-request timeout, 15–180 seconds.
maxRetries1Bounded retries per request, 0–3.

Example:

{
"searchQueries": ["indie road trip playlists"],
"startUrls": ["https://www.youtube.com/playlist?list=PLxxxx"],
"maxItems": 5,
"maxTracks": 50,
"maxPages": 2,
"includeDiagnostics": true,
"proxyConfiguration": { "useApifyProxy": false }
}

Reliability and verification

Requests use fixed ordinary public-page headers, bounded retries, pacing, and optional account-authorized Apify Proxy routing. There is no CAPTCHA/login bypass, request-identity spoofing, browser automation, or credential storage. When access is blocked or a page lacks playlist data, the actor preserves successful records and emits a bounded diagnostic instead of exposing response bodies or credentials.

Verify locally with npm test, npx apify validate-schema, npx apify run --purge --input-file INPUT.json, and node validate-datasets.js. Deploy with npx apify actors push <actor-id> --version 2.0 --build-tag latest, then call the cloud Actor with the bounded QA inputs and compare playlist IDs, track counts, required fields, duplicates, and provenance.