YouTube Channel $0.5/1k: Videos, Shorts, Streams
Pricing
from $0.30 / 1,000 videos
YouTube Channel $0.5/1k: Videos, Shorts, Streams
$0.50 per 1,000 videos, failed channels are free. Videos, Shorts and streams of any YouTube channel with views and subscribers.
Pricing
from $0.30 / 1,000 videos
Rating
0.0
(0)
Developer
Wiseus Labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
6 hours ago
Last modified
Categories
Features
Share
🎬 What is YouTube Channel Scraper?
This YouTube channel scraper gives you all videos, Shorts and live streams of any YouTube channel, with views, duration, dates and channel stats, one row per video, ready to export to JSON, CSV or Excel.
| 🎬 Video | 📊 Stats | 📺 Channel |
|---|---|---|
| Title, URL, video ID | Views (number and as shown) | Name, handle, channel ID, URL |
| Type: video, Short or live stream | Duration (text and seconds) | Subscribers |
| Thumbnail | Publish time ("2 days ago") | Total videos and total views |
| Position in the tab | Exact likes and comments (video details) | Country and join date |
| Description and hashtags (video details) | Exact publish date (video details) | Verified badge and avatar |
💰 Pricing
$0.50 per 1,000 videos. With video details (exact likes, comment count, exact publish date, description, hashtags): $1.00 per 1,000.
The free Apify plan includes $5 of credit every month: that is about 10,000 videos.
Example: a channel with 500 videos costs $0.25, or $0.50 with video details.
What you don't pay for: channels that are not found, empty channels, tabs a channel does not have, invalid input lines, error rows, the run summary, and channel info (subscribers, country and the rest come at no extra cost). Each video is charged once per run, and the detailed price applies only to rows where details were added.
Paid Apify plans get lower prices per video, see the Pricing tab.
📄 Example output
A real row for @mkbhd (a few long fields left out here):
{"videoId": "hdMszZ2ah5Q","url": "https://www.youtube.com/watch?v=hdMszZ2ah5Q","title": "Macbook PROLED Review: It's Not About That","type": "video","isLiveNow": false,"tab": "videos","channelId": "UCBJycsmduvYEL83R_U4JriQ","channelName": "Marques Brownlee","channelHandle": "@mkbhd","viewCount": 3400000,"viewCountText": "3.4M views","duration": "15:14","durationSeconds": 914,"publishedTimeText": "19 hours ago","thumbnail": "https://i.ytimg.com/vi/hdMszZ2ah5Q/hqdefault.jpg","order": 1,"status": "ok","channelSubscriberCount": 21400000,"channelSubscriberCountText": "21.4M subscribers","channelVideoCount": 1866,"channelViewCount": 5890987011,"channelCountry": "United States","channelJoinedDate": "2008-03-21","channelIsVerified": true}
With video details on, the same video also gets these fields (real values, description shortened):
{"viewCount": 3428061,"likeCount": 53761,"commentCount": 3209,"publishedAt": "2026-11-11","description": "Incredible laptop. But don't get distracted. ...","hashtags": [],"detailsStatus": "ok"}
🚀 How to use YouTube Channel Scraper
- Add channels. Paste one channel per line. Every common link works:
@mkbhd,https://www.youtube.com/@mkbhd,https://www.youtube.com/channel/UC..., a channel IDUC..., and/c/...or/user/...URLs. - Pick what to take. Set how many videos, Shorts and live streams you want per channel. Each has its own limit, so one run can collect all three. Use 999999 to take a whole tab.
- Choose the order. Latest, Most popular or Oldest, the same as the sort buttons on the channel page. Add "Only videos newer than" (for example
30 days) to get just the recent uploads. - Press Start and download the results as JSON, CSV, Excel, XML or HTML, or read them through the API.
⚙️ Input
Latest 50 videos of a channel:
{"channels": ["@mkbhd"],"maxVideos": 50}
Most popular videos and Shorts of two channels, with exact likes, comments and publish dates:
{"channels": ["@mkbhd", "https://www.youtube.com/@NASA"],"maxVideos": 100,"maxShorts": 50,"sortBy": "popular","includeVideoDetails": true}
| Field | What it does |
|---|---|
channels | Channels to scrape, one per line |
maxVideos, maxShorts, maxStreams | How many items to take from each tab per channel (0 skips the tab) |
sortBy | latest, popular or oldest |
oldestPostDate | Only videos newer than a date (2026-01-31) or a period (30 days, 2 weeks, 3 months), with sortBy = latest |
includeVideoDetails | Adds exact likes, comment count, exact views, exact publish date, description and hashtags |
includeChannelInfo | Adds subscribers, total videos and views, country, join date, verified badge and avatar (on by default, free) |
maxConcurrency | Channels processed at the same time |
📋 Output fields
| Field | Description |
|---|---|
videoId | YouTube video ID |
url | Video URL (Shorts use the /shorts/ URL) |
title | Video title |
type | video, short or live |
isLiveNow | true while a stream is live |
tab | Channel tab the row comes from: videos, shorts or streams |
channelId, channelName, channelHandle, channelUrl | Channel identity |
viewCount | Views as a number (exact with video details) |
viewCountText | Views as YouTube shows them, like "3.4M views" or "86 watching" |
duration, durationSeconds | Duration as H:MM:SS or M:SS, and in seconds |
publishedTimeText | Publish time as YouTube shows it, like "2 days ago" |
thumbnail | Thumbnail URL |
order | Position in the tab (1 = first) |
input | The channel as you entered it |
status | ok for video rows |
channelSubscriberCount, channelSubscriberCountText | Subscribers as a number and as YouTube shows them |
channelVideoCount, channelViewCount | Total videos and total views of the channel |
channelCountry, channelJoinedDate | Country and channel creation date (YYYY-MM-DD) |
channelIsVerified, channelAvatar | Verified badge and avatar URL |
likeCount, commentCount | Exact likes and comment count (video details) |
publishedAt | Exact publish date, YYYY-MM-DD (video details) |
description, hashtags | Full description and hashtags (video details) |
detailsStatus | ok when details were added to the row (video details) |
Every row has a status. Rows other than ok tell you what happened to an input and are free:
| status | Meaning | Price |
|---|---|---|
ok | A video, Short or live stream | Charged |
channel_not_found | No channel at this link | Free |
no_videos | The channel or tab has no public videos in the requested range | Free |
tab_unavailable | The channel has no such tab, for example no Shorts | Free |
invalid_input | The line is not a YouTube channel, or the date is not valid | Free |
error | Something went wrong for this channel or tab in this run; the other channels continue | Free |
run_summary | Written when a run returns no videos, with the reason | Free |
To keep only videos, filter by status = ok. The Output tab has ready views: 🎬 Videos, 📊 Engagement, 📺 Channel, 🧾 Details and 🧭 Statuses.
Every run also saves a free 📊 Run summary (record OUTPUT in the key-value store): channels ok and failed with the reason, videos, Shorts and streams saved, rows with details, settings used and run duration.
🔌 API and integrations
Run the Actor and get the videos in one call:
curl -X POST "https://api.apify.com/v2/acts/wiseus-labs~youtube-channel-scraper/run-sync-get-dataset-items?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"channels": ["@mkbhd"], "maxVideos": 50}'
From Python, use the apify-client package:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("wiseus-labs/youtube-channel-scraper").call(run_input={"channels": ["@mkbhd"], "maxVideos": 50})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["viewCount"])
- Schedules: run it daily or weekly in Apify Console to track new uploads.
- Webhooks: get a call to your server when a run finishes.
- Make, Zapier, n8n: use the Apify app to send new videos to Google Sheets, Airtable, Slack or your database.
- AI agents: connect the Apify MCP server and let Claude, Cursor or any MCP client call this Actor as a tool.
🧰 More YouTube scrapers from Wiseus Labs
- YouTube Channel Scraper: videos, Shorts and live streams of any channel (you are here).
- YouTube Transcript Scraper: full transcripts of videos, Shorts, channels and playlists.
- YouTube Comments Scraper: comments and replies of any video.
- YouTube Channel Info Scraper: channel profiles in bulk with subscribers, total views, links, description and more.
❓ FAQ
How much does it cost to scrape a YouTube channel? $0.50 per 1,000 videos, or $1.00 per 1,000 with video details. A channel with 500 videos costs $0.25. The $5 monthly credit of the free Apify plan covers about 10,000 videos.
Can I scrape YouTube channel videos without an API key or login? Yes. This YouTube channel scraper needs no YouTube API key, no Google account and no quota. Paste channel links and press Start.
Does it get Shorts and live streams?
Yes. Set maxShorts and maxStreams to take the Shorts and Live tabs, each with its own limit. Live streams include past streams and streams that are live right now.
How do I get exact likes, comment counts and dates?
Turn on includeVideoDetails. Every row then gets exact likes, comment count, exact views, the exact publish date, the full description and hashtags.
How do I scrape only videos after a date?
Keep Sort by on Latest and set oldestPostDate to a date like 2026-01-31 or a period like 7 days. Videos and live streams stop at that date. Schedule the run to collect new uploads every week.
Is it legal to scrape YouTube? This Actor collects public data only. Follow the laws that apply to you and YouTube's terms, and consult a lawyer about your specific use case.
How do I use the YouTube channel scraper from Python or the API?
Call the run-sync-get-dataset-items endpoint shown above, or use the apify-client package for Python or JavaScript. Every Apify API feature works, including datasets, schedules and webhooks.
Can an AI agent use it? Yes. Through the Apify MCP server any MCP client, like Claude or Cursor, can run this Actor and read the videos it returns.
How do I export to CSV or Excel? Open the run's Output tab and pick CSV, Excel, JSON, XML or HTML. The same formats are available through the API.
▶️ Start now
Paste a channel, set how many videos you want and press Start. The free Apify plan's $5 monthly credit covers about 10,000 videos.