YouTube Channel Scraper: Export Subscriber and Video Stats
I vet influencer channels for brand partnerships — usually 50–200 channels per campaign to narrow down to 5–10 with the right subscriber count, engagement rate, and upload frequency. The YouTube Data API's `channels.list` call is 1 unit each, which sounds cheap. The problem is discovery: finding the right channels requires search, and `search.list` is 100 units per query. A campaign with 20 niche keyword searches burns 2,000 units before I've pulled a single subscriber count.
A YouTube channel scraper that bypasses the search quota is what I actually run. Channel pages are publicly accessible HTML — subscriber count, total view count, video count, and the full video library with per-video stats are all visible without authentication. This guide covers how to extract that data efficiently, what's accessible versus what requires the API, and where each method breaks.
Vet 50 YouTube channels in the time it takes to set up the API
Clura reads YouTube channel pages directly in your Chrome browser. Open any channel, click Clura, export subscriber count, video stats, and upload frequency to CSV. No API key, no quota. Free for up to 500 rows.
Add to Chrome — Free →What YouTube Channel Data Is Publicly Accessible?
YouTube channel pages expose: subscriber count (unless the channel has hidden it), total view count, video count, channel description, join date, country, and the full video library with per-video title, view count, like count, comment count, upload date, and duration. This is all accessible without API credentials — it's the same data any logged-out visitor sees.
| Data Field | Accessible Without API? | Where It Appears | Caveat |
|---|---|---|---|
| Subscriber count | Yes (usually) | Channel About tab / header | Some channels hide this — shows as 'hidden' in the UI too |
| Total channel views | Yes | Channel About tab | Cumulative lifetime views |
| Video count | Yes | Channel About tab / Videos tab | Includes unlisted — count may include those |
| Channel description | Yes | About tab | Full text accessible |
| Join date | Yes | About tab | Month and year only — not exact date |
| Country / location | Yes | About tab | Only if channel has set it |
| Per-video title, views, likes, comments, date, duration | Yes | Videos tab | Likes hidden on some channels |
| Shorts vs long-form split | Yes | Videos tab filter | Separate tabs for Shorts and Live |
| Monetization status | No | Not publicly visible | Requires YouTube Studio access |
| Revenue estimates | No | Not publicly visible | Third-party tools estimate; not scraped from YouTube |
The most valuable data for influencer vetting — subscriber count, per-video view averages, upload frequency, and engagement rate (likes + comments relative to views) — is all on the public channel page. The only fields that require API access are things that channel owners can control from YouTube Studio: monetization status, revenue, and detailed analytics like watch time and audience retention.
How to Scrape a YouTube Channel: Stats and Video Library
The channel About tab contains subscriber count, total views, video count, and description. The Videos tab contains the full video library — title, views, upload date, and duration for each video. Both load as JavaScript-rendered pages, requiring a real browser session to read. Clura detects the repeating video card structure and exports all visible rows to CSV.
YouTube channel pages are React-rendered — like the main YouTube site. Python requests gets you a mostly empty HTML shell. You need either a headless browser (Playwright, Puppeteer) or a real Chrome session. The channel About tab is the quickest first stop: open it, click Clura, and the subscriber count, total views, video count, description, join date, and location export in seconds.
- Navigate to the channel's Videos tab (youtube.com/@channelname/videos). This shows all public videos sorted by newest, most popular, or oldest.
- Scroll down the page. YouTube loads ~30 videos per batch as you scroll — pause briefly to let each batch render before scrolling again.
- Once you've scrolled to the depth you want (all-time top videos, last 6 months, etc.), click the Clura extension icon.
- Clura detects the video card grid: title, view count, upload date, duration, and like count where visible.
- Export to CSV. Each row is one video with all metadata columns.
- For channel-level stats: open the About tab, click Clura again. You get a second CSV with subscriber count, total views, video count, description, and location.
For bulk channel vetting across a list of channels, this workflow takes 2–3 minutes per channel — open the Videos tab, scroll to load, export. 50 channels takes about 2 hours manually. If you need faster bulk extraction, the YouTube Data API's `channels.list` at 1 unit per channel is the right tool since you're not discovery-searching — you already have the channel IDs.
Vet a YouTube channel's full video history in 3 minutes
Clura exports the complete visible video library — title, views, date, duration — from any YouTube channel's Videos tab. No API quota, no code, no setup.
Add to Chrome — Free →How to Build a Channel List to Scrape
Before scraping channel stats, you need the channel URLs. For influencer research, Social Blade is the most practical starting point: it maintains sortable lists of YouTube channels by category, subscriber count, subscriber growth rate, and view count — all scrapable without the YouTube API.
The YouTube Data API's search.list costs 100 units per query — the most expensive call in the API. Searching for "fitness channels over 100k subscribers" burns 1,000 units for 10 searches before you've pulled a single subscriber count. I stopped using it for channel discovery after the third campaign.
Social Blade is what I actually use. It tracks ~35 million YouTube channels and lets you browse sorted lists by category (gaming, beauty, tech, finance), subscriber count range, subscriber growth in the last 30 days, and average views per video. The channel name, YouTube URL, subscriber count, and 30-day growth percentage are all on the page. Scrape those with Clura and you get a channel list with preliminary stats in one pass — no API quota spent.
- Go to socialblade.com/youtube/top — choose a category, then sort by subscribers, 30-day growth, or average views per video.
- Open Clura on that page. It detects the channel list table: channel name, Social Blade grade, subscriber count, video count, total views, and 30-day trend.
- Export to CSV. You now have a channel list with preliminary sizing data.
- Extract the YouTube channel URL from each row (Social Blade links directly to the YouTube channel) — these give you the @channelname or /channel/[ID] format.
- Open each channel's Videos tab, scroll, and export with Clura for per-video stats — or batch the channel IDs into the YouTube Data API's channels.list (1 unit per 50 channels) for programmatic stats.
Other channel discovery sources: YouTube's own search results (search for your niche keyword, filter by channel — Clura can extract those), competitor brand pages (check whose content shows up in their recommended feed), and niche community lists (subreddits, newsletters, or industry blogs that curate channel lists for your vertical).
YouTube Channel Data Extractor: Bulk Collection Across Many Channels
For programmatic collection across 100+ channels, the YouTube Data API's channels.list is the right tool — it costs 1 unit per channel ID and returns structured JSON. The key is having channel IDs before calling the API. Get those by scraping YouTube search results or a channel directory with Clura, then pass the IDs to channels.list in batches of 50.
The distinction between a channel scraper and a channel data extractor is volume. Scraping means opening individual channel pages and reading them. Extracting means a pipeline: list of channel IDs → API call → structured output for all of them at once. At 1 unit per `channels.list` call with 50 IDs per batch, 500 channels cost 10 API units — leaving 9,990 units for other operations.
The only thing `channels.list` doesn't give you efficiently is per-video stats. It returns channel-level aggregates (total views, subscriber count, video count, uploads playlist ID) but not individual video performance. For per-video data at scale, call `playlistItems.list` on the channel's uploads playlist ID (returns video IDs, 1 unit per call, 50 videos per call) then batch those into `videos.list` (1 unit per call, 50 videos per call). Three API calls gets you all video stats for a channel — total cost: about 3 units.
- Get channel IDs: Scrape YouTube search results with Clura — channel name and URL (containing the ID) are visible in search results
- Batch channel IDs: channels.list accepts up to 50 IDs per call — 1 unit per call, returns subscriber count, view count, video count for all 50
- Get video IDs: playlistItems.list on each channel's uploads playlist ID — 1 unit per 50 videos
- Get video stats: videos.list with video IDs — view count, like count, comment count, duration, upload date — 1 unit per 50 videos
- Total cost for 500 channels, all videos: ~30 API units — well within daily quota
YouTube Channel Scraper Tools: What to Use for Each Use Case
For single channel vetting and influencer research: Clura (no quota, on-demand, 2–3 min per channel). For bulk extraction across known channel IDs: YouTube Data API channels.list + playlistItems.list (1 unit per call, structured JSON). For finding channels by keyword without burning search.list quota: scrape YouTube search results with Clura to get channel URLs, then use the API for detailed stats.
| Tool | Best Use Case | Block Rate | Setup Time | Cost |
|---|---|---|---|---|
| Clura (Chrome extension) | Single channel vetting, per-video stats, influencer research | ~2% | 2 min | Free / $29.99 lifetime |
| YouTube Data API (channels.list) | Bulk stats for 100+ known channel IDs | ~0% | 15 min | Free (1 unit/50 channels) |
| YouTube Data API (search.list) | Channel discovery by keyword — expensive | ~0% | 15 min | 100 units per search |
| Playwright + channel pages | Custom pipelines, dynamic content | ~25% | 4–8 hours | Free + proxy cost |
| Python requests | Not viable — React-rendered pages | ~95% | fails | Free |
The workflow that avoids all quota problems: use Clura to scrape YouTube search results for channel names and URLs (no API quota), extract the channel IDs from those URLs, then call the API's channels.list for detailed stats on those specific channels. You skip the expensive discovery step entirely. For the general YouTube scraping landscape including transcript and comment extraction, see the YouTube scraper hub.
Calculating Engagement Rate From Scraped Channel Data
Engagement rate for YouTube is typically calculated as (likes + comments) / views, averaged across recent videos. A good engagement rate varies by channel size: 5–10% for channels under 100k subscribers, 2–5% for 100k–1M, 1–2% for 1M+. Channels with artificially inflated subscriber counts often show engagement rates below 0.5% — a red flag in influencer vetting.
The reason engagement rate matters more than raw subscriber count for influencer vetting: subscribers are a lagging indicator. A channel can buy followers or grow rapidly then plateau. Recent video performance tells you whether the audience is actually watching and interacting. A channel with 500k subscribers but 0.3% engagement rate has an audience that doesn't engage — not valuable for a brand campaign.
Once you've exported a channel's video library to CSV via Clura, calculating engagement rate is a simple spreadsheet operation: add a column for (likes + comments) / views for each video, average the last 10–20 videos, and you have a working engagement rate. Compare that to the benchmark for that subscriber tier to identify whether the channel over- or under-performs its size.
- Under 10k subscribers: 8–15% engagement is healthy
- 10k–100k subscribers: 4–8% is healthy
- 100k–1M subscribers: 2–5% is healthy
- 1M+ subscribers: 1–2% is healthy — large channels always have lower engagement rates
- Below 0.5% at any size: likely bought subscribers or stale audience — skip
Frequently Asked Questions
What is a YouTube channel scraper?
A YouTube channel scraper extracts channel-level data — subscriber count, total views, video count, join date — and per-video performance data — title, view count, likes, comments, upload date, duration — from YouTube channel pages. Used for influencer vetting, competitor research, market sizing, and content strategy.
Can I scrape YouTube subscriber counts?
Yes, for channels that haven't hidden their subscriber count. YouTube shows the subscriber count in the channel header and About tab. Clura reads it directly. Channels with hidden subscriber counts show a placeholder in the UI — there's no way to retrieve the actual count without YouTube Studio access.
How do I get a YouTube channel's full video list?
Open the channel's Videos tab (youtube.com/@channelname/videos), scroll to load all videos you want, click Clura, export CSV. For programmatic collection across many channels, call playlistItems.list on the channel's uploads playlist ID via the YouTube Data API — returns 50 video IDs per call at 1 unit each.
What is the best tool for YouTube channel data extraction?
For single-channel vetting: Clura (2 min per channel, no quota). For bulk extraction across 50+ channels with known IDs: YouTube Data API channels.list (1 unit per 50 channels, structured JSON). For channel discovery without burning API search quota: scrape YouTube search results with Clura to get channel URLs, then pass IDs to the API.
How do I calculate a YouTuber's engagement rate from scraped data?
Export the channel's Videos tab to CSV with Clura. Add a formula column: (likes + comments) / views for each video. Average the last 10–20 videos. Benchmarks: 8–15% healthy for under 10k subscribers, 4–8% for 10k–100k, 2–5% for 100k–1M, 1–2% for 1M+. Below 0.5% at any size suggests bought subscribers or disengaged audience.
Does Python work for scraping YouTube channels?
Not with requests — YouTube channel pages are React-rendered and return an empty HTML shell. Playwright works but hits ~25% block rates and requires significant setup. The practical alternatives: Clura for browser-based extraction (no setup, ~2% block rate), or the YouTube Data API channels.list for programmatic collection of channel stats.
Is scraping YouTube channel data legal?
Scraping publicly visible YouTube channel data — subscriber counts, video titles, view counts — is generally legal in the US under the CFAA framework (hiQ v. LinkedIn). YouTube's Terms of Service prohibit automated data collection, but ToS violations aren't criminal. The enforcement is technical (rate limiting, CAPTCHA) rather than legal for individual research use cases.
Conclusion
Channel scraping for influencer research and competitive analysis works cleanly in 2026. The public data — subscriber count, per-video views, upload frequency, engagement signals — is all accessible without API credentials. The workflow that avoids quota problems entirely: discover channels by scraping YouTube search results (no quota cost), then pull detailed stats via the API's channels.list only for channels you've already identified.
The engagement rate calculation from exported data is the part most tools skip. A CSV of subscriber counts tells you channel size — it doesn't tell you whether the audience is real and active. Export the Videos tab, run the engagement rate formula, and filter your influencer list on that number rather than subscriber count alone.
Explore related guides:
- YouTube Scraper Hub — General YouTube scraping — search results, video metadata, transcripts, and API quota strategy.
- YouTube Comment Scraper — Extract comment text, author data, and engagement metrics — without burning API quota on comments.
- Social Media Scraper Guide — All eight platforms — YouTube, TikTok, Reddit, Instagram, X, Facebook, Pinterest, Telegram — compared.
- TikTok Scraper — Scraping TikTok profiles and videos for influencer research — different detection model from YouTube.
- Scraping Dynamic Websites — Why YouTube's React-rendered pages require a real browser rather than Python requests.
Vet YouTube channels and export their full video stats
Clura reads YouTube channel pages in your real Chrome browser. Open any channel's Videos tab, scroll to load the library, click Clura, export CSV with title, views, date, duration, and engagement data. No quota, no API setup. Free for up to 500 rows.
Add to Chrome — Free →