YouTube Shorts Views Scraper: View Counts Per Short, No Login avatar

YouTube Shorts Views Scraper: View Counts Per Short, No Login

Pricing

from $1.00 / 1,000 shorts

Go to Apify Store
YouTube Shorts Views Scraper: View Counts Per Short, No Login

YouTube Shorts Views Scraper: View Counts Per Short, No Login

Get the view count of every public YouTube Short on any channel, one row per Short: views (exact for the newest 15), publish date, channel subscribers, and reach against the channel's median. No login or API key. Filter by date or minimum views. Pay per Short; missing channels are free.

Pricing

from $1.00 / 1,000 shorts

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

Share

What does YouTube Shorts Views Scraper do?

Give it YouTube channels. Get back one row per public Short with the number that matters: how many times it was viewed. Each row also carries the title, the publish time where YouTube gives it, the position on the channel's Shorts tab, the thumbnail, and the channel's name, handle, ID and subscriber count, so you can compare Shorts and channels in one spreadsheet without joining tables.

Every row also answers the question a view count alone cannot: was this Short a hit for this channel? reach_ratio divides the Short's views by the median views of the channel's Shorts read in the run. A Short at 3.2 pulled more than three times the channel's usual audience; one at 0.4 underperformed. That works across channels of any size, which raw view counts do not.

No YouTube login, no cookies, no API key and no Data API quota. The actor reads what YouTube shows any logged out visitor.

✅ One row per Short | ✅ Views, publish time, subscribers | ✅ Reach against the channel's median | ✅ No login or API key | ✅ Pay only for Shorts delivered | ✅ MCP-ready for AI agents

Who is it for?

Influencer marketing teams checking whether a creator's Shorts still reach people before signing a deal. Brand and social media managers tracking which competitor Shorts break out. Agencies and analysts building view benchmarks across many channels. Researchers collecting public Shorts performance data at scale.

How much does it cost to scrape YouTube Shorts views?

$0.0025 per Short delivered on Apify's Free plan, falling to $0.001 on Business and above ($2.50 to $1.00 per 1,000 Shorts), plus $0.005 per run. Turning on Short details adds $0.001 per Short on Free ($0.0005 on Business and above), charged only when the details came back complete.

PlanPer ShortShort details add-on
Free$0.0025$0.001
Starter$0.0021$0.0008
Scale$0.0016$0.0007
Business and above$0.001$0.0005
Job (Free plan, one run)ShortsCost
Latest 30 Shorts of one channel30$0.08
Latest 30 Shorts of 100 channels3,000$7.51
Latest 30 Shorts of 100 channels, with details3,000$10.51
Latest 100 Shorts of 50 channels5,000$12.51

Filtering by date or by minimum views costs nothing extra.

What is never charged: channels that do not exist, have no Shorts, or that YouTube refused; links that are not channels; Shorts left out by your own settings (outside your date window, under your minimum views, past your limit); Shorts YouTube listed without a view count; and, with details on, the details add-on for any Short whose details did not come back complete. None of these produce a charge. Every channel that delivered nothing gets a free status row in the dataset saying why.

The Pricing tab on this page always shows the current rate for your plan. If it and this table ever disagree, the Pricing tab is right. The actor also respects your run's maximum cost: when the limit is reached it stops before delivering Shorts it could not charge for.

How does it get Shorts views without an API key?

When a logged out visitor opens a channel's Shorts tab, YouTube's own website loads the Shorts 48 at a time through its internal web API, newest first, each with its title and a short view count such as "19M views". This actor sends that same request and follows the page cursor until it has as many Shorts as you asked for.

That short form is rounded down: a Short showing "19M views" has at least 19,000,000 and fewer than 20,000,000. So the actor also reads the channel's public feed of its newest Shorts, which carries the exact view count and the exact publish time of the latest 15. Those rows come back with views_exact: true; the rest carry the rounded down count with views_exact: false and the original text in views_text, so you always know which is which.

Turn on Short details and one more lookup per Short reads the exact view count and publish time for every Short, plus likes, length, description, hashtags, category and tags. YouTube refuses part of these lookups from Apify's servers, so not every Short gets the full set: in our 27 September 2026 test on Apify, 5 of 10 came back complete and the other 5 still carried exact views, likes and the publish day. The add-on is charged only for the complete ones (details_status: "ok"). When you set a date window, the same lookup reads the date of any Short the feed does not cover, so the filter is exact; those lookups are free.

Everything is plain web requests on Apify's datacenter proxy: no browser, no login, no residential proxy, which is why the price per Short is low. In a test on Apify on 27 September 2026 against two channels (MrBeast and NASA), 10 of 10 Shorts delivered carried an exact view count.

If YouTube changes how it serves the Shorts tab, the actor reads the channel's automatic Shorts playlist instead, which lists the same Shorts (the newest 100 of them). If it still cannot read them, it says so plainly instead of returning an empty success: the run summary shows route_broken: true, the log shows an error, and a run that delivered nothing for that reason ends as failed. Channels it could not read are never charged.

What input does it take?

