YouTube Channel Scraper - Subs, Views & Country, No Login
Pricing
$1.50 / 1,000 channel scrapeds
YouTube Channel Scraper - Subs, Views & Country, No Login
Scrape YouTube channel about-page data (subscribers, views, videos, country) by URL or @handle. No login, no API key, no quota. $0.0015/channel.
Pricing
$1.50 / 1,000 channel scrapeds
Rating
0.0
(0)
Developer
Gio
Maintained by CommunityActor stats
0
Bookmarked
624
Total users
15
Monthly active users
19 days ago
Last modified
Categories
Share
Turn a list of YouTube channel URLs or @handles into a clean table of subscriber count, video count, view count, country and join date, with no login and no official YouTube Data API key.
Why use this scraper
The YouTube Data API gives you channel statistics, but only after you register a project, enable the API, create OAuth credentials or an API key, and stay inside its daily quota. For a quick vetting list of 50 creators, that setup takes longer than the task itself. This actor skips all of it: give it channel URLs or handles, get the same numbers back in seconds, with no Google Cloud project to manage and no quota to run out of.
Overview
Input is a list of channel URLs and/or @handles (you can mix both in one run). Output is one record per channel with its public "about page" data: name, handle, subscriber count (exact and as YouTube displays it), video count, total view count, description, join date, country and the canonical channel URL. A batch of 10 channels typically finishes in well under a minute because each channel is one lightweight request, not a full page render with video thumbnails and comments loaded.
Supported inputs
| Input | What it accepts | Notes |
|---|---|---|
channelUrls | Full channel URLs: /@handle, /channel/UCxxxx, /c/CustomName | Any valid public channel URL format |
handles | Bare handles, with or without the leading @ | Resolved the same way as a URL |
maxItems | Cap on how many channels to scrape in the run | Default 10, max 100 |
channelUrls and handles can be used together or separately; duplicate
channels across both lists are de-duplicated before scraping, so you never
pay twice for the same channel in one run.
Use cases
- Influencer and creator vetting: pull subscriber count, view count and country for a shortlist of creators before reaching out for a sponsorship.
- Agency and brand reporting: track subscriber and view growth for a roster of partner channels over time by running the same handle list on a schedule.
- Competitive benchmarking: compare your channel's stats against named competitors in the same niche, side by side in one dataset.
- Lead and database building: turn a list of channel handles collected elsewhere (a hashtag search, a comment section, a spreadsheet) into a structured database with subscriber tiers and countries.
- Media buyers pre-qualifying a placement list: before negotiating ad placements across a shortlist of channels, pull view and subscriber numbers for all of them in one batch instead of opening each channel page individually to screenshot the stats.
How it works
YouTube embeds the channel's statistics as structured data inside the page
itself (the ytInitialData block), so the actor reads that embedded data
directly instead of needing the official Data API or a logged-in session.
The lookup walks the structure by key name rather than by a fixed path, so
it keeps working through YouTube's periodic page redesigns instead of
breaking on the next front-end update. Because the request targets the
public about page rather than the full watch page or video feed, it is also
lighter and faster than scrapers built to walk a channel's entire video
catalog, which matters when the only thing you need is the summary numbers.
Input configuration
Two channels by handle:
{"handles": ["@mkbhd", "@veritasium"],"maxItems": 10}
Mixing a full URL and a handle in the same run:
{"channelUrls": ["https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ"],"handles": ["@veritasium"],"maxItems": 10}
Only URLs, larger batch:
{"channelUrls": ["https://www.youtube.com/@mkbhd","https://www.youtube.com/@veritasium","https://www.youtube.com/@LinusTechTips"],"maxItems": 50}
Output sample
Real output from a run on 11/10/2026:
[{"channelName": "Marques Brownlee","handle": "@mkbhd","subscriberCount": 1160000,"subscriberCountText": "1.16M subscribers","videoCount": 219,"viewCount": 5919592,"description": "MKBHD: Quality Tech Videos | YouTuber | Geek | Consumer Electronics | Tech Head | Internet Personality!\n\nbusiness@MKBHD.com\n\nNYC","joinedDate": null,"country": "United States","channelUrl": "https://www.youtube.com/channel/UCBJycsmduvYEL83R_U4JriQ","scrapedAt": "2026-10-11T09:21:38.421Z"},{"channelName": "Veritasium","handle": "@veritasium","subscriberCount": 29900,"subscriberCountText": "29.9K subscribers","videoCount": 178,"viewCount": 56249536,"description": "An element of truth - videos about science, education, and anything else we find interesting.","joinedDate": null,"country": "United States","channelUrl": "https://www.youtube.com/channel/UCHnyfMqiRRG1u-2MsSQLbXA","scrapedAt": "2026-10-11T09:21:39.149Z"}]
Key output fields
| Field | Type | Description |
|---|---|---|
channelName | String | Display name of the channel |
handle | String | The channel's @handle |
subscriberCount | Integer | Parsed numeric subscriber count |
subscriberCountText | String | Subscriber count exactly as YouTube displays it (fallback for locales that don't parse cleanly) |
videoCount | Integer | Number of public videos on the channel |
viewCount | Integer | Total lifetime views across the channel |
description | String | The channel's "about" description |
joinedDate | String or null | Channel creation date, when YouTube exposes it on the about page |
country | String or null | Self-reported country, when set |
channelUrl | String | Canonical /channel/UC... URL |
scrapedAt | String | ISO timestamp of when the record was captured |
Pricing
Pay per event, no monthly fee:
| Event | Price |
|---|---|
| Channel scraped | $0.0015 |
A batch of 100 channels costs $0.15. There is no separate per-video or per-search charge: every channel is one flat event regardless of how many videos it has published.
What makes this richer than the competition
The largest actor targeting this exact use case is apidojo/youtube-channel-information-scraper
(422 users in the last 30 days), which charges $0.005 per channel URL lookup
plus $0.0005 per dataset item returned, roughly $0.0055 for a single-channel
lookup, close to 4x this actor's flat $0.0015 per channel. The highest-traffic
"YouTube Channel Scraper" on the Store, streamers/youtube-channel-scraper
(3,251 users in the last 30 days), solves a different problem: it is priced
and scoped per video (it scrapes every video on a channel, not the channel's
summary stats), so it is a heavier and more expensive tool for someone who
only needs the about-page numbers this actor returns in one flat-priced call.
Notes & limitations
joinedDateandcountrycome from YouTube's own about page and are only present when the channel owner filled them in; many channels, including large ones, leave one or both blank.subscriberCountis YouTube's own rounded figure (YouTube itself stops showing exact subscriber counts past a certain size), not an exact real-time count.- Only public channel data is returned. Channels that are terminated, private or region-locked in a way that blocks anonymous access will not resolve.
- A handle or URL that does not match an existing channel is skipped rather than returned as an error row.
- Channel descriptions can include line breaks and contact emails the owner chose to publish; treat that text as public information the channel itself put on display, not as data this actor sourced separately.
- This actor does not log in and does not need cookies or a session, so it cannot see anything a logged-out visitor to the channel page could not also see.
FAQ
Do I need a YouTube Data API key? No. This actor does not use the official YouTube Data API, so there is no Google Cloud project, API key or daily quota to manage.
Can I mix channel URLs and @handles in the same run?
Yes. channelUrls and handles can both be set in one input, and results
are de-duplicated if the same channel appears in both.
Why is joinedDate null for some channels?
YouTube only shows the join date on the about page when the channel owner
has not hidden it. When it is hidden, the actor returns null rather than
guessing.
Does this scrape individual videos? No, this actor returns one summary record per channel. For per-video data, pair it with a video-level scraper.
How many channels can I scrape in one run?
Up to 100 per run via maxItems. For more, split the list across multiple
runs.
Does the actor retry a channel that fails to load? A transient failure on one channel in a batch does not fail the whole run; the actor keeps processing the rest of the list and returns records for every channel it was able to read.
Is this actor affected by YouTube's region restrictions? If a channel itself is region-locked for anonymous visitors in a way that blocks the about page entirely, that one channel will not resolve, the same as it would not load for any logged-out visitor in that region.
For AI Agents & LLM Apps
Call this actor from an MCP-compatible client via mcp.apify.com, or
directly over the API:
curl "https://api.apify.com/v2/acts/gio21~youtube-channel-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"handles": ["@mkbhd"], "maxItems": 10}'
run-sync-get-dataset-items returns the channel records directly in the
response, so an agent can resolve a creator's stats in a single tool call.
Disclaimer
This actor is an independent tool that extracts publicly available YouTube channel data. It is not affiliated with, endorsed by or sponsored by YouTube or Google LLC. "YouTube" is a trademark of Google LLC. Use it in line with YouTube's own terms of service and any applicable data protection law in your jurisdiction.
SEO Keywords
YouTube channel scraper, YouTube channel data API, YouTube subscriber count scraper, YouTube channel info scraper no API key, YouTube creator database scraper, YouTube channel stats by handle.