YouTube Channel Videos Scraper - Exact Views, $0.50/1K avatar

YouTube Channel Videos Scraper - Exact Views, $0.50/1K

Pricing

from $0.28 / 1,000 videos

Go to Apify Store
YouTube Channel Videos Scraper - Exact Views, $0.50/1K

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 with exact views, likes, comment counts, dates, description, hashtags and thumbnail, plus the channel's subscribers, country, links and join date. 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

Khandji Omar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Features

Limited permissions

Share

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 with exact views, likes, comment counts, dates, description, hashtags and thumbnail, plus the channel's subscribers, country, links and join date. No API key. API and MCP.

Price: $0.50 per 1,000 videos ($0.0005 per video). The first 10 results of every run are free.

In short: what you give, what you get, what it costs

You giveYouTube channels
We doRead the channel's videos, Shorts and live streams, newest first
You getOne row per video: exact views, likes, comments, date, length, description, hashtags and thumbnail, plus the channel's subscribers, country, links and join date
It costs$0.50 per 1,000 videos, no start fee. From 16 November 2026: +$0.001 per run. The first 10 results of every run are free. No supplier fee
It does notNeed a YouTube API key, download videos, or give transcripts (for those, use our YouTube Transcript Scraper)

A real result row is shown further down this page.

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

A real row from this Actor's latest run on Apify (2026-10-24; long texts are cut and people's names hidden here, your dataset has them in full):

{
"type": "video",
"channel_subscribers": 523000000,
"channel_handle": "(hidden here)",
"description": "I can't believe they actually agreed to this\n\nDownload PUBG MOBILE and enjoy the most popular mobile game with multiple gameplays. Happy...",
"hashtags": [
"1"
],
"thumbnail_url": "https://i.ytimg.com/vi/AoN1K4c7VKE/hqdefault.jpg",
"channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",
"channel_title": "MrBeast",
"channel_url": "http://www.youtube.com/@MrBeast",
"channel_description": "SUBSCRIBE FOR A COOKIE!\nNew MrBeast or MrBeast Gaming video every single Saturday at noon eastern time!\nAccomplishments:\n- Raised $20,000...",
"channel_links": [
"https://instagram.com/mrbeast",
"https://twitter.com/MrBeast"
],
"channel_country": "United States",
"channel_joined_at": "2012-02-19",
"channel_total_views": 144353642443,
"channel_video_count": 1009,
"channel_avatar_url": "(hidden here)",
"channel_banner_url": "https://yt3.googleusercontent.com/mHMO_eEMp0dPvh0ADwXhPXNYb_GnjSVsLI8biqF1CpxT8OPl7izhNQsDPD3JHhd5y5Mg9GrP=w2560-fcrop64=1,00005a57ffffa5...",
"channel_is_verified": true,
"video_id": "AoN1K4c7VKE",
"channel": "@MrBeast",
"title": "Survive 30 Days Stranded With Your Ex, Win $250,000",
"view_count": 141185423,
"like_count": 2577519,
"comment_count": 152000,
"like_count_rounded": false,
"published_at": "2026-03-07T00:00:00+00:00",
"url": "https://www.youtube.com/watch?v=AoN1K4c7VKE",
"record_id": "AoN1K4c7VKE",
"change_type": "new",
"why_it_matters": "A tracked item changed."
}

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.

VideosCost
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 maxTotalChargeUsd can 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

FieldWhat it does
channelsChannel handles (@mkbhd), channel URLs or channel IDs.
maxVideosVideos per channel, 0 to 5,000. Default 30.
maxShortsShorts per channel, 0 to 2,000. Default 0.
maxStreamsLive streams per channel, 0 to 1,000. Default 0.
sortBynewest (default), popular or oldest: YouTube's own order on the channel page.
oldestVideoDateYYYY-MM-DD. Keep only what was published from this day on.
includeChannelInfoAdd the channel's profile to every row (see below). Default off.
maxTotalChargeUsdOptional 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.

Every field

FieldWhat it holds
typetype
channel_subscriberschannel subscribers
channel_handlechannel handle
descriptiondescription
hashtagshashtags
thumbnail_urlthumbnail URL
durationlength as shown on the channel's Videos tab, 23:48 (empty for Shorts: YouTube shows none)
duration_secondslength in seconds
description_linksevery link written in the description, in order
channel_idchannel ID
channel_titlechannel title
channel_urlchannel URL
channel_descriptionchannel description
channel_linkschannel links
channel_countrychannel country
channel_joined_atchannel joined at
channel_total_viewschannel total views
channel_video_countchannel video count
channel_avatar_urlchannel avatar URL
channel_banner_urlchannel banner URL
channel_is_verifiedchannel is verified
video_idvideo ID
channelchannel
titletitle
view_countview count
like_countlike count
comment_countcomment count
like_count_roundedlike count rounded
published_atpublished at
urlURL
record_idstable ID of the row (used for new-only delivery)
change_typenew / changed / removed since your last run
why_it_mattersone-line reason this row deserves attention

Tips and limits

  • Videos are returned newest first; maxVideos stops at the channel's oldest upload if it has fewer.
  • Schedule it daily with monitorEnabled to get only new uploads and a signal when a video's views take off.

Compared with grow_media/youtube-channel-video-scraper

Read on the Store on 2026-10-23 (Youtube Channel Video Scraper). Where it does better, this section says so.

  • Built on the site's own data, not a resold scraper: no second Actor between you and the source.
  • Only here (fields its Store page does not list): change_type (new or changed since your last scheduled run); why_it_matters (one-line reading of the row).
  • Its fields, here too (since 2026-10-29): duration (23:48 and in seconds), links found in the description, likes, comment count, channel join date, country, subscribers, verified badge.
  • Also here: Shorts and live streams in the same run, channel banner, channel total views and channel links on every row.
  • Where it does better: it lists the video tags; YouTube shows them to this Actor only behind a sign-in check, which it does not try to get around.
  • Free results on every run and a hard cost cap (maxTotalChargeUsd).
  • Price: $0.5 per 1,000 here, $1 there.

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.json with counts and signals.
  • Hard cost cap with maxTotalChargeUsd.

How to use it in 3 steps

  1. Click Try for free and fill in YouTube channel handles to track (channels).
  2. Optional: adjust the other fields; every one has a description and a sensible default.
  3. 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 ApifyClient
client = 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.

All input fields

The main fields are described above; these are the others the form accepts:

  • currentVideos (Bring your own videos (optional)) — Optional: pass video data you already have instead of fetching it from YouTube.
  • previousVideos (Previous videos (non-monitor mode)) — Videos from the prior run; used to identify changes when not using persistent monitor mode.
  • sources (Declared upstream sources and estimated costs) — Declare every upstream source before this run. Each item needs name, authorization, and estimated_cost_usd.

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.

More Actors from the same author