YouTube Channel Videos Scraper: All Videos, Shorts & Streams
Under maintenancePricing
from $1.00 / 1,000 video listeds
YouTube Channel Videos Scraper: All Videos, Shorts & Streams
Under maintenanceList every video, Short and live stream of any YouTube channel with title, views, duration, publish date and thumbnail, optionally with full details (likes, description, tags). No API key, no quotas. $1 per 1,000 videos.
Pricing
from $1.00 / 1,000 video listeds
Rating
0.0
(0)
Developer
PulseData
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
0
Monthly active users
an hour ago
Last modified
Categories
Share
YouTube Channel Videos Scraper
YouTube Channel Videos Scraper lists every video of one or more YouTube channels: regular videos, Shorts and past live streams. Each video comes back as a JSON item with title, view count, duration, publish date, thumbnail and URL, and with details turned on also likes, full description, tags, category and the channel's subscriber count. It costs $1 per 1,000 listed videos, or $2 per 1,000 videos with full details.
No YouTube Data API key is needed and there is no daily quota: the actor reads YouTube's public channel pages. It is the channel part of the YouTube Scraper with a shorter input form; search, playlists and single video lookups are left out.
Features
- Export all videos of a YouTube channel to JSON, CSV or Excel, with no cap by default (
maxVideosPerChannelis 0). - List all Shorts of a YouTube channel by picking the
shortstab. - List past live streams of a YouTube channel with the
streamstab. - Get likes, description and tags for every channel video with
fetchDetailsForListedVideos. - Scrape several channels in one run: channel URLs (
/@handle,/channel/UC…,/c/name,/user/name) or bare@handles, one per line. - A channel profile item per channel with subscriber count, video count, description, handle, avatar and RSS URL.
Use cases
- Content audits: pull a channel's full catalogue and see which topics and formats get views, and how Shorts compare with long-form videos.
- Competitor and creator research: upload cadence, best performing videos and view counts across a set of channels.
- Upload monitoring: schedule a daily run with
maxVideosPerChannel: 20to catch a channel's new uploads. - Archives and catalogues: a complete list of a channel's video IDs and URLs for further processing.
- Datasets for AI: pass the video URLs to the YouTube Transcript Scraper and YouTube Comments Scraper.
Input
{"channelUrls": ["https://www.youtube.com/@veritasium","@3blue1brown"],"channelTabs": ["videos", "shorts"],"maxVideosPerChannel": 0,"fetchDetailsForListedVideos": false}
| Field | Type | Default | What it does |
|---|---|---|---|
channelUrls | array | required | Channel URLs or @handles, one per line. |
channelTabs | array | ["videos"] | Any combination of videos, shorts, streams. |
maxVideosPerChannel | integer | 0 | Maximum videos per channel and per tab; 0 means all. |
fetchDetailsForListedVideos | boolean | false | Fetch full details for every video (one extra request per video, detailed price). |
concurrency | integer | 5 | Parallel detail requests, 1 to 20. |
proxyConfiguration | object | no proxy | Optional Apify Proxy settings. |
Output
A video from the Videos tab:
{"type": "video","videoId": "lIId8IDP6TU","url": "https://www.youtube.com/watch?v=lIId8IDP6TU","title": "Why the Sky Is Blue (and Sunsets Red)","publishedTimeText": "3 weeks ago","publishedAt": "2026-08-08T14:10:45.184Z","durationText": "18:21","durationSeconds": 1101,"viewCountText": "2,655,142 views","viewCount": 2655142,"thumbnailUrl": "https://i.ytimg.com/vi/lIId8IDP6TU/hq720.jpg","isShort": false,"isLive": false,"source": "channel:@veritasium:videos","position": 1}
The first item for each channel is the channel profile:
{"type": "channel","channelId": "UCHnyfMqiRRG1u-2MsSQLbXA","url": "https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA","handle": "@veritasium","title": "Veritasium","subscriberCount": 18900000,"videoCount": 420,"description": "…","avatarUrl": "…","rssUrl": "…","source": "https://www.youtube.com/@veritasium"}
With fetchDetailsForListedVideos each video item also has likeCount, the full description, keywords, category, uploadDate, channelName, channelId, channelSubscriberCount and detailed: true, and publishedAt becomes the exact publish date.
Notes on the data:
- Without details,
publishedAtis computed from YouTube's relative text ("3 weeks ago") and is approximate. - Items from the Shorts tab contain the title, view count, thumbnail and URL only; turn on details for more.
- Channel name and ID fields on listed video items can be empty because the channel tab does not repeat them per video. The channel profile item has them.
- If a channel cannot be resolved or fails, the dataset gets an item with
type: "error"and the reason.
Pricing
Pay per event:
| Event | Price | Per 1,000 |
|---|---|---|
video-listed (a video from a channel tab) | $0.001 | $1 |
video-detail (a video with full details) | $0.002 | $2 |
With details on, each video is charged only at the detailed price. The channel profile item has no event in this actor's pricing.
Worked example: a channel with 500 videos in the Videos tab and 300 Shorts, listed without details, is 800 listed videos: 800 x $0.001 = $0.80. The same run with details on costs 800 x $0.002 = $1.60. A daily monitoring run with maxVideosPerChannel: 20 on the Videos tab of 10 channels is at most 200 videos, or $0.20.
FAQ
Do I need a YouTube API key? No, and there is no quota. The actor reads YouTube's public pages.
Can I get all videos of a large channel?
Yes. Keep maxVideosPerChannel at 0. Channels with thousands of videos take longer, since the list is paged the same way YouTube pages it in the browser.
Why is the publish date approximate? Channel pages only show relative times such as "3 weeks ago". Turn on details for the exact date.
Does the limit apply per channel or per run?
Per channel and per tab. With channelTabs: ["videos", "shorts"] and maxVideosPerChannel: 50 you get up to 100 videos per channel.
Do I need proxies? Usually not. If YouTube starts returning errors and you have not set a proxy, the actor retries through Apify residential proxy.
What can it not do? It does not search YouTube, read playlists, download video files, or return transcripts and comments. For search and playlists use the YouTube Scraper; for transcripts and comments see the related actors below.
How do I export or automate it? Download the dataset as JSON, CSV or Excel, call it through the Apify API or SDKs, schedule it, or connect it to Google Sheets, Make, Zapier or n8n. It can also be used as an MCP tool by AI agents.
Related actors
- YouTube Scraper: adds YouTube search, playlists and single video lookups to the channel features.
- YouTube Transcript Scraper: transcripts and subtitles for the videos this actor lists.
- YouTube Comments Scraper: comments and replies for the same videos.
- Google Ads Transparency Center Scraper: the YouTube video ads a brand runs next to its channel uploads.