YouTube Channel Scraper
Pricing
Pay per usage
YouTube Channel Scraper
Scrape a YouTube channel's videos with metadata without a login. Give it channel handles, URLs, or ids and get back each video's title, view count, publish time, duration, and thumbnail, plus an optional channel header row. Walks pagination up to your chosen limit.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Goutam Soni
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Scrape all videos from any YouTube channel and export each video's title, view count, publish time, duration, and thumbnail as clean structured data. No login, no password, and no API key required. Give it a channel handle, URL, or id and it walks pagination automatically up to the limit you set.
What it does
- Scrapes every video from a YouTube channel in listing order, with title, view count (number and text), publish time, duration (seconds and label), thumbnail, and a members-only flag for each.
- Extracts channel details (optional). One header row per channel with name, handle, subscriber count, video count, description, and avatar.
- Accepts any channel reference: a handle (
@example_channel), a channel URL, a custom URL, or a raw channel id (UC...). Mix and match many channels in a single run. - Walks pagination automatically across as many pages as needed to reach your target video count, on channels with thousands of uploads.
- Bulk mode: pass dozens of channels at once and process them in parallel.
- Clean normalized output: counts parsed to real numbers, durations parsed to seconds, every field present on every row, ready for Sheets, Excel, JSON, or CSV.
Use cases
- Lead generation and creator outreach: build lists of channels with subscriber and view metrics to find and qualify creators for sponsorships or partnerships.
- Competitor and market research: track a set of channels in your niche, see which videos perform, and benchmark publishing cadence and view counts.
- Content monitoring: watch a channel's newest uploads, durations, and view growth over time for trend and topic analysis.
- Dataset building: collect large structured video catalogues for analytics, machine learning, or reporting.
- SEO and topic discovery: mine titles and view counts across channels to find high-performing topics and formats.
Input
| Field | Type | Description |
|---|---|---|
channels | array | Channels to pull videos from. Each entry is a handle, a channel URL, a custom URL, or a raw channel id (UC...). Required. |
maxVideos | integer | Maximum videos returned per channel. Pagination walks multiple pages until this is reached or the channel is exhausted. Default 100. |
includeChannelInfo | boolean | Emit one channel header row (name, handle, subscriber count, video count, description, avatar) before each channel's videos. Default true. |
concurrency | integer | How many channels to process in parallel. Default 5. |
proxyConfig | object | Proxy configuration. Residential is the default and recommended option for the most reliable results. |
Example input
{"channels": ["@example_channel","https://www.youtube.com/@another_example","UCexampleexampleexampl"],"maxVideos": 200,"includeChannelInfo": true,"concurrency": 5}
Output
Each result is one row in the dataset. Video rows carry type: "video"; the optional channel header carries type: "channel".
Sample video row:
{"type": "video","videoId": "abc123XYZ45","url": "https://www.youtube.com/watch?v=abc123XYZ45","channelName": "Example Channel","channelId": "UCexampleexampleexampl","viewCount": 459000,"viewCountText": "459K views","durationSeconds": 414,"duration": "6:54","title": "An example video title","thumbnail": "https://example.com/thumbnail.jpg","publishedText": "6 days ago","membersOnly": false}
Sample channel row (when includeChannelInfo is on):
{"type": "channel","channelId": "UCexampleexampleexampl","name": "Example Channel","handle": "@example_channel","url": "https://www.youtube.com/@example_channel","subscriberCount": 21000000,"subscriberCountText": "21M subscribers","videoCount": 1800,"videoCountText": "1.8K videos","description": "Example channel description.","avatar": "https://example.com/avatar.jpg"}
Key fields
viewCount,subscriberCount,videoCountare parsed to real numbers from the displayed text. The original text is kept alongside in the matching*Textfield.durationSecondsis the duration in seconds;durationis the human label (for example6:54).membersOnlyistruefor members-only videos. For these, the public view count is not shown by the source, soviewCountandviewCountTextarenull. This flag explains that null.- Counts reflect the values at the time of scraping.
FAQ
Is it free? How is it priced? The actor runs on the standard pay-per-result model. You only pay for the rows you receive. See the pricing tab on the actor page for the current rate.
Do I need a YouTube account, login, or API key? No. There is no login, no password, and no API key. Just provide channels and run.
How many videos can I get per channel?
Set maxVideos to any number up to 20000 per channel. The scraper walks pagination across multiple pages to reach your target, so you are not limited to a single page of results.
Can I scrape multiple channels in one run?
Yes. Put as many channels as you like in the channels array. Use the concurrency setting to control how many run in parallel.
What input formats are accepted for a channel?
A handle (@example_channel), a full channel URL, a custom URL, or a raw channel id starting with UC. You can mix formats freely in the same run.
How fast is it?
A typical channel of a few hundred videos returns in seconds. Larger requests and higher channel counts scale with maxVideos and concurrency.
Why is viewCount empty for some videos?
Those are members-only videos, where the public view count is withheld at the source. The membersOnly flag is set to true on exactly those rows so the empty value is fully explained.
Related actors
Part of the scraper suite by goat255:
- YouTube Comments Scraper - comments from any video.
- YouTube Transcript Scraper - transcripts and captions.