{
"channels": ["@NASA", "https://www.youtube.com/@MrBeast"],
"maxShortsPerChannel": 30,
"newerThanDays": 90,
"minViews": 10000,
"includeShortDetails": false
}
InputDefaultWhat it does
channelsrequiredPublic channels, up to 1,000 per run. @handles, channel links (/@name, /channel/UC..., /c/name, /user/name) and channel IDs all work. channelUrls, channelIds, handles, startUrls and urls are accepted too
maxShortsPerChannel30Most recent Shorts per channel, newest first, up to 1,000
newerThanDaysnoneOnly Shorts published in the last N days. Reading stops at the window edge, so older Shorts cost nothing
minViewsnoneOnly Shorts with at least this many views
includeShortDetailsfalseAdd exact views and exact publish time for every Short, plus likes, length in seconds, description, hashtags, category and tags
proxyConfigurationApify datacenterLeave as is

What data do you get back?

A real row from a test run against @NASA on 27 September 2026 with Short details on (thumbnail URL shortened):

{
"channel_name": "NASA",
"channel_handle": "@NASA",
"channel_id": "UCLA_DiR1FfKNvjuUpBHmylQ",
"channel_url": "https://www.youtube.com/@NASA",
"channel_subscribers": 15100000,
"channel_subscribers_text": "15.1M subscribers",
"video_id": "myZ9kn9MIWQ",
"url": "https://www.youtube.com/shorts/myZ9kn9MIWQ",
"title": "2026 Solar Eclipse @ 50,000 Feet",
"position": 1,
"views": 250707,
"views_exact": true,
"views_text": "250K views",
"published_at": "2026-08-14T16:46:54.000Z",
"published_at_source": "exact",
"reach_ratio": 0.36,
"median_views": 694500,
"median_sample_size": 40,
"thumbnail_url": "https://i.ytimg.com/vi/myZ9kn9MIWQ/sardefault.jpg?...",
"scraped_at": "2026-09-27T12:45:18.947Z",
"likes": 13548,
"duration_seconds": 93,
"description": "These views, including footage from GoPro cameras, were captured by NASA's WB-57 aircraft during the 2026 total solar eclipse. Taking off from Iceland, our pilots studied the Sun's corona as they raced along the path of totality.\n\nCredit: NASA",
"hashtags": [],
"category": "Science & Technology",
"details_status": "ok"
}
FieldDescription
channel_name, channel_handle, channel_id, channel_urlThe channel the Short came from
channel_subscribers, channel_subscribers_textSubscribers as YouTube shows them ("15.1M subscribers"), as a number rounded down. YouTube does not publish exact subscriber counts
video_id, url, titleThe Short's ID, direct link and title
positionPlace on the channel's Shorts tab, 1 is the newest
viewsViews. Exact when views_exact is true, otherwise the rounded down short form
views_exact, views_textWhether views is exact, and the view text as the Shorts tab shows it
published_at, published_at_sourceWhen the Short was published. exact is to the second; day is the date only. Known for the newest 15 Shorts of each channel, and for every Short with details on or a date window set
reach_ratioViews divided by median_views. 1.0 is a typical Short for this channel
median_views, median_sample_sizeMedian views of the channel's Shorts read in this run, and how many Shorts that median covers (at least one page of 48, or every Short the channel has)
thumbnail_urlThumbnail image
likes, duration_seconds, description, hashtags, category, keywords, details_statusShort details, only when includeShortDetails is on. details_status is ok (complete, charged), partial (views, likes and the publish day only, not charged), failed or skipped (not charged)
scraped_atWhen the row was produced

Fields with no value are left out of the row rather than sent as null.

Status rows. A channel that delivered no Shorts gets one free row with _type: "status", the input you gave, a status (not_found, no_shorts, filtered_out, unavailable, blocked, route_broken, duplicate, skipped, invalid_input) and a plain note. The "Channel status" view of the dataset lists them. The run's OUTPUT record (Storage, then Key-value store) holds the full summary: every channel with how many Shorts were read and delivered and why any were left out. None of it is billed.

What are the limitations?

  • Exact views need the feed or details. Without details, only the newest 15 Shorts of each channel have exact views; the rest carry YouTube's rounded down short form, marked views_exact: false. Turn on details for exact counts on every Short.
  • No comment or share counts. YouTube does not show them on the Shorts tab or the per Short lookup this actor uses, so no row carries them.
  • Subscriber counts are rounded. YouTube shows only the short form ("518M subscribers") to everyone, so that is what you get.
  • Input is by channel. Single Short links, hashtags and keyword search are not supported. A Short link in your list is skipped and gets a status row.
  • Newest first only. Shorts come in the order of the channel's Shorts tab, newest first. There is no sort by most viewed; use minViews to keep only the popular ones.
  • Counts are live at scrape time. Views keep growing for days after posting, so run on a schedule if you track them.

What can you use it for?

Creator vetting. Pull a channel's last 30 Shorts and look at reach_ratio and median_views instead of subscriber count. A big channel whose recent Shorts sit far below its own median is losing its audience.

Competitor content tracking. Run your competitors daily with newerThanDays: 7 and sort by reach_ratio to see which new Shorts broke out, then read their descriptions with details on.

