YouTube Shorts Scraper (Channels & Hashtags) avatar

YouTube Shorts Scraper (Channels & Hashtags)

Pricing

from $1.05 / 1,000 short scrapeds

Go to Apify Store
YouTube Shorts Scraper (Channels & Hashtags)

YouTube Shorts Scraper (Channels & Hashtags)

Scrape YouTube Shorts from any channel or hashtag: title, views, likes, comments, publish date, duration, description and hashtags. No API key, no quota. Export to Excel, CSV or JSON.

Pricing

from $1.05 / 1,000 short scrapeds

Rating

0.0

(0)

Developer

Julio Barcellos Rangel

Julio Barcellos Rangel

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 hours ago

Last modified

Share

YouTube Shorts Scraper collects the Shorts of any YouTube channel or hashtag with title, views, likes, comment count, publish date, duration, description, hashtags and tags. It is made for creators, agencies, marketers and researchers who want to find viral Shorts, track competitors and export YouTube Shorts data to Excel, CSV or JSON, with no YouTube API key and no login.

What does YouTube Shorts Scraper do?

You give it channels, hashtags, or both. For each channel, the robot opens the channel's Shorts tab. For each hashtag, it opens the hashtag's Shorts page. It then reads the list of Shorts page by page until it reaches your limit per source.

With Include likes, comments, date and description turned on (the default), it also opens every Short to add the exact view count, likes, comment count, publish date, duration, description, hashtags, tags and channel. Turned off, you get a fast list with title, views and link only.

Channels can be given as:

  • @handles: @MrBeast
  • Handles without the @: MrBeast
  • Channel URLs: https://www.youtube.com/@MrBeast or https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
  • Channel IDs: UCX6OQ3DkcsbYNE6H8uQQuVA

Hashtags can be given as cooking, #cooking or https://www.youtube.com/hashtag/cooking.

What comes out: one row per Short, with the source it came from (channel or hashtag) and the Short's data.

What data can you extract?

FieldWhat it meansExample
sourceThe channel or hashtag this Short was found on, as you typed it (hashtags start with #)#cooking
sourceTypechannel or hashtaghashtag
videoId11-character video ID of the ShortN0zC0CpwiZc
titleTitle of the ShortFire Paan
urlLink to the Shorthttps://www.youtube.com/shorts/N0zC0CpwiZc
viewsView count as a number (exact with details on, see Tips)45927810
viewsTextView count as shown in the Shorts list45M views
thumbnailThumbnail image URLhttps://i.ytimg.com/vi/N0zC0CpwiZc/hqdefault.jpg
channelNameChannel that posted the Short (details)Nick DiGiovanni
channelIdChannel ID (details)UCMyOj6fhvKFMjxUCp3b_3gA
durationSecondsLength in seconds (details)26
descriptionFull description of the Short (details)#cooking #streetfood #viral
hashtagsHashtags found in the description (details)["#cooking", "#streetfood", "#viral"]
keywordsTags the creator set on the video (details)["Chef", "Cook", "Learn To Cook"]
likesLike count, rounded as YouTube shows it (details)595000
commentsComment count, rounded as YouTube shows it (details)3700
publishedPublish date as YouTube shows it (details)Aug 25, 2026
scrapedAtWhen the row was collected (ISO 8601, UTC)2026-10-08T20:18:10.724Z
errorOnly on error items: why a source gave nothingChannel or hashtag not found

Fields marked "(details)" are only filled when includeDetails is on. With it off, each row has source, sourceType, videoId, title, url, views, viewsText, thumbnail and scrapedAt.

The default table view shows source, channelName, title, views, likes, comments, published, durationSeconds and url. All fields are in the full JSON, CSV and Excel exports.

How to use YouTube Shorts Scraper

  1. Open the robot in Apify Console and go to the Input tab.
  2. In Channels, add one channel per line. In Hashtags, add one hashtag per line. Both lists come pre-filled with an example (@MrBeast and cooking), so delete the example you don't want.
  3. Set Max Shorts per channel or hashtag (default 20).
  4. Keep Include likes, comments, date and description on for full data, or turn it off for a fast list.
  5. Click Start. Shorts appear in the Output tab while the robot works.
  6. Click Export to download JSON, CSV, Excel, HTML or XML, or read the dataset through the API.

Input

FieldTypeDefaultWhat it does
channelsarray of strings["@MrBeast"]@handles, channel URLs or UC… channel IDs. Their Shorts tab is scraped.
hashtagsarray of stringsempty (the form shows cooking as an example)Hashtags with or without #, or youtube.com/hashtag/… URLs. Shorts using the hashtag are scraped.
maxShortsPerSourceinteger, minimum 120Stop after this many Shorts for each channel or hashtag.
includeDetailsbooleantrueOpen each Short to add exact views, likes, comment count, publish date, duration, description, hashtags and tags.
proxyobject{ "useApifyProxy": true }Apify Proxy settings.

Example input for channels only (note the empty hashtags list, so the default hashtag is not added):

{
"channels": ["@MrBeast", "https://www.youtube.com/@NickDiGiovanni"],
"hashtags": [],
"maxShortsPerSource": 50,
"includeDetails": true,
"proxy": { "useApifyProxy": true }
}

Output example

One real item from a recent run on the hashtag cooking (the keywords list is shortened here):

{
"source": "#cooking",
"sourceType": "hashtag",
"videoId": "N0zC0CpwiZc",
"title": "Fire Paan",
"url": "https://www.youtube.com/shorts/N0zC0CpwiZc",
"views": 45927810,
"viewsText": "45M views",
"thumbnail": "https://i.ytimg.com/vi/N0zC0CpwiZc/hqdefault.jpg",
"channelName": "Nick DiGiovanni",
"channelId": "UCMyOj6fhvKFMjxUCp3b_3gA",
"durationSeconds": 26,
"description": "#cooking #streetfood #viral",
"hashtags": ["#cooking", "#streetfood", "#viral"],
"keywords": ["Chef", "Cook", "Learn To Cook", "Cooking", "Food"],
"likes": 595000,
"comments": 3700,
"published": "Aug 25, 2026",
"scrapedAt": "2026-10-08T20:18:10.724Z"
}

If a channel or hashtag can't be found, you get an error item:

{
"source": "@this-channel-does-not-exist",
"error": "Channel or hashtag not found"
}

How much does it cost?

The robot uses pay per event pricing. You pay only for the Shorts returned, and Apify platform usage is already included in the price.

EventPrice (Free plan)
Short scraped$0.0015 per Short, which is $1.50 per 1,000 Shorts

The price is the same with details on or off. Paid Apify plans get a discount:

PlanPrice per 1,000 Shorts
Free$1.50
Bronze (-10%)$1.35
Silver (-20%)$1.20
Gold and higher (-30%)$1.05

Worked examples on the Free plan:

  • The default input (1 channel + 1 hashtag, 20 Shorts each) = 40 Shorts: $0.06.
  • 100 channels × 50 Shorts = 5,000 Shorts: $7.50 ($5.25 on Gold).
  • 10,000 Shorts from hashtags: $15.00 ($13.50 on Bronze, $12.00 on Silver, $10.50 on Gold).

What is NOT charged:

  • Error items (Channel or hashtag not found, No Shorts found).
  • The same Short seen twice on one channel or hashtag page (it is saved once).

Use cases

  • Find viral Shorts in your niche: scrape a hashtag and sort by views or likes to see which formats and topics work.
  • Track competitors: schedule daily runs on competitor channels and compare views, likes and comments over time.
  • Influencer discovery: collect the channels that post under a hashtag (channelName, channelId) and build an outreach list.
  • Engagement analysis: compute likes per view and comments per view for each Short or each creator.
  • Content planning: study titles, descriptions, hashtags and tags (keywords) of the top Shorts before you publish your own.
  • Brand monitoring: follow a campaign hashtag and see who uses it and how the Shorts perform.
  • Feed other tools: pass the Shorts URLs to a transcript or comments scraper for AI analysis.

Tips and limits

  • Clear the example you don't need. In the Console form both lists come pre-filled. From the API, channels defaults to ["@MrBeast"], so send "channels": [] for a hashtag-only run; hashtags is empty unless you send it.
  • Details are slower. With includeDetails on, the robot opens each Short (about 3 at a time). Turn it off when you only need titles, links and views.
  • Some detail fields can be missing. The exact views, durationSeconds and keywords come from YouTube's video player data, which YouTube does not always return. When it is missing, durationSeconds is null, keywords is empty and views keeps the rounded number from the Shorts list (for example 50M views becomes 50000000). Likes, comments, date and description come from a second source and are usually still filled.
  • Likes and comments are rounded the way YouTube shows them: 856K becomes 856000.
  • published is a date text such as Sep 27, 2026, not an ISO date.
  • keywords are the creator's tags. Many Shorts have none, so an empty list is normal.
  • hashtags come from the description. If a Short has no hashtags in its description, the list is empty.
  • Order. Shorts are returned in the order YouTube lists them on the channel's Shorts tab or the hashtag page.
  • No hard cap. maxShortsPerSource has no upper limit in the input. The robot stops when YouTube serves no more Shorts for that source, so you may get fewer.
  • Error items are pushed for Channel or hashtag not found and No Shorts found. They are free.
  • Proxy. Requests go through Apify Proxy, with retries on new IPs and a last try on the Residential proxy group when your account has access to it.

Use it from the API, Python or JavaScript

JavaScript (Node.js):

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const input = {
channels: ['@MrBeast'],
hashtags: [],
maxShortsPerSource: 50,
includeDetails: true,
};
const run = await client.actor('juliob.rangel/youtube-shorts-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, 'Shorts');

Python:

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run_input = {
'channels': [],
'hashtags': ['cooking', 'recipe'],
'maxShortsPerSource': 50,
'includeDetails': True,
}
run = client.actor('juliob.rangel/youtube-shorts-scraper').call(run_input=run_input)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(len(items), 'Shorts')

You can also call it over plain HTTP with the Apify API (for example the run-sync-get-dataset-items endpoint of juliob.rangel~youtube-shorts-scraper).

It works with Make, Zapier, n8n, Google Sheets export, webhooks and AI agents through the Apify MCP server.

FAQ

Do I need a login, cookies or a YouTube API key? No. The robot reads public Shorts pages the way a logged-out visitor sees them.

Can I export YouTube Shorts data to Excel or CSV? Yes. Click Export in the Output tab and choose Excel, CSV, JSON, HTML or XML.

How many Shorts can I get per channel or hashtag? Up to your maxShortsPerSource value, as long as YouTube keeps serving more Shorts for that page.

Why are durationSeconds or keywords empty on some rows? YouTube did not return its player data for that Short during the run. The other fields (likes, comments, date, description) come from a second request and are usually still filled, and views falls back to the rounded number from the list.

Can I scrape regular (long) videos with it? No. It reads Shorts tabs and hashtag Shorts pages only. For long videos, use the channel videos or video details scrapers below.

Why did I get an error item? The channel or hashtag could not be resolved (Channel or hashtag not found), or the page had no Shorts (No Shorts found). Check the spelling of the handle or hashtag. Error items are not charged.

Is scraping YouTube Shorts legal? The robot only collects publicly available data. You are responsible for complying with YouTube's terms and with privacy laws such as GDPR and LGPD. If you store personal data, you need a legitimate reason.


YouTube Shorts Scraper (PT-BR)

Coleta Shorts do YouTube de qualquer canal ou hashtag: visualizações, curtidas, comentários, data, duração, descrição e hashtags. Sem chave de API e sem login. Você paga só por Short retornado. Exporte para Excel, CSV ou JSON.