YouTube Channel & Shorts Scraper | Viral Videos, Views/Hour avatar

YouTube Channel & Shorts Scraper | Viral Videos, Views/Hour

Pricing

from $0.70 / 1,000 videos

Go to Apify Store
YouTube Channel & Shorts Scraper | Viral Videos, Views/Hour

YouTube Channel & Shorts Scraper | Viral Videos, Views/Hour

Scrape any channel's Videos + Shorts tabs or run YouTube searches with date/sort filters. Every video with views, age, duration, views/hour; details add exact views, likes, comments, publish date; top comments too. No API key. $1 per 1,000 videos.

Pricing

from $0.70 / 1,000 videos

Rating

0.0

(0)

Developer

Mr Zack

Mr Zack

Maintained by Community

Actor stats

0

Bookmarked

15

Total users

9

Monthly active users

6 days ago

Last modified

Share

YouTube Channel & Shorts Scraper — Viral Videos, Views/Hour, Comments

Scrape any YouTube channel's Videos and Shorts tabs, or run keyword searches with upload-date and sort filters, and get every video as clean JSON with velocity metrics (views per hour / per day since upload). Turn on details for exact view count, likes, comment count, publish date, description, hashtags and pull the top comments. No API key, no quota, no browser — $1 per 1,000 videos.

Who uses this

  • Clippers & short-form editors — find the videos exploding right now (searchQueries + "This week" + "View count" → viewsPerHour), then clip them.
  • Creators & channel managers — benchmark competitors: median views, outperformers (≥3× median), like rate, comments per 1k views (free channel-summary row).
  • Agencies & sponsors — vet channels before a deal: subscribers, cadence, real engagement, top videos.
  • Researchers / trend tools — schedule keyword searches hourly and feed the dataset into your own scoring.

Input

FieldDescription
channelsChannel URLs, @handles or UC… ids.
searchQueriesYouTube searches.
videoUrlsVideo URLs/IDs → details (and comments).
contentTypeboth / videos / shorts.
maxVideosPer channel tab and per search type (max 1000).
channelSortlatest / popular / oldest for the channel Videos tab.
uploadedWithin, sortBySearch filters: hour/today/week/month/year × relevance/upload_date/view_count/rating.
minViewsFree pre-filter.
includeDetailsExact views/likes/comments/date/description per video.
maxCommentsPerVideoTop comments per video (requires details).
{ "searchQueries": ["air fryer recipe"], "contentType": "shorts", "uploadedWithin": "week", "sortBy": "view_count", "maxVideos": 100, "includeDetails": true, "maxCommentsPerVideo": 20 }

Output

video (channel card):

{ "type": "video", "position": 1, "videoId": "gTKS8SAwUzE", "title": "We Survived The Most Extreme Places On Earth", "url": "https://www.youtube.com/watch?v=gTKS8SAwUzE",
"viewCount": 49000000, "publishedText": "1 day ago", "publishedAt": "2026-09-06T10:59:05Z", "durationSec": 1408, "isShort": false,
"channelName": "MrBeast", "channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA", "channelHandle": "@MrBeast", "channelSubscribers": 516000000,
"hoursSincePublished": 24, "viewsPerHour": 2041666.7, "viewsPerDay": 49000000, "source": "channel" }

video with includeDetails adds: likeCount, commentCount, exact publishedAt (publishedDateText), description, hashtags, channelSubscribers, likeRatePct, commentsPer1kViews, isPremiere, wasLive.

comment:

{ "type": "comment", "videoId": "kJQP7kiw5Fk", "commentId": "Ugz…", "text": "who's here after 9 billion??", "author": "@YouTube", "authorChannelId": "UC…", "authorIsVerified": true,
"likeCount": 78000, "replyCount": 973, "publishedText": "4 months ago", "publishedAt": "2026-05-10T…" }

channel-summary (free): subscriberCount, videoCount, videosScanned, shortsScanned, medianViews, avgViews, topVideoId/Title/Views, medianViewsPerHour, outperformers[].

Unavailable videos / unresolvable channels are pushed as type: "failed" and are never charged.

Pricing (pay per event)

EventPrice
Video card$0.001
Video (detailed)$0.002
Comment$0.0005
Actor start$0.001

1,000 videos ≈ $1 · 1,000 detailed ≈ $2 · 1,000 comments ≈ $0.50.

