YouTube Channel Videos Scraper
Pricing
from $15.00 / 1,000 results
YouTube Channel Videos Scraper
Paste a YouTube channel URL (or @handle) and get that channel's videos for any period. Date filtering, multi-channel input, auto-pagination. Returns title, description, publish date, views, duration and thumbnail.
Pricing
from $15.00 / 1,000 results
Rating
0.0
(0)
Developer
code craker
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Paste a YouTube channel URL (or @handle) and get that channel's videos as structured data — title, description, approximate publish date, view count, duration and thumbnail. Supports several channels per run, a date range with early-stop pagination, and works without any login.
Input
| Field | Description |
|---|---|
profileUrl | One channel: https://www.youtube.com/@nasa, a /channel/UC... URL, a legacy /c/ or /user/ URL, an @handle, a bare handle, or a bare UC... id. Several channels can be pasted one per line. |
profileUrls | Several channels as an array. numberOfPosts applies per channel. |
numberOfPosts | Maximum videos to return per channel (default 100, up to 2000). |
scrapeAll | Keep paginating until the target count, the date boundary, or the end of the channel (default on). |
timeSince / timeUntil | Inclusive date range (yyyy-mm-dd, UTC). Approximate — channel pages only expose relative times ("3 weeks ago"). The actor stops paginating once the feed passes below timeSince. |
proxyConfiguration | Defaults to Apify RESIDENTIAL proxy with US exits. |
The actor fetches with plain HTTP first (fast, cheap) and escalates to a real browser only when YouTube blocks the requests.
Output
One dataset item per video:
{"id": "dQw4w9WgXcQ","url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ","title": "How We Are Going to the Moon","description": "NASA is going back to the Moon...","text": "How We Are Going to the Moon\n\nNASA is going back to the Moon...","channelName": "NASA","channelId": "UCLA_DiR1FfKNvjuUpBHmylQ","channelUrl": "https://www.youtube.com/@NASA","publishedTimeText": "3 weeks ago","created_at": "2026-08-03T10:00:00.000Z","viewCount": 1234567,"duration": "12:34","durationSeconds": 754,"thumbnail": "https://i.ytimg.com/vi/...","isLive": false,"profileHandle": "nasa","profileUrl": "https://www.youtube.com/@NASA"}
Items also carry normalized aliases (author {name, id, profileUrl}, createdTime, viewsCount) so they drop into pipelines built for our other scrapers.
Notes
- Publish dates are derived from YouTube's relative times, so they get less precise the older the video ("2 years ago" spans months). For hard date cutoffs on recent content the accuracy is good (days/weeks granularity).
- A nonexistent or terminated channel is skipped with a warning instead of failing the run.
- Check
DEBUG_HTMLin the run's key-value store when a run returns nothing.