YouTube Channel Videos Scraper avatar

YouTube Channel Videos Scraper

Pricing

from $15.00 / 1,000 results

Go to Apify Store
YouTube Channel Videos Scraper

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

code craker

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

2 days ago

Last modified

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

FieldDescription
profileUrlOne 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.
profileUrlsSeveral channels as an array. numberOfPosts applies per channel.
numberOfPostsMaximum videos to return per channel (default 100, up to 2000).
scrapeAllKeep paginating until the target count, the date boundary, or the end of the channel (default on).
timeSince / timeUntilInclusive 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.
proxyConfigurationDefaults 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_HTML in the run's key-value store when a run returns nothing.