YouTube Channel Scraper - Videos, Streams & Channel Stats avatar

YouTube Channel Scraper - Videos, Streams & Channel Stats

Pricing

from $0.80 / 1,000 videos

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

YouTube Channel Scraper - Videos, Streams & Channel Stats

Get all videos of a YouTube channel with exact views, likes, comment count and publish date, plus live streams and channel stats: subscribers, total views, video count, country, joined date and links. By @handle or URL, no API key. $0.80 per 1,000 videos; failed inputs are free.

Pricing

from $0.80 / 1,000 videos

Rating

0.0

(0)

Developer

Tenfold Fleet

Tenfold Fleet

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

What does YouTube Channel Scraper do?

YouTube Channel Scraper gets every video of a YouTube channel from YouTube with exact view counts, exact like counts, exact comment counts and the real publish date (for example 2026-10-03, not "6 days ago"). It also returns the channel's live streams (live now, upcoming and past) and one row of channel stats: subscribers, exact total views, exact video count, description, country, joined date, links, avatar and banner.

Give it channel @handles, channel URLs or channel IDs. It works like a YouTube channel API with no API key, no quota and no login, on plain HTTP requests (no browser). $0.80 per 1,000 videos, and channels that can't be found are free.

Why use this YouTube channel scraper?

  • 🎯 Exact numbers, not rounded ones: most channel scrapers give only a relative date like "6 days ago" and no like or comment counts. This one returns 207578319 views, 3555568 likes, 131706 comments and 2026-10-03, so you can compute engagement rates and posting schedules.
  • 📈 Competitor and creator research: find a channel's most popular videos (sort by Popular), how often it uploads and how its views develop.
  • 🤝 Influencer marketing: compare subscribers, total views, likes per view and comments per view across creators before you reach out.
  • 🔴 Live stream tracking: list upcoming streams with their scheduled time, streams that are live now with concurrent viewers, and past streams with their views.
  • 🧠 AI and data pipelines: feed titles, full descriptions and hashtags into an LLM, a dashboard or a spreadsheet.
  • 🗓️ Monitoring: schedule a daily run with Published after set to "2 days" and collect only the new uploads.

Runs on the Apify platform, so you get an API, scheduling, webhooks and integrations with Make, Zapier, n8n and Google Sheets. It also works as an MCP tool for AI agents through the Apify MCP server.

What data can it extract?

Video and stream rows (type: video or stream):

FieldExample
videoId, urlplN7JMbadRg, https://www.youtube.com/watch?v=plN7JMbadRg
titleEat Everything In A Grocery Store, Win $1,000,000
viewCount, viewCountText207578319 (exact), 207M views
likeCount, commentCount3555568, 131706 (null when comments are off)
publishedAt, publishedTimeText2026-10-03, 6 days ago
durationSec, durationText3479, 57:59
isLive, isUpcoming, concurrentViewers, scheduledStartTextlive and scheduled streams
isMembersOnlytrue for members-only videos (YouTube hides their view count)
description, hashtagsfull description; hashtags from title and description
thumbnailUrlhttps://i.ytimg.com/vi/plN7JMbadRg/hqdefault.jpg
channelId, channelName, channelHandle, channelSubscriberCountTextUCX6OQ3DkcsbYNE6H8uQQuVA, MrBeast, @MrBeast, 520M subscribers
detailsFetchedtrue when the exact numbers were loaded

Channel rows (type: channel):

FieldExample
channelId, channelName, channelHandle, urlUCX6OQ3DkcsbYNE6H8uQQuVA, MrBeast, @MrBeast, https://www.youtube.com/@MrBeast
subscriberCount, subscriberCountText520000000, 520M subscribers (YouTube only shows a rounded count)
viewCount142153736720 (exact total channel views)
videoCount1006 (exact)
description, country, joinedDatefull description, United States, 2012-02-19
links[{"title": "Twitter", "url": "https://twitter.com/MrBeast"}] (real targets, not youtube.com/redirect links)
isVerified, avatarUrl, bannerUrl, keywordsverified badge, images, channel keywords

How to scrape a YouTube channel

  1. Click Try for free.
  2. Add channels: @MrBeast, https://www.youtube.com/@NASA, /channel/UC..., /c/... or /user/... URLs, or channel IDs.
  3. Set Max videos per channel (default 50) and, if you want live streams, Max live streams per channel.
  4. Pick Sort videos by: Newest, Most popular or Oldest first. Optionally set Published after (2026-09-01 or 30 days).
  5. Leave Fetch exact views, likes, comments and date on for exact numbers, or turn it off for a faster list with rounded values (same price).
  6. Click Start, then download the results as JSON, CSV, Excel or HTML, or read them through the API.