Benchmarks across channels. reach_ratio puts a 10,000 subscriber channel and a 10 million subscriber channel on the same scale, so you can rank creators by how well their Shorts perform, not how big they are.

Content research. Filter with minViews to collect only the Shorts that travelled, with titles and hashtags, for a swipe file of what works in a niche.

How do I get started?

  1. Add the channels you want in channels: @handles, channel links or channel IDs.
  2. Set maxShortsPerChannel (30 by default). Add newerThanDays or minViews if you only want recent or popular Shorts.
  3. Turn on includeShortDetails if you need exact views on every Short, likes, length or descriptions.
  4. Click Start. Download the Shorts as JSON, CSV or Excel from the dataset, or pull them via API or MCP. Open the OUTPUT record to see what happened to each channel.

Can I run it on a schedule?

Yes, with Apify Schedules, no code needed.

  1. Run the actor once with the input you want repeated, then click Save as a task.
  2. In the Apify Console, open Schedules, then Create new.
  3. Pick a frequency or a cron expression such as 0 6 * * * (daily at 6am).
  4. Under Actors or tasks to run, add the task you saved, then save.

Each scheduled run is billed per Short exactly like a manual one. Nothing is charged for the schedule itself. Full options are in Apify's Schedules documentation.

FAQ

How much does it cost to get the view counts of 1,000 YouTube Shorts?

$2.50 on Apify's Free plan, falling to $1.00 on Business and above, plus $0.005 per run. With details on it is at most $3.50 on Free and $1.50 on Business and above, because the add-on is charged only on Shorts whose details came back complete. Channels that do not exist, channels with no Shorts, and Shorts your filters leave out cost nothing.

Do I need a YouTube API key, an account or cookies?

No. The actor reads only what YouTube shows a logged out visitor, so there is no Google Cloud project, no Data API quota and no account at risk. You only need an Apify account to run it.

Are the view counts exact?

The newest 15 Shorts of each channel always have exact views, read from the channel's public feed. Older Shorts carry the count the Shorts tab shows, such as "19M views", which YouTube rounds down; views_exact tells you which kind each row has. Turn on includeShortDetails and every Short gets its exact count.

How many Shorts can I get per channel?

Up to 1,000 per channel per run, newest first, set with maxShortsPerChannel. YouTube lists 48 Shorts per page, so the default of 30 takes one page. How far back a channel goes depends on how many Shorts it has posted.

Can I get only recent Shorts, or only Shorts above a certain number of views?

Yes. newerThanDays: 30 returns only Shorts from the last 30 days and stops reading as soon as it passes that point. minViews: 100000 returns only Shorts with at least 100,000 views; when a rounded count sits right at your threshold, the actor checks the exact count before deciding. Both filters are free, and Shorts they leave out are never charged.

What does reach_ratio mean?

It is the Short's views divided by the median views of the same channel's Shorts read in the run. A value of 2.0 means the Short reached twice the channel's typical audience; 0.5 means half. median_sample_size tells you how many Shorts the median is based on.

Can I get likes, comments, duration and the description of each Short?

Likes, length in seconds, description, hashtags, category and tags, yes: turn on includeShortDetails. Exact views, likes and the publish day come back for every Short; length, description, category and tags come back for the Shorts whose lookup YouTube answered in full (about half in our test on Apify), and only those are charged the add-on. Comment counts, no: YouTube does not return them on the lookup this actor uses. Likes are missing when the channel owner hides them.

Am I charged for channels that do not exist or have no Shorts?

No. They produce no Short rows, so nothing is billed. Each one gets a free status row in the dataset and a line in the run's OUTPUT record with a status of not_found or no_shorts and a short explanation.

Can I scrape a single Short by its URL, or Shorts by hashtag or keyword?

Not with this actor. It reads Shorts from channels. A single Short link in your input is skipped, noted in a status row and not charged. To cover a topic, list the channels you care about.

The actor collects only public data that YouTube shows to any visitor without logging in. Public data can still include personal data under laws such as the GDPR and CCPA, so collect only what you have a legitimate purpose for. This is general information, not legal advice.

Use in Claude, ChatGPT and any MCP agent

Add it to Claude Code in one line:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=themineworks/youtube-shorts-views-scraper"

Or point any MCP client at:

https://mcp.apify.com/?tools=themineworks/youtube-shorts-views-scraper

Things an agent can ask for once connected:

  • "Get the last 30 Shorts of @NASA and @MrBeast with their view counts, and tell me which Shorts beat each channel's median by 3x."
  • "Which of these five creators has the highest median views on Shorts from the last 60 days?"

Or call it programmatically with the Apify client:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('themineworks/youtube-shorts-views-scraper').call({
channels: ['@NASA', '@MrBeast'],
maxShortsPerChannel: 30,
newerThanDays: 90,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((row) => !row._type));

More from The Mine Works

Browse every tool at themineworks.com. Related actors for video and social media data:

Found this useful? A quick Store review helps other buyers find it. Found a bug or want a field added? Open an issue on the actor's Apify Console page.


Disclaimer: This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Google LLC. YouTube is a trademark of Google LLC. Use scraped public data in line with GDPR, CCPA and your local laws.