Notes

  • Card viewCount is YouTube's rounded figure ("49M"); includeDetails gives the exact number. Shorts cards have no upload age (YouTube doesn't show it) — details add the exact date.
  • publishedAt on cards is estimated from "x days ago"; details give the real date.
  • Search honours YouTube's own filters; "Shorts" results are detected from the Shorts shelf and /shorts/ links.
  • Need transcripts? See our YouTube Transcript Scraper. Need TikTok/Amazon product data? See the other actors on this profile.

The cheapest way to use this Actor is as a monitor: create a Schedule in Apify Console (e.g. every day at 08:00), set the input "onlyNew": true, and add an integration (email, Slack, Google Sheets, webhook). Every run then delivers only the videos that appeared since the previous run — you pay only for new rows, and you never miss one.

Changelog

  • 0.1.7 (24 Sep 2026) — Reliability: A mistyped or non-existent channel, handle or video now ends the run successfully with a clear "not found — check the @handle" message instead of a false "YouTube blocked us" failure, and short YouTube blocks get a patient retry. Long runs now stop just before the timeout and keep every video collected so far. No price or field change.
  • 0.1.6 (24 Sep 2026) — The run's status bar now summarises the result and suggests scheduling: viewsPerHour across runs is how you catch a video going viral. No price or field change.
  • 0.1.6 (26 Sep 2026) — Detailed runs no longer fail when YouTube walls the detail pages. On 26 Sep a detailed run found all 100 videos but YouTube refused every detail page from the Apify servers; the run ended FAILED after 11 minutes and returned only error rows. Now a blocked detail page is fetched again through a residential connection, and if that is also unavailable you still get the video card (title, views, upload age, views/hour…) marked detailed: false with a detailError note — charged at the basic Video price, not the detailed one. After 4 blocked pages in a row the Actor stops hammering the blocked route, so these runs finish in seconds instead of minutes. No price change, no field removed, defaults unchanged.
  • 0.1.5 (23 Sep 2026) — Shorts now carry durationSec (and a description) in includeDetails runs. YouTube publishes no video length for Shorts in the listing, so every Shorts row used to show an empty Sec column even on detailed runs. The length and description now come from the video player metadata, fetched through a residential connection, up to 300 Shorts per run and at no extra charge; rows filled this way are marked durationSource: "player". If that connection is unavailable the run behaves exactly as before — the field simply stays empty, nothing fails. No price change, no field removed, defaults unchanged.
  • 0.1.4 (19 Sep 2026) — Typo guard on input. Apify accepts input fields an Actor does not know without complaining, so a misspelled option used to produce a successful run with that setting silently inactive. The run log now warns for every unknown field and suggests the closest real one.
  • 0.1.3 (18 Sep 2026) — New onlyNew (monitor mode). Set it to true and schedule the Actor: the first run returns the full result and remembers every video (videoId) in a key-value store in your account; every later run returns only videos that are new since the last run, and skipped rows are never charged. Nothing else changed — defaults, fields and prices are identical.
  • 0.1.2 (18 Sep 2026) — Fix: minViews with a small maxVideos returned far fewer rows than asked. Paging used to stop once maxVideos cards were fetched and only then applied the filter, so minViews: 400000000, maxVideos: 8 on a big channel gave 2–3 rows. Paging now continues until maxVideos matching videos are found (new optional maxScan, default 10 × maxVideos, max 2000; scanned-but-dropped cards stay free). Verified: 8/8 rows ≥ 400 M views over 90 scanned cards. No other change.
  • 0.1.1 (16 Sep 2026) — Shorts rows now have publishedAt, hoursSincePublished, viewsPerHour, viewsPerDay (they were null for every Short because YouTube's Shorts shelf carries no date). Filled from the video page at no extra charge, up to shortsDateLookups per run (default 400). Channel-summary medians now include Shorts. Existing fields, prices and defaults unchanged.
  • 0.0.6 (10 Sep 2026) — Maintenance: billing safety (chargeSafely — a failed charge can no longer kill a run that already has data), test suite wiring, README.
  • 0.0.1 (7 Sep 2026) — Launch.

Found this useful? A review helps more than you'd think

If this Actor saved you time, a short review on the Reviews tab of this Store page takes 30 seconds and is the only signal other buyers have before they spend anything. If something is broken instead, open a ticket on the Issues tab — parser bugs and field requests get fixed.

Related Actors from the same account