Call it from the API

curl -X POST "https://api.apify.com/v2/acts/tenfoldfleet~youtube-channel-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channelUrls": ["@MrBeast"], "maxVideosPerChannel": 20, "sortBy": "popular"}'

How much does it cost to scrape a YouTube channel?

You pay per result: $0.80 per 1,000 videos or streams ($0.0008 each) and $0.0008 per channel stats row, plus a tiny $0.00005 per run start. Exact details cost the same as the quick list. A channel that doesn't exist, a channel without videos or a missing Live tab is not charged, and neither are videos dropped by Published after. Set Max results in total or a max cost per run and the scraper stops there.

Input

{
"channelUrls": ["@MrBeast", "https://www.youtube.com/@NASA"],
"maxVideosPerChannel": 50,
"maxStreamsPerChannel": 5,
"includeChannelInfo": true,
"sortBy": "newest",
"publishedAfter": "2026-09-01",
"fetchExactDetails": true,
"maxItems": 0
}

Output

{
"type": "video",
"videoId": "plN7JMbadRg",
"url": "https://www.youtube.com/watch?v=plN7JMbadRg",
"title": "Eat Everything In A Grocery Store, Win $1,000,000",
"viewCount": 207578319,
"viewCountText": "207M views",
"likeCount": 3555568,
"commentCount": 131706,
"publishedAt": "2026-10-03",
"publishedTimeText": "6 days ago",
"durationSec": 3479,
"durationText": "57:59",
"isLive": false,
"isUpcoming": false,
"isMembersOnly": false,
"concurrentViewers": null,
"scheduledStartText": null,
"description": "I trapped 4 strangers in an entire supermarket ...",
"hashtags": [],
"thumbnailUrl": "https://i.ytimg.com/vi/plN7JMbadRg/hqdefault.jpg",
"channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channelName": "MrBeast",
"channelHandle": "@MrBeast",
"channelSubscriberCountText": "520M subscribers",
"sourceInput": "@MrBeast",
"detailsFetched": true,
"scrapedAt": "2026-10-10T03:37:09.112Z"
}

Inputs that fail come back as free rows with input, reason (channel_not_found, no_videos_tab, no_videos, no_streams_tab, no_streams, invalid_input, blocked) and error. The dataset has two views: Videos and streams and Channels. Download everything as JSON, CSV, Excel or HTML.

Tips

  • Shorts are not included. For a channel's Shorts with views, likes and hashtags, use our YouTube Shorts Scraper.
  • For the comments of the videos you found, use our YouTube Comments Scraper; for their captions, our YouTube Transcript Scraper.
  • Published after is exact when exact details are on. With them off, it relies on YouTube's rounded "2 months ago" text, so it can include videos up to one week, month or year older than your date. With Newest first the scraper stops at the cutoff; with other orders it skips older videos but still pages through the channel.
  • Set Max videos per channel to 0 and keep Channel stats on to get channel stats only, for example for a list of influencers.
  • The same video found through two inputs is returned (and charged) once.
  • If an exact-details lookup fails after retries, you still get the video's title, rounded views, age and duration with detailsFetched: false.

FAQ

Do I need a YouTube API key or account?

No. The scraper reads public YouTube pages. No login, cookies or API quota.

Are the view, like and comment counts exact?

Yes, with Fetch exact views, likes, comments and date on (the default). Subscriber counts are always rounded, because YouTube itself only shows 520M subscribers.

Yes. Set Sort videos by to Most popular first. Oldest first gives a channel's first uploads.

Does it scrape live streams?

Yes. Set Max live streams per channel above 0 to read the channel's Live tab: streams that are live now (with concurrent viewers), upcoming streams (with their scheduled time) and past streams. Channels without a Live tab return a free no_streams_tab row.

How many videos can it get from one channel?

All of them: set Max videos per channel as high as you need (up to 100,000 per channel). With exact details on it saves about 3 videos per second, so 1,000 videos take about 5 minutes; for very large channels raise the run timeout (default 1 hour) or turn exact details off for a much faster list. A run that nears its timeout stops 2 minutes early and keeps everything collected so far.

Disclaimer

This scraper collects public data only. It does not access private videos, accounts or personal data beyond what channels publish themselves. Make sure your use of the data complies with YouTube's Terms of Service and the laws that apply to you, such as GDPR.