YouTube Channel Scraper - Subscribers, Stats & All Videos avatar

YouTube Channel Scraper - Subscribers, Stats & All Videos

Pricing

Pay per event

Go to Apify Store
YouTube Channel Scraper - Subscribers, Stats & All Videos

YouTube Channel Scraper - Subscribers, Stats & All Videos

Scrape any YouTube channel without an API key or quota: subscribers, total views, description, links and banner, plus every upload with exact view counts, likes, comments and publish dates. Paste channel URLs, @handles or channel IDs. Clean JSON/CSV.

Pricing

Pay per event

Rating

5.0

(1)

Developer

Santhej Kallada

Santhej Kallada

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

Fast YouTube Channel Scraper — Subs, Stats & All Videos

Scrape any YouTube channel with no YouTube API key and no quota: subscriber count, exact video count, lifetime channel views, join date, country, banner and every social link in the About panel — plus every upload with exact views, exact likes, exact comment count, description, tags, category, duration in seconds and an ISO-8601 publish timestamp.

Paste @handles, channel URLs or channel IDs and export clean JSON/CSV.

Perfect for influencer research, competitor tracking, content audits, lead lists, ML datasets and feeding channel catalogs into LLMs.

Why this one

Most YouTube channel scrapers read the numbers off the page the way a human sees them — 714K views, 2 days ago — which is rounded and unsortable. This one goes one step further and pulls the real numbers straight from YouTube's own metadata.

Rounded listing (what most tools return)This actor with enrichment ON
Views714000 (from "714K")714699
Likes34641
Comments2264
Published"8 hours ago""2026-08-24T20:27:50Z" — sortable
Description / tags / categoryfull text, ["MKBHD", …], "Science & Technology"
Channel lifetime views5541785965
Channel social links[{ "title": "Twitter", "url": "http://twitter.com/MKBHD" }, …]

Features

  • Accepts any channel identifier: @mkbhd, youtube.com/@mkbhd, /channel/UC…, /c/name, /user/name, or a bare UC… channel ID.
  • Channel profile row: title, description, keywords (flat and parsed array), subscriber count, exact video count, lifetime total views, join date, country, verified badge, avatar, banner, and every link from the About panel as {title, url} pairs — the highest-value field for lead-gen, since it is where creators put their email landing pages, Discords and shops.
  • Every upload (newest first), following pagination up to 5,000 videos per channel.
  • Exact per-video stats (enrichVideos, on by default): views, likes, comments, description, tags, category, duration_seconds and ISO published_at.
  • Parsed numeric counts and the raw display text, so nothing is lost.
  • Bulk: up to 100 channels per run, scraped in parallel with polite, rate-limit-friendly paging.
  • Residential proxy support to avoid IP blocks.
  • No YouTube Data API key, no quota, no login — and channels that fail to resolve are reported as error rows and never charged.

Input

FieldTypeDescription
channelsarrayChannel @handles, URLs (any form) or UC… IDs, one per line. Max 100. Required.
maxVideosPerChannelintegerMost recent uploads to return per channel. 0 = channel info only. Default 50, max 5000.
enrichVideosbooleanFetch exact per-video stats. Default true. See below.
maxEnrichedVideosintegerCap on enriched videos per channel. Default 200, max 1000, 0 disables.
proxyConfigurationobjectResidential proxy recommended (default).

About enrichVideos

YouTube's channel listing only shows rounded values. To get the real ones, the actor makes a small number of extra requests per video, so it is billed separately at $0.0002 per enriched video and capped by maxEnrichedVideos.

  • ON (default) — the first maxEnrichedVideos videos of each channel get exact views, likes, comment_count, description, tags, category, duration_seconds and published_at, and are marked enriched: true.
  • OFF — fast, cheapest listing only. Rows carry YouTube's rounded display values and enriched: false. Nothing extra is charged.
  • Videos beyond the cap are still returned in full, just with enriched: false.
  • If a video's enrichment fails (deleted, private, members-only, region-locked), the row is still returned with the display values and is not charged for enrichment.

Example input

{
"channels": ["@mkbhd", "https://www.youtube.com/@veritasium", "UCBJycsmduvYEL83R_U4JriQ"],
"maxVideosPerChannel": 100,
"enrichVideos": true,
"maxEnrichedVideos": 200
}

Output

Two row types, distinguished by record_type.

Channel row (record_type: "channel")

FieldDescription
channel_idCanonical UC… channel ID
handle@handle
title, descriptionChannel profile text
keywordsChannel keywords as YouTube stores them (one flat string)
keywords_listThe same keywords parsed into an array, quoted phrases kept intact
subscriber_count / subscriber_count_text21100000 / "21.1M subscribers"
video_count / video_count_text1843 / "1,843 videos" — exact, from the About panel
total_views / total_views_text5541785965 / "5,541,785,965 views" — lifetime channel views
joined_date"2008-03-21" — ISO date the channel was created
country"United States" (null when the channel hides it)
is_verifiedtrue when the channel carries the verified checkmark
linksArray of { title, url } from the About panel — social profiles, shops, Discords
avatar_url, banner_urlProfile image and channel banner (largest available)
canonical_urlChannel URL
is_family_safeYouTube's family-safe flag
scraped_atISO timestamp

Video row (record_type: "video")

FieldDescription
video_id, url11-char ID and watch URL
titleVideo title
viewsExact view count when enriched, else parsed from the display text
views_textRaw display text, e.g. "714K views"
likesExact like count — enriched rows only
comment_countExact comment count — enriched rows only
published_atISO-8601 UTC, e.g. "2026-08-24T20:27:50Z" — enriched rows only
published_text"8 hours ago"
duration_seconds389 — always present (parsed from the badge, exact when enriched)
duration_text"6:29"
descriptionFull video description — enriched rows only
tagsArray of the video's tags — enriched rows only
categorye.g. "Science & Technology" — enriched rows only
thumbnail_urlThumbnail image
enrichedtrue when the exact stats above were fetched
channel_id, channel_titleParent channel
position1 = newest upload

Example output

{
"record_type": "channel",
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"handle": "@mkbhd",
"title": "Marques Brownlee",
"subscriber_count": 21100000,
"subscriber_count_text": "21.1M subscribers",
"video_count": 1843,
"total_views": 5541785965,
"joined_date": "2008-03-21",
"country": "United States",
"is_verified": true,
"keywords_list": ["MKBHD", "MarquesBrownlee", "Marques", "Brownlee"],
"links": [
{ "title": "Twitter", "url": "http://twitter.com/MKBHD" },
{ "title": "Instagram", "url": "http://instagram.com/MKBHD" },
{ "title": "Discord", "url": "http://discord.gg/MKBHD" }
],
"canonical_url": "https://www.youtube.com/@mkbhd"
}
{
"record_type": "video",
"channel_id": "UCBJycsmduvYEL83R_U4JriQ",
"channel_title": "Marques Brownlee",
"video_id": "ngPkbaZliaU",
"url": "https://www.youtube.com/watch?v=ngPkbaZliaU",
"title": "The Truth About the Bezelless Concept Phone",
"views": 729290,
"views_text": "729K views",
"likes": 35090,
"comment_count": 2290,
"published_at": "2026-08-24T20:27:50Z",
"published_text": "8 hours ago",
"duration_seconds": 389,
"duration_text": "6:29",
"category": "Science & Technology",
"tags": ["bezelless smartphone", "bezelless", "bezels", "MKBHD"],
"enriched": true,
"position": 1
}

Channels that can't be resolved come back as { "record_type": "error", "input": "…", "error": "…" } — the run continues and you are not charged for them.

Pricing

Pay per event — no subscription, no YouTube API quota to buy:

EventPrice
Actor start$0.001 per run
Channel scraped$0.005 per channel
Video row$0.0001 per video ($0.10 / 1,000)
Video enriched with exact stats$0.0002 per video ($0.20 / 1,000)

Worked examples

RunMathsTotal
1 channel, 50 videos, enrichment ON0.001 + 0.005 + 50×0.0001 + 50×0.0002$0.021
1 channel, 500 videos, enrichment ON (capped at 200)0.001 + 0.005 + 500×0.0001 + 200×0.0002$0.096
1 channel, 500 videos, enrichment OFF0.001 + 0.005 + 500×0.0001$0.056
10 channels, 50 videos each, enrichment ON0.001 + 10×0.005 + 500×0.0001 + 500×0.0002$0.201
10 channels, channel profiles only (maxVideosPerChannel: 0)0.001 + 10×0.005$0.051

Enrichment is only ever charged for videos that were actually enriched.

FAQ

Do I need a YouTube API key? No. No API key, no OAuth, no quota. Paste channels and run.

Are the view counts exact? With enrichVideos on, yes — views is the exact integer (e.g. 729290), not YouTube's rounded "729K". With it off, views is parsed from the display text and is approximate; views_text always carries the raw string either way.

Are subscriber counts exact? No — YouTube itself only publishes rounded subscriber counts ("21.1M subscribers") to anyone, including its own API. subscriber_count is that value parsed to a number. Video count and lifetime channel views are exact.

How many videos can it get per channel? Up to 5,000 (YouTube's Videos tab, newest first, followed through pagination). Shorts and Live tabs are not included — these are the channel's long-form uploads.

Why cap enrichment at 200 by default? Enrichment costs extra requests and extra time per video. 200 covers roughly a year of uploads for most channels. Raise maxEnrichedVideos (max 1,000) if you need deeper history, or set it to 0 to skip enrichment entirely.

What about channels with hidden subscribers? The channel row is still returned with subscriber_count: null.

Some rows have likes: null. A small number of videos (age-restricted, members-only, region-locked, or with the like count hidden) do not expose every stat. Those fields come back null rather than guessed, and the row still carries whatever was available.

Does it work with old /c/ and /user/ URLs? Yes — every URL form is resolved to the canonical channel ID first.

What happens with a wrong handle? You get an error row for that input, the rest of the run continues, and you're not charged for it.

Tags: youtube channel scraper, youtube subscriber count, youtube video list, exact view count, youtube like count, channel statistics, youtube without api key, youtube data export, influencer research, competitor analysis, youtube channel videos, youtube metadata