YouTube, Shorts
A YouTube Shorts scraper for channels, searches and link lists
Give it channels, keywords or Shorts links and get one row per Short: views, likes, comment count, publish date, length, channel and subscribers, hashtags, the song it uses and the thumbnail. $1.30 per 1,000 Shorts on the Free plan, with no login, cookies or API key.
- $1.30 per 1,000 Shorts (Free plan)
- Channels, search or links
- "Newer than" to the day
- No login or API key
Three ways in
| Input | What you give | What you get |
|---|---|---|
channels | An @handle, a channel URL, a channel ID or a channel name | The channel's Shorts tab, newest, most popular or oldest first (channelSortBy), the same three orders YouTube shows |
searchQueries | Keywords or #hashtags | YouTube's Shorts-only search, by relevance or popularity (searchSortBy), as a logged-out visitor in your country sees it |
shortsUrls | Shorts links, youtu.be links, watch links or video IDs | Those Shorts. A regular video is not saved; it is listed as NOT_A_SHORT |
maxResults caps the Shorts per channel or search. Mix all three inputs in one run; many channels and searches are read side by side, and each Short appears once per run even if two inputs find it.
What each row holds
| Field | What it holds |
|---|---|
viewCount | The exact view count |
likes, commentsCount | Likes (empty when the creator hides them) and the comment count (empty when comments are off; large counts are rounded the way YouTube rounds them) |
date | Publish date, YYYY-MM-DD |
duration, durationSeconds | Length, from YouTube's Shorts search results or the channel's Shorts playlist; empty in the rare case YouTube shows neither |
channelName, channelUrl, numberOfSubscribers | The channel, with subscribers rounded as YouTube shows them |
title, hashtags | What the creator wrote |
musicTitle, musicArtist | The song, when YouTube lists it in the Short's Music section; an original sound leaves them empty |
engagementRate, viewsPerDay | (likes + comments) / views, and views per day since publishing |
thumbnailUrl, url, id | The thumbnail and the Short's link and ID |
"Newer than" works to the day
newerThan takes a date (2026-09-01) or a period (7 days, today) and keeps only Shorts published on or after that day. YouTube shows a Short's publish date, not its time, so the filter works to the day: a period counts back to the start of that calendar day in UTC, which means 1 hour keeps everything published today. With a date set, channels are read newest first and stop at the date. Shorts older than the date are never charged.
What it costs
| Event | Free and Starter | Scale | Business | Charged for |
|---|---|---|---|---|
| Short | $0.0013 | $0.0012 | $0.0010 | Each Short saved to your dataset |
| Input checked | $0.0003 | $0.0003 | $0.0003 | Each channel or search YouTube answered, with or without new Shorts, and each Shorts link that turned out private, deleted or not a Short |
| Run start | $0.0010 | $0.0010 | $0.0010 | Once per run at the default 256 MB of memory |
On the Free plan, the latest 20 Shorts of one channel cost $0.0273; 1,000 Shorts from one channel cost $1.3013; and an hourly check of 10 channels that finds nothing new costs $0.0040 per run. Channels that don't exist and a channel given twice cost nothing, and regular videos are never charged as Shorts. Set a maximum cost per run and the Actor stops before going over it.
Compared with the most-used Shorts Actor
| Actor | Free | Starter | Scale | Business | Users |
|---|---|---|---|---|---|
| yugenox/youtube-shorts-scraper | $1.30 | $1.30 | $1.20 | $1.00 | 6 |
| streamers/youtube-shorts-scraper | $4.00 | $3.00 | $2.60 | $2.40 | 67,489 |
streamers/youtube-shorts-scraper has no start or per-channel charge, and lists a date-filter event ($0.0013 on Free) that is charged when you filter by date. For the latest 20 Shorts of one channel on Free, that is $0.08 there and $0.0273 here. It also has a far longer track record; ours is new, so check the run statistics on its Store page and start with a small run. If you're moving from another Shorts scraper on Apify, its common input names for channels, limits, dates and sort order are accepted as they are; the Actor's README lists them. The YouTube scrapers comparison puts both next to the video scrapers.
What it doesn't do
- No video files, captions, transcripts or comment text. It reads each Short's public details only.
- Search is personalised. YouTube reshuffles search results, so you get what a logged-out visitor in your
countrysees, not what your own app shows. Channel Shorts tabs are the same for everyone. - Public Shorts only. Nothing private or members-only, and nothing behind a login.
For regular videos, the YouTube Scraper covers searches, channels' Videos tabs, playlists and video links; see channel videos to CSV and the Data API alternative.
What people use it for
- Competitor Shorts tracking. Schedule a list of channels with
newerThan: "today"; each run returns that day's Shorts, and a channel with nothing new costs $0.0003. - Bulk views checks. Paste a list of Shorts links to get current views, likes and comment counts in one table.
- Trend and hashtag research. Shorts search by popularity for a keyword or #hashtag, in the country you choose.
- Music research. See which songs the top Shorts in a niche use.
- Datasets.
engagementRateandviewsPerDayare already computed for every row.
Run it from code
The latest 50 Shorts from one channel: one channel checked, 50 Shorts and the run start, $0.0663 on the Free plan.
// Save as run.mjs, then: npm i apify-client && APIFY_TOKEN=... node run.mjs
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('yugenox/youtube-shorts-scraper').call({
channels: [
"@NASA"
],
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const item of items) console.log(item.url, item.viewCount, item.likes);import os
from apify_client import ApifyClient # pip install apify-client
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("yugenox/youtube-shorts-scraper").call(run_input={
"channels": ["@NASA"],
"maxResults": 50,
})
if run is None:
raise RuntimeError("Run did not finish")
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item.get("url"), item.get("viewCount"), item.get("likes"))# Small jobs: runs the Actor and returns the rows in one call (up to 5 minutes).
curl -X POST "https://api.apify.com/v2/acts/yugenox~youtube-shorts-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"channels":["@NASA"],"maxResults":50}'Questions people ask
Do I need a YouTube account, API key or cookies?
No. Everything comes from pages YouTube shows any visitor without logging in. You need an Apify account, which runs the Actor and bills you per Short.
Does it download videos, captions or transcripts?
No. It returns each Short's public details only: no video files, no captions, no transcripts and no comment text.
Can I check the views of a list of Shorts?
Yes. Paste the links into Shorts URLs; each Short comes back as one row. A link that turns out to be a regular video is not saved and is listed as NOT_A_SHORT, charged only as an input checked.
Can I collect only new Shorts on a schedule?
Yes. Schedule it with Newer than set to today or 1 day. The filter works to the day, so use the id column to keep only the Shorts you haven't seen yet.
Why is a search different from what I see in the app?
YouTube personalises and reshuffles search results. The Actor sees what a logged-out visitor in your chosen country sees. Channel Shorts tabs are the same for everyone.
Is scraping YouTube Shorts legal?
The Actor collects only public data that anyone can see without signing in. Channel names, handles and links can be personal data, so follow privacy laws such as GDPR, PIPEDA and CCPA and YouTube's terms, and ask a lawyer if you are unsure.
Run it on your own data
Open the YouTube Shorts Scraper on Apify, add channels, searches or Shorts links and press Start. You pay per Short from your own Apify account, with no subscription to us.
Last updated 2026-10-06.