Home › Guides › YouTube Channel Videos Scraper

YouTube channel videos: every upload with exact figures and an outlier score

The channel page rounds everything — "5.5M views · 7 days ago". The YouTube Channel Videos Scraper returns one row per video from a channel's own Videos, Shorts and Live tabs, followed to their end, with the figures YouTube rounds: the unrounded view and like count, the publish date to the second, and an outlier score — each video's views against the channel's own median, so 1 is the usual and 5 is a hit. The longest list we followed had 4,641 videos. No YouTube API key, no login, no cookies.

Who it's for

What you get

GroupFields
VideoVideo ID (stable key), URL, title, kind (video, short or live), position in the list, thumbnail
FiguresUnrounded views (with an exact flag), likes, publish date and time to the second, "days since", duration
OutlierchannelMedianViews (the channel's usual for that kind) and outlierScore = views ÷ median; plus likeRate, viewsPerDay, viewsPerSubscriber
ChannelChannel ID, URL, handle, title, subscribers, country
Full page (details: full)Comment count, full description with links restored, hashtags, chapters (creator's or YouTube's)
StateLive / was-live / upcoming / members-only flags, live viewers, scheduled start, detail level, scrape time

A real row from a run on 2026-10-07 with details: "full" (trimmed — description and chapters shortened):

{
  "type": "video",
  "videoId": "e1q-TuHdc4Y",
  "title": "Dear YouTube!",
  "videoType": "video",
  "channelHandle": "@mkbhd",
  "channelTitle": "Marques Brownlee",
  "channelSubscribers": 21400000,
  "publishedAt": "2026-09-30T14:42:19.000Z",
  "publishedDate": "2026-09-30",
  "daysSincePublished": 7,
  "durationSeconds": 743,
  "views": 5557856,
  "viewsAreExact": true,
  "likes": 124581,
  "commentsCount": 9500,
  "likeRate": 0.0224,
  "viewsPerDay": 793979,
  "viewsPerSubscriber": 0.26,
  "channelMedianViews": 5104379,
  "outlierScore": 1.09,
  "position": 2,
  "sort": "latest",
  "detailLevel": "full"
}

How the outlier score works

The score compares a video with what is usual for its channel: channelMedianViews is the median view count of the first page of the same list in newest-first order (about 30 videos; 48 for Shorts), and outlierScore is the video's views divided by it. 1 is the channel's usual, 3 is three times that. Long videos are compared with long videos and Shorts with Shorts, and recent uploads — still collecting views — score lower than they eventually will. Filter with minOutlierScore to keep only the videos that broke out.

Three depths, one per row, priced apart. list reads only the channel's lists and public feed (about four requests a channel, however many videos you take). figures (the default) adds one small request per video for unrounded views, likes and date. full reads each video's page for the comment count, description, hashtags and chapters. The About panel is read once per channel for subscribers and country.

Lists are followed until they end — until YouTube offers no further page. A list that stops answering part-way is not passed off as complete; what it brought is delivered and the status message says the list was cut.

Input

InputWhat it does
channelsChannel URLs, @handles or channel IDs, one per line (up to 10,000)
videoTypesWhich lists to read: videos, shorts, live (default videos)
maxVideosPerChannel · maxVideosVideos per channel and kind (default 30) · total rows (default 1,000)
sortlatest (default), popular or oldest — the channel page's own orders
detailslist, figures (default) or full — how much is read per video
publishedWithinDays · minViews · minOutlierScoreKeep only videos newer than N days · above a view count · above an outlier score (decimals allowed)
onlyNewVideos · listNameRemember delivered videos and skip them next run — upload monitoring on a schedule

The videos that broke out across two channels — most popular first, at least three times the usual:

{ "channels": ["@51Drones", "@LabMuffinBeautyScience"], "sort": "popular", "maxVideosPerChannel": 200, "minOutlierScore": "3" }

New uploads of many channels every day — lists and feeds only, nothing delivered twice:

{ "channels": ["@mkbhd", "@jameshoffmann", "@51Drones"], "videoTypes": ["videos", "shorts"], "maxVideosPerChannel": 15, "details": "list", "onlyNewVideos": true, "listName": "watchlist" }

Measured data quality

Share of rows with a value, measured on 2026-10-07 (each column is a separate run):

Fieldfigures: whole archive, 1,852full: latest 300list: 15+15 of 50 channels, 1,414
Unrounded view count1,845/1,852300/300797/1,414 (rest carry the list's rounded figure)
Like count1,838/1,852300/300741/1,414
Publish date1,852/1,852300/300741/1,414
Outlier score1,845/1,852300/3001,412/1,414
Comment count (full)—300/300—
Unique videos1,852/1,852300/3001,414/1,414

Where a count is missing, YouTube shows none: the seven archive rows without a view count are six YouTube Originals episodes and a 2013 live stream whose pages carry a date and no count. Read at the same moment, the figures and full levels gave the same views, likes and date for five videos of five kinds; a larger archive of 6,104 videos came back with no request refused.

Honest limits

Speed

On the platform with the default 1 GB (2026-10-07): the prefilled 30-video input took 4 to 6 seconds; 300 videos with exact figures 6 to 8 seconds; a whole 1,852-video archive 35 to 44 seconds (1,919 requests, none refused), and 6,104 videos in one run 110 seconds. A full run of 300 took 32 to 50 seconds from an accepted address, slower through the proxy. The latest 15 videos and 15 Shorts of 50 channels — 1,414 rows at list level — took 10 seconds. A run the platform restarts continues from the rows it already delivered.

Pricing

Pay per result, by depth: one event per delivered row named by its detailLevel — video (lists and feed only), video-exact (exact figures, the default) and video-detailed (whole page). Status rows, filtered-out videos and videos that could not be read are free; a full row whose page YouTube refused is delivered with exact figures and charged as the figures event. Each run also has Apify's run-start event. Current prices are on the actor's Pricing tab on Apify.

Turn a channel into a table: every upload with unrounded views, likes, dates and an outlier score — exportable to JSON, CSV or Excel.

Open the YouTube Channel Videos Scraper →

Related

This Actor reads one channel's own videos; to find videos by keyword across all channels use the YouTube Search Scraper, to discover the channels themselves use the YouTube Channel Finder, and for the discussion under each video use the YouTube Comments Scraper. For creator outreach, the YouTube Channel Email Scraper pulls public business emails.

Frequently asked questions

How far back does it go?

As far as the channel's own lists go: each list is followed until YouTube offers no further page. The longest list we followed had 4,641 videos. The lists can hold a few videos fewer than the count on the channel's About panel (1,852 against 1,856 for one channel we compared).

Are the view counts exact?

With details set to figures or full, yes: the unrounded counts from each video's page. With list, the channel's latest 15 uploads have unrounded counts from the feed and older videos have the list's rounded ones; viewsAreExact tells you which.

What is a good minOutlierScore?

2 keeps the videos that did clearly better than usual, 5 the rare hits. The score is views against the median of the channel's latest videos of the same kind, so an old hit on a channel that has shrunk since scores very high.

When do I need details: "full"?

For the number of comments, the description, hashtags and chapters. Views, likes and dates are the same in figures, which is several times faster and, in our measurements, not limited by YouTube.

Can I monitor channels without getting the same videos again?

Yes. Turn on onlyNewVideos and give the list a listName. Each run looks at the first maxVideosPerChannel videos of each list and delivers only the ones it has not delivered before. A killed run is made up for by the list's next run.

YouTube Channel Videos Scraper — the whole archive, exact figures, outlier score. Pay per row, no API key.

Get channel videos on Apify →