YouTube Music Profile Scraper
Pricing
from $2.99 / 1,000 profiles
YouTube Music Profile Scraper
Find and collect public artist, channel, and profile data from YouTube Music through its first-party web endpoints.
Pricing
from $2.99 / 1,000 profiles
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 hours ago
Last modified
Categories
Share
Collect rich public artist and channel profiles from ordinary YouTube HTML pages. The actor searches the public channel filter, opens each selected public profile page, and parses the embedded page data that is already delivered to an unauthenticated visitor.
The dataset includes profile identity, handle, canonical URLs, description, keywords, subscriber and video counts, verification/official-artist state, avatar and banner image dimensions, RSS feed URL, safety metadata, visible tabs, and bounded shelves containing public videos, playlists, channels, and posts. Signed media URLs, private account data, request identity data, and authentication material are not retained.
Input
At least one of searchQueries or startUrls is required.
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string array | — | Public artist or channel names to search. |
startUrls | URL array | — | Public YouTube channel or handle pages, such as https://www.youtube.com/@adele. |
maxItems | integer | 10 | Maximum unique profiles across the run, from 1 to 50. |
maxSections | integer | 25 | Maximum visible shelves retained per profile. |
maxSectionItems | integer | 20 | Maximum visible items retained in each shelf. |
maxSearchPages | integer | 1 | Bounded public search pages per query, from 1 to 3. |
maxRetries | integer | 1 | Bounded retries for a page request. |
requestTimeoutSecs | integer | 60 | Timeout for a public HTML request. |
requestDelayMs | integer | 250 | Delay between requests. |
countryCode / languageCode | string | US / en | Public-page locale context. |
includeSections | boolean | true | Include visible shelves and their linked items. |
includeDiagnostics | boolean | true | Write exact four-field diagnostics for failed pages. |
enableProxyFallback | boolean | true | Try one configured Apify Proxy request after a direct request fails. |
proxyConfiguration | object | omitted | Optional account-authorized Apify Proxy settings. |
Example:
{"searchQueries": ["Adele"],"maxItems": 2,"maxSections": 10,"maxSectionItems": 12,"includeSections": true,"includeDiagnostics": true,"enableProxyFallback": true,"proxyConfiguration": {"useApifyProxy": false}}
Output and reliability
Each profile is one youtube_music_profile record. OUTPUT contains counts for page attempts, profiles, visible shelf items, continuation markers, failures, blocked pages, and proxy configuration. A continuation marker is reported as metadata; the actor does not call undocumented continuation requests.
If a direct public page fails and fallback is enabled, one configured Apify Proxy request is attempted. Explicit proxy input uses the requested Apify Proxy configuration. Retries and pacing are bounded. A page that cannot be parsed produces an exact { url, error, errorCode, scrapedAt } diagnostic when diagnostics are enabled.
The actor uses no login, CAPTCHA bypass, stealth browser, fingerprint spoofing, alternate/private request client, or signed media extraction. Optional profile shelves are limited to data visible in the returned public page.
Local verification
npx apify validate-schemanpm testnpx apify run --purge --input-file INPUT.jsonnode validate-datasets.js
Deploy with npx apify push, then call the same bounded input in Apify Console or with the Apify CLI and inspect both the dataset and OUTPUT record.