YouTube Channel Video Catalog & Profile Scraper avatar

YouTube Channel Video Catalog & Profile Scraper

Pricing

from $0.49 / 1,000 results

Go to Apify Store
YouTube Channel Video Catalog & Profile Scraper

YouTube Channel Video Catalog & Profile Scraper

Get a YouTube channel's profile details (subscribers, description, links, verification) together with its video, Shorts, playlist or live-stream catalog, for one channel or many at once.

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

2 hours ago

Last modified

Share

Point this actor at a YouTube channel and get its full public catalog back — the latest uploads, the complete back-catalog, Shorts, live and upcoming streams, playlists, podcast shows and channel courses — with exact view and like counts, publish dates, durations and descriptions, plus the channel profile: subscribers, description, links, country, join date, total views and verification.

What this actor does

  • Complete video catalog: newest, most popular or oldest first, paged through the channel's entire upload list
  • Exact per-video metrics: exact view count, exact like count, publish date, exact duration, description and category (when YouTube makes it publicly visible)
  • Every public surface: Shorts (with its own sort), live/upcoming/past streams, playlists, podcast shows, courses and music releases
  • Channel profile: subscribers, video count, handle, description, avatar, banner, country, join date, total views, external links, verification, keywords
  • Members-only listings: optionally list members-only videos (titles and public metadata) when YouTube offers that filter for the channel
  • Bulk channels: paste URLs, handles (@name) or channel IDs, one per line
  • Empty fields are omitted — empty text and missing numbers are left out instead of emitted as null

Output per video row

Each long-form video is one row. Optional scalar fields are omitted when YouTube does not expose a value.

FieldTypeExample
videoIdstring"0e3GPea1Tyg"
titlestring"$456,000 Squid Game In Real Life!"
urlstring"https://www.youtube.com/watch?v=0e3GPea1Tyg"
viewCountinteger (optional; exact only)905688793
viewCountTextstring (optional)"905,688,793 views"
likeCountinteger (optional; exact only)2009889
publishedAtstring (optional)"2026-10-03" or "2026-10-03T09:00:01-07:00"
categorystring (optional)"Entertainment"
publishedTimeTextstring (optional)"2 days ago"
durationstring (optional; may be "LIVE")"25:42"
durationSecondsinteger (optional)1542
thumbnailUrlstring (optional)Video thumbnail URL
descriptionstring (optional)Video description
isLivebooleanfalse
isShortbooleanfalse
isUpcomingboolean (only when true)true
isMembersOnlyboolean (only when true)true
concurrentViewersTextstring (live only)"2K watching"
badgesarray (optional)Card badges such as "New" or "4K"
authorMetadataobjectChannel details (see below)
scrapedAtstring"2026-10-18T12:00:00+00:00"

If includeExactMetrics is off, viewCount/likeCount/publishedAt/category are omitted and the listing-page values (viewCountText, publishedTimeText) are returned instead. category and exact like counts are omitted when YouTube does not make them publicly visible.

Surface arrays

shorts, playlists, liveVideos, podcasts, courses and releases are attached to the first video row of each channel (or to the channel-only row when maxVideos is 0) and are never repeated on every row.

  • shorts[] — videoId, title, viewCountText, url, thumbnailUrl, type: "short"; exact metrics are added when includeExactMetrics is on
  • playlists[] — playlistId, title, url, thumbnailUrl, videoCountText, videoCount, lastUpdatedText
  • liveVideos[] — the same video fields as a normal row, including isLive, isUpcoming and concurrentViewersText
  • podcasts[] — podcastShowId, title, url, thumbnailUrl, episodeCountText, episodeCount, lastUpdatedText
  • courses[] / releases[] — playlistId, title, url, thumbnailUrl, videoCountText, videoCount

authorMetadata fields

FieldTypeExample
channelIdstring"UCX6OQ3DkcsbYNE6H8uQQuVA"
channelNamestring"MrBeast"
handlestring"@MrBeast"
channelUrlstring"https://www.youtube.com/@MrBeast"
descriptionstringChannel description
subscriberCountTextstring"466M subscribers"
subscriberCountinteger (optional; exact text only)8390
videoCount / videoCountTextinteger / string948 / "948 videos"
countrystring (optional, ISO code)"CZ"
locationstring (optional)"Czechia"
joinedDateTextstring (optional)"Joined Feb 20, 2012"
totalViews / totalViewsTextinteger / string (optional)2424926 / "2,424,926 views"
externalLinks[]array (optional)[{"title": "Website", "url": "https://..."}]
aboutDescriptionstring (optional)Description as shown on the About panel
avatarUrl, bannerUrlstringImage URLs
isVerified, isFamilySafebooleantrue
isOfficialArtistChannelboolean (only when true)true
keywordsarray (optional)Owner-set channel keywords
channelLinks[]array (optional)Header links: [{"title": "...", "url": "..."}]
rssUrlstring (optional)The channel's upstream RSS URL (YouTube's feed availability varies)

Numeric profile counts are emitted only when YouTube supplies an unabridged integer (for example 1,234 subscribers). Rounded labels such as 466M subscribers stay in the matching *Text field; an approximate value is never presented as an exact count.

If a channel page cannot be fetched or parsed at all, a row with channelUrl, error, success: false and scrapedAt is returned instead.

Input

FieldTypeRequiredDefaultDescription
channelUrlsstring[]Yes–Channel URLs, @handles or channel IDs
maxVideosintegerNo50Max long-form videos per channel (0–10000). 0 returns profile only
sortVideosBystringNo"newest"newest, popular, oldest (falls back to newest when unavailable)
sortShortsBystringNo"newest"Shorts sort: newest, popular, oldest
includeAboutbooleanNotrueAbout-panel fields: total views, join date, location, country, links
includeShortsbooleanNofalseInclude the Shorts tab
maxShortsintegerNo20Cap for Shorts (1–2000)
includeLiveVideosbooleanNofalseInclude live, upcoming and past streams
maxLiveVideosintegerNo20Cap for streams (1–500)
includePlaylistsbooleanNofalseInclude playlists
maxPlaylistsintegerNo20Cap for playlists (1–500)
includePodcastsbooleanNofalseInclude podcast shows
maxPodcastsintegerNo50Cap for podcast shows (1–500)
includeCoursesbooleanNofalseInclude courses
maxCoursesintegerNo50Cap for courses (1–500)
includeReleasesbooleanNofalseInclude music releases
maxReleasesintegerNo50Cap for releases (1–500)
includeMembersOnlybooleanNofalseAlso list members-only videos when YouTube offers that filter
includeExactMetricsbooleanNotrueAlso fetch each video's exact counts, dates and descriptions (slower; turn off for listing-page values only)
marketstringNo"US"Market/region for content availability (31 countries)
languagestringNo"en"Language for YouTube's interface text (relative dates)

Supported channel formats

  • @MrBeast — handle
  • https://www.youtube.com/@MrBeast — full URL
  • https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA — channel ID URL
  • UCX6OQ3DkcsbYNE6H8uQQuVA — raw channel ID
  • MrBeast — plain name (treated as a handle)

Example: catalog with every surface

{
"channelUrls": ["@MrBeast"],
"maxVideos": 100,
"sortVideosBy": "popular",
"includeShorts": true,
"maxShorts": 50,
"includeLiveVideos": true,
"includePlaylists": true
}

Example: profile-only enrichment for a lead list

{
"channelUrls": ["@MrBeast", "@mkbhd", "@kurzgesagt"],
"maxVideos": 0,
"includeAbout": true
}

Example: podcast and course discovery

{
"channelUrls": ["@LofiGirl", "@Fireship"],
"maxVideos": 10,
"includePodcasts": true,
"includeCourses": true,
"includeReleases": true
}

Example: members-only backlog

{
"channelUrls": ["@LinusTechTips"],
"maxVideos": 50,
"includeMembersOnly": true
}

Use cases

  • Channel research — map a creator's complete output, posting cadence and growth metrics
  • Competitor analysis — compare catalogs, view/like counts and publishing frequency across a niche
  • Content auditing — inventory every video on a channel to find gaps and evergreen performers
  • Influencer vetting — subscriber counts, verification, country and engagement signals in one run
  • Media monitoring — track news and live channels, including upcoming broadcasts
  • ML datasets — exact counts, ISO dates and descriptions ready for analysis

FAQ

Do I need a YouTube API key? No. The actor reads public YouTube pages and YouTube's own web endpoints; no API key, login or cookie is required.

Which sort orders are available? Newest, most popular and oldest — for both long-form videos and Shorts. If a channel does not offer a chosen order, newest-first is used and the run log says so.

Why are some counts exact and others text only? YouTube shows rounded labels like 466M subscribers on channel pages. The actor keeps that label in its *Text field and never expands it into a fake exact number. Exact viewCount and likeCount come from each video's own metadata.

What does includeExactMetrics do? It fetches each video's exact views, likes, publish date, category and description. Turning it off makes runs faster and cheaper but returns listing-page values only.

How far back does the catalog go? The actor pages through the channel's entire upload list, up to your maxVideos setting (maximum 10,000 per channel). Channels with tens of thousands of uploads are limited only by that cap.

What can I learn about members-only or age-restricted videos? Titles, publish dates, durations and like counts are public for members-only videos when the channel shows them in its Members-only filter — those rows carry isMembersOnly: true and are added in addition to your maxVideos setting. Age-restricted videos are listed like any other video, with their public title, views, likes and duration; only playback is age-gated. Members-only and age-gated playback still requires a logged-in session; the actor never logs in.

Are live streams included? Yes, with includeLiveVideos: active streams include isLive and a concurrentViewersText (for example "2K watching"), scheduled premieres carry isUpcoming, and past streams come back with durations.

How fresh is the data? Data is fetched live at run time — there is no cache. Every run reflects the channel's current state. If a channel's catalog page cannot be fetched at all, the actor falls back to YouTube's public channel feed and returns that channel's latest 15 uploads instead of an empty result.

Do I need to set up a proxy? No. The actor uses a working public connection to YouTube automatically. Just fill in the input and run it.

Is this affiliated with YouTube? No. This is an independent tool and is not affiliated with, endorsed by, or sponsored by YouTube or Google.