YouTube Channel Videos Scraper - Exact Views, $0.50/1K
Pricing
from $0.28 / 1,000 videos
YouTube Channel Videos Scraper - Exact Views, $0.50/1K
YouTube channel scraper: up to 5,000 videos, 2,000 Shorts and 1,000 live streams per channel, newest, popular or oldest first, with exact views, likes, comment counts, dates and channel info. No API key. API and MCP. $0.50 per 1,000 videos.
Pricing
from $0.28 / 1,000 videos
Rating
0.0
(0)
Developer
Khandji Omar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
YouTube Channel Videos Scraper — Latest Videos, Exact Views, $0.50/1K
Get the videos, Shorts and live streams of any YouTube channel — newest, most popular or oldest first — with their exact views, likes, comment counts and publish dates, the channel's profile, plus a signal for videos gaining views fast. Paste an @handle or a channel URL; no API key, no login.
Price: $0.50 per 1,000 videos ($0.0005 per video). The first 10 results of every run are free.
Free tier — 10 results free on every run
The first 10 results of every run are free, on every run you ever make — not a one-off trial. One guard: the free allowance never covers more than half of a run, so the offer stays sustainable.
What you get
Each video contains: video_id, title, view_count (exact), like_count (exact), comment_count, published_at, url, type (video, short or stream), channel, channel_handle, channel_subscribers, and on scheduled runs the view change since the last check and a flag for videos gaining views fast.
How much does it cost?
$0.0005 per video — $0.50 per 1,000. You pay only for results actually delivered.
| Videos | Cost |
|---|---|
| 1,000 | $0.50 |
| 10,000 | $5.00 |
| 100,000 | $50.00 |
- No per-run fee and no check fee.
- Failed inputs are never charged, and
maxTotalChargeUsdcan cap any run. - The first 10 results of every run are free (never more than half of a run).
- Larger Apify plans pay less per result automatically.
Input
| Field | What it does |
|---|---|
channels | Channel handles (@mkbhd), channel URLs or channel IDs. |
maxVideos | Videos per channel, 0 to 5,000. Default 30. |
maxShorts | Shorts per channel, 0 to 2,000. Default 0. |
maxStreams | Live streams per channel, 0 to 1,000. Default 0. |
sortBy | newest (default), popular or oldest: YouTube's own order on the channel page. |
oldestVideoDate | YYYY-MM-DD. Keep only what was published from this day on. |
includeChannelInfo | Add the channel's profile to every row (see below). Default off. |
maxTotalChargeUsd | Optional hard cost cap for the run. |
{"channels": ["@mkbhd"],"maxVideos": 100,"maxShorts": 50,"sortBy": "popular","includeChannelInfo": true}
Output
One row per video. Real example:
{"video_id": "rayrrXot17M","title": "Nothing Headphone 1 Pro: They Copied the Wrong Thing!","channel": "@mkbhd","view_count": 3489265,"like_count": 49433,"comment_count": 2300,"like_count_rounded": false,"published_at": "2026-09-29T01:01:35+00:00","url": "https://www.youtube.com/watch?v=rayrrXot17M","type": "video","channel_handle": "@mkbhd","channel_subscribers": 20900000}
With includeChannelInfo, every row also carries channel_id, channel_title, channel_url, channel_description, channel_links (the links on the About panel), channel_country, channel_joined_at, channel_subscribers, channel_total_views, channel_video_count, channel_avatar_url, channel_banner_url and channel_is_verified.
A channel that has no Shorts or no live streams simply returns none for that part; nothing is billed for it.
like_count_rounded is true only when YouTube shows a rounded figure (for example "12K") instead of the exact number.
Compared with other YouTube channel scrapers
| This Actor | Most-used alternative | |
|---|---|---|
| Price per 1,000 videos | $0.50 | $1.00 |
| Exact likes and comment count per video | Yes | Varies |
| Up to 5,000 videos, 2,000 Shorts and 1,000 live streams per channel | Yes | Varies |
| Newest, most popular or oldest first | Yes | Yes |
| Date limit | Yes | Yes |
| Channel profile: description, links, country, join date, avatar, banner, verified | Yes | Yes |
| First 10 videos of every run free | Yes | No |
Prices checked on the Apify Store on 29 September 2026.
Tips and limits
- Videos are returned newest first;
maxVideosstops at the channel's oldest upload if it has fewer. - Schedule it daily with
monitorEnabledto get only new uploads and a signal when a video's views take off.
Use cases
- Creator research — how a channel's recent uploads perform.
- Competitor tracking — new videos from competitor channels.
- Influencer vetting — real, exact view counts, not rounded ones.
- Viral detection — schedule it to spot videos taking off.
Why this one
- First-party data. It reads YouTube's own public endpoints directly, with no resold scraper in between: fast, fresh and cheap.
- Clean, normalized rows plus a
RUN_SUMMARY.jsonwith counts and signals. - Hard cost cap with
maxTotalChargeUsd.
Related tools
- Want the comments on a video this channel just posted? → YouTube Comments Scraper - Likes, Replies, Date, $0.40/1K
- Don't know the channel yet? Search by topic instead. → YouTube Search Scraper API - Videos, Views, $0.50/1K
How to use it in 3 steps
- Click Try for free and fill in YouTube channel handles to track (
channels). - Optional: adjust the other fields; every one has a description and a sensible default.
- Click Start and download the results as JSON, CSV or Excel, or read them from the API.
Use it from code (API)
Every Apify Actor is an API. Start a run and read the results with one call.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("om_kh/youtube-channel-videos-scraper").call(run_input={"channels": ["@MrBeast", "@mkbhd"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('om_kh/youtube-channel-videos-scraper').call({"channels": ["@MrBeast","@mkbhd"]});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
One HTTP call (cURL) — runs the Actor and returns the dataset in the same response:
curl -X POST "https://api.apify.com/v2/acts/om_kh~youtube-channel-videos-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"channels": ["@MrBeast", "@mkbhd"]}'
Integrations: n8n, Make, Zapier, Google Sheets
- n8n — the official Apify node, operation Run Actor and get dataset, Actor
om_kh/youtube-channel-videos-scraper. - Make — Apify › Run an Actor, then Apify › Get Dataset Items.
- Zapier — Apify › Run Actor; map the dataset items into your next step.
- Google Sheets, webhooks, Slack — add an integration from the Integrations tab of this Actor.
- Schedules — run it every hour or day from Schedules in Apify Console.
Use it from an AI agent (MCP and x402)
Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at https://mcp.apify.com and add this Actor, om_kh/youtube-channel-videos-scraper, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.
AI agents that pay with x402 can run it too, without an Apify account: the Actor charges only per result delivered, so an agent pays exactly for what it gets.
FAQ
How many videos can I get per channel?
Up to 5,000 videos per channel with maxVideos, plus up to 2,000 Shorts (maxShorts) and 1,000 live streams (maxStreams). The default is 30 videos.
Are like counts exact?
Yes, read from each video's own page. When YouTube only shows a rounded number, like_count_rounded is true.
Is it legal to scrape YouTube? This Actor collects only publicly available YouTube data and never logs in. You are responsible for how you use it; check YouTube's terms and your local law (GDPR, CCPA) if you store personal data, and ask a lawyer if unsure.
Do I need an account, cookies or an API key? No. You only need an Apify account to run it.
What data do I get? Videos with title, views, likes and publish date. Download it as JSON, CSV, Excel, HTML or XML, or read it from the API.
Am I charged when something fails? No. An input that fails is listed with its reason in the run summary and is never charged.
Can I run it on a schedule? Yes. Create a schedule in Apify Console (hourly, daily, weekly) and connect webhooks, Google Sheets, Slack, n8n, Make or Zapier.
Can I use it from Python, JavaScript or an AI agent?
Yes: see the code samples above, or connect AI agents through MCP with the youtube_channel_videos_check tool.
Your feedback
Did this Actor save you time? A short review on the Reviews tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the Issues tab: it is answered and fixed fast.