YouTube Channel Scraper
Pricing
from $0.80 / 1,000 results
YouTube Channel Scraper
Scrape videos from any public YouTube channel: title, view count, duration, thumbnail, published date, plus channel name, handle, and subscriber count. Accepts @handle, full URL, or /channel/UCxxx. Detects Shorts. RSS fallback. Pay-per-result.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
Extract videos from any public YouTube channel: titles, view counts, durations, thumbnails, published dates, plus channel metadata (name, handle, subscriber count). No API key required.
What It Does
- Accepts
@handle, full channel URLs, or/channel/UCxxxURLs (legacy/c/nameand/user/namealso work) - Extracts channel identity: name, handle, canonical URL, subscriber count, channel ID
- Extracts per-video data: title, views, duration, thumbnail, publication date, Shorts flag
- Detects YouTube Shorts automatically (flagged with
is_short: true) - RSS feed fallback if the channel page is temporarily unavailable
- HTTP-only Go actor, runs on 128 MB RAM
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
channelUrls | array | required | YouTube channel URLs or @handles to scrape |
maxVideos | integer | 200 | Maximum videos per channel (0 = unlimited) |
proxyConfiguration | object | Apify proxy | Proxy settings (datacenter works fine) |
Example Input
{"channelUrls": ["https://www.youtube.com/@example_channel","@another_example"],"maxVideos": 100}
Output
Each row is one video with channel context embedded:
| Field | Type | Description |
|---|---|---|
channel_id | string | YouTube channel ID (UCxxx format) |
channel_name | string | Channel display name |
channel_handle | string | Channel @handle |
channel_url | string | Canonical channel URL |
channel_subscribers | string | Subscriber count as YouTube displays it |
video_id | string | YouTube video ID |
title | string | Video title |
published_at | string | Publication time (relative, e.g. "2 years ago") |
duration | string | MM:SS or H:MM:SS |
view_count | integer | View count (null if unavailable) |
thumbnail_url | string | Thumbnail URL (highest resolution) |
video_url | string | Full video URL (uses /shorts/ for Shorts) |
is_short | boolean | Whether this is a YouTube Short |
scraped_at | string | ISO 8601 scrape timestamp |
Example Output
{"channel_id": "UCxxxxxxxxxxxxxxxxxxxxxx","channel_name": "Example Channel","channel_handle": "@example_channel","channel_url": "https://www.youtube.com/@example_channel","channel_subscribers": "1.2M subscribers","video_id": "abcDEF12345","title": "Example Video Title","published_at": "3 months ago","duration": "12:34","view_count": 154000,"thumbnail_url": "https://i.ytimg.com/vi/abcDEF12345/hqdefault.jpg","video_url": "https://www.youtube.com/watch?v=abcDEF12345","is_short": false,"scraped_at": "2026-07-18T09:00:00Z"}
Pricing
Pay-per-result: you only pay for videos actually returned.
| Event | Suggested price |
|---|---|
| Actor start | $0.001 (one-time per run) |
| Per video result | $0.0008 |
Final prices are set in the Apify Console before publish.
Notes
- The scraper reads the
/videostab of each channel. Shorts appearing in that tab are flagged withis_short: true; the/shorts/and/live/tabs are not scraped separately. - Pagination is handled automatically via YouTube's internal InnerTube API for channels with hundreds of videos.
published_atis the relative time string YouTube displays (e.g. "2 years ago"), not an absolute timestamp.view_countis parsed to an integer where possible; live streams and some Shorts may return null.- Age-restricted or region-blocked channels may return partial results.
Related Actors
- Instagram Scraper - profiles and recent posts
- Twitter Profile Scraper - profile stats and recent tweets
- TikTok Profile Scraper - profile stats and recent videos
- Social Media Email Scraper - discover social URLs from a company website
For bug reports or feature requests, open an issue on the actor's Issues tab.