YouTube Playlist Contents & Channel Playlist Finder avatar

YouTube Playlist Contents & Channel Playlist Finder

Pricing

from $0.49 / 1,000 results

Go to Apify Store
YouTube Playlist Contents & Channel Playlist Finder

YouTube Playlist Contents & Channel Playlist Finder

List every video in a YouTube playlist, or discover every public playlist a channel owns, with titles, durations, thumbnails, and playlist metadata.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

vexaloom-labs

vexaloom-labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Share

Collect every video in a YouTube playlist, discover all of a channel's public collections, and search YouTube for playlists by keyword. Every available video can carry exact views, likes, publish date, description, category, and tags, while deleted or private entries can be returned as clearly marked placeholders with their real positions.

What this actor does

  • Playlist contents — every public video in one or many playlists, including 1,000+ item playlists
  • Hidden unavailable entries — optional placeholder rows for deleted, private, or removed videos, preserving their true position
  • Exact video details — views, likes, ISO publish date, description, category, tags, live status, and all thumbnail sizes
  • Channel collections — playlists, shows, courses, podcasts, and albums with their real video/episode counts
  • Playlist search — keyword search across public playlists and courses, ranked per query
  • Mixed runs — combine playlist URLs, channel URLs, and search queries in one input
  • Empty fields are omitted from every record

Output: per video (playlistUrls mode)

  • recordType — video
  • position — the video's real position in the playlist, counting hidden entries
  • videoId, title, url, thumbnailUrl, thumbnails[]
  • duration, durationSeconds
  • isAvailable — false for placeholder rows
  • viewCount, viewCountText — exact views from the video page
  • likeCount — exact likes when YouTube exposes them
  • publishedAt — ISO 8601 date/time
  • publishedTimeText — the relative label shown in the playlist
  • videoDescription, videoCategory, videoKeywords[], isLiveContent
  • videoChannelName, videoChannelId, videoChannelHandle, videoChannelUrl — the video's uploader
  • playlistId, playlistTitle, playlistUrl, playlistType
  • playlistVideoCount — the count YouTube declares for the playlist
  • playlistAvailableVideoCount, playlistUnavailableVideoCount
  • playlistTotalDurationSeconds, playlistTotalDuration
  • playlistOwner, playlistOwnerChannelId, playlistOwnerHandle, playlistDescription, playlistViewCount
  • playlistThumbnailUrl, playlistVisibility
  • lastUpdated, lastUpdatedDate — the latter only when the label contains an exact date
  • scrapedAt

Placeholder rows keep recordType, videoId, position, thumbnailUrl, playlist context, and isAvailable: false. YouTube does not reveal the title or channel of a hidden entry, so those fields are omitted.

Output: per playlist (channelUrls mode)

  • recordType — playlist
  • playlistId, playlistUrl, title, playlistType — playlist, show, course, podcast, album, radio_mix, or uploads
  • videoCount, videoCountText — for example 28 and "28 episodes"
  • thumbnailUrl
  • firstVideoId, firstVideoUrl — where the collection starts
  • channelName, channelId, channelHandle, channelUrl, channelAvatarUrl
  • lastUpdated — when the card shows an update label
  • scrapedAt

Output: per search result (searchQueries mode)

  • recordType — playlist
  • searchQuery, searchRank
  • playlistId, playlistUrl, title, playlistType
  • channelName, channelId, channelHandle, channelUrl
  • thumbnailUrl, firstVideoId, firstVideoUrl
  • scrapedAt

Search cards do not show a reliable video count, so videoCount is omitted. Pass a returned playlist ID to playlistUrls to collect its contents.

Output: status and error rows

If a playlist, channel, or query cannot be read, the dataset still receives a row with recordType: "status" or "error", the relevant input, and a plain-language message, so an empty dataset never hides a failure.

Input

FieldTypeDefaultDescription
playlistUrlsarray–Playlist URLs, watch URLs with list=, or bare playlist IDs
channelUrlsarray–Channel handles, URLs, or channel IDs whose collections you want
searchQueriesarray–Playlist search terms, up to 20 per run
maxPlaylistsinteger100Maximum collections to list per channel
maxSearchResultsinteger20Maximum results per search query
maxVideosinteger0Maximum rows per playlist; 0 returns everything
includeUnavailableVideosbooleanfalseEmit placeholder rows for hidden playlist entries
includeVideoDetailsbooleantrueAdd exact per-video metrics, dates, descriptions, categories, and tags

Supported playlist formats include youtube.com/playlist?list=..., youtube.com/watch?v=...&list=..., music.youtube.com/playlist?list=..., youtu.be/...?list=..., and bare IDs such as PL..., UU..., RD..., or OL....

Example: full playlist with exact video details

{
"playlistUrls": ["https://www.youtube.com/playlist?list=PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU"],
"maxVideos": 50,
"includeVideoDetails": true
}

Example: recover hidden entries from a damaged playlist

{
"playlistUrls": ["PLhMDlPcDRBKQsawQMVty_dNztC8QgppML"],
"includeUnavailableVideos": true,
"includeVideoDetails": false
}

Example: discover every collection on a channel

{
"channelUrls": ["@kurzgesagt"],
"maxPlaylists": 50
}

Example: search playlists and collect one result in the same run

{
"searchQueries": ["python course", "lofi study music"],
"maxSearchResults": 10,
"playlistUrls": ["PL-osiE80TeTt2d9bfVyTiXJA-UTHn6WwU"],
"maxVideos": 20
}

Use cases

  • Course catalogs — export every lesson, its position, duration, and publish date from an educational playlist
  • Playlist backups — snapshot a playlist's contents and see which entries have disappeared
  • Podcast and show indexing — discover a channel's podcast, show, and course collections with episode counts
  • Content research — search a topic, compare playlist titles and owners, then pull the winners' full contents
  • Channel audits — inventory every public collection a creator has published
  • Viewership analysis — compare exact views and likes across videos in the same playlist

FAQ

How many videos can one playlist return? YouTube allows up to 5,000 entries in a public playlist. The actor reads through the entire list and reports what the source actually exposes.

Why is playlistVideoCount larger than the number of rows? The declared count includes entries YouTube hides from the normal list. Set includeUnavailableVideos to true to receive a placeholder for each hidden entry. playlistAvailableVideoCount and playlistUnavailableVideoCount show the split.

Why do some exact fields appear on one video but not another? YouTube hides like counts on some videos and does not publish a category or tags for every upload. Those fields are omitted rather than estimated; the rest of the record stays intact. publishedAt contains a full timestamp when YouTube exposes one and a calendar date when only the date is available.

Do I need a YouTube API key, login, or proxy? No. The actor reads public YouTube data with no account, key, cookie, or proxy setup.

Why is playlistViewCount missing on some playlists? YouTube does not display an aggregate view count for every collection type, such as auto-generated radio mixes. When the source has no count, the field is omitted.

Can I scrape private or personal playlists? No. Playlists such as Watch Later, Liked Videos, and other account-only lists are not publicly readable and are out of scope.

Why do search results omit videoCount? Playlist search cards do not show a video count. The actor returns the result identity and ranking; use the returned playlist ID with playlistUrls to get the full contents and counts.

What does playlistOwner contain? The owner's display name without the interface prefix, for example Timeline - World History Documentaries rather than by Timeline - World History Documentaries.

Is this actor affiliated with YouTube? No. It is an independent tool that reads publicly visible YouTube pages and is not operated or endorsed by YouTube or Google.