YouTube Shorts Scraper
Pricing
from $1.50 / 1,000 results
YouTube Shorts Scraper
[๐ฐ $1.5 / 1K] Extract YouTube Shorts from any channel, search, or URL โ titles, view counts, likes, comment counts, hashtags, durations, thumbnails, and full channel details. Filter by upload date, sort by newest, popular, or oldest, and localize across 40+ countries.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Pull YouTube Shorts at scale โ exact view, like, and comment counts, hashtags, durations, upload dates, and full creator profiles for every vertical video. Feed it channels, keyword searches, or pasted URLs and get one clean row per Short. Built for creators, social media marketers, and trend researchers who need Shorts performance data in a spreadsheet instead of copying numbers off the app one video at a time.
Why This Scraper?
- Three input modes in one run โ scrape a channel's entire Shorts tab, run keyword searches that return Shorts only, or paste direct Short, channel, and
/hashtag/<tag>/shortsURLs, and mix all three in a single job. - Exact view and like counts on every Short โ precise figures pulled straight from the video, not the rounded "1.2M"-style numbers shown on cards, plus a per-Short comment count.
- Full channel profile on every row โ channel name, handle, channel ID, subscriber count, and verified badge attached to each Short, so there's no separate table to join.
- Extended creator About data on demand โ one toggle adds channel description, join date, location, avatar, banner, total video count, and lifetime total views.
- 40+ country and 19-language localization โ pull region-specific Shorts and localized titles and metadata for markets from the US and UK to Japan, Brazil, India, and beyond.
- Rich per-Short metadata โ hashtags, exact duration (seconds plus readable "0:24" text), thumbnail URL, ISO upload date, and human "2 weeks ago" published text on every result.
- Four content flags per Short โ members-only, age-restricted, subtitles-available, and comments-turned-off surfaced for filtering and compliance checks.
- Three sort orders plus a date floor โ order the collected Shorts newest, most popular, or oldest, and drop anything older than a date you set ("2024-01-01" or "7 days").
- Flat, one-row-per-Short output โ every Short is a single clean row ready for spreadsheets, BI tools, or a database, with no nested unpacking.
Use Cases
Creator & Channel Analytics
- Benchmark your Shorts against a competitor's full Shorts tab by view, like, and comment count
- Track which topics, hashtags, and durations drive the most views on a channel
- Build a performance dashboard from a creator's entire Shorts back-catalog
- Measure posting cadence from exact upload dates and published-time text
Trend & Hashtag Research
- Pull Shorts for a keyword or
/hashtag/<tag>/shortspage to see what's surfacing right now - Compare how a single trend performs across 40+ country markets
- Spot rising formats early by sorting a hashtag's Shorts by most popular
Competitor Monitoring
- Watch rival channels' newest Shorts with a date floor so you only pull recent uploads
- Compare subscriber counts, verified status, and lifetime total views side by side
- Track a competitor's Shorts output volume over time
Influencer & Lead Discovery
- Find creators by keyword search and capture handle, subscriber count, and location
- Shortlist partners by verified badge and subscriber threshold
- Vet reach with extended channel profiles โ join date, total videos, total views
Data & Integration
- Feed a flat, one-row-per-Short dataset into BI tools and spreadsheets
- Enrich an existing creator database with fresh Shorts performance figures
- Power alerts on new Shorts from a watchlist of channels
Getting Started
Scrape a Channel's Shorts
The simplest start โ one channel, sensible defaults:
{"channels": ["@MrBeast"]}
Keyword Search with a Result Cap
{"searchQueries": ["satisfying recipes", "gym motivation"],"maxResults": 50,"country": "gb"}
Multi-Source Run with Channel Details
Mix channels, pasted URLs, a hashtag page, sorting, and a date floor in one job:
{"channels": ["nasa"],"startUrls": ["https://www.youtube.com/@mkbhd/shorts","https://www.youtube.com/shorts/XCGVurja73c","https://www.youtube.com/hashtag/cooking/shorts"],"maxResults": 100,"sortBy": "popular","oldestPostDate": "3 months","includeChannelDetails": true}
Input Reference
What to Scrape
At least one source is required. Combine any of the three.
| Parameter | Type | Default | Description |
|---|---|---|---|
channels | string[] | [] | Channel usernames with or without the @ (e.g. nasa, @mkbhd) or channel URLs. Each channel's Shorts tab is scraped independently. |
searchQueries | string[] | [] | Keywords to search on YouTube (e.g. satisfying recipes). Only Shorts are returned. Each query runs independently. |
startUrls | string[] | [] | Paste YouTube URLs directly โ channel URLs (/@handle, /channel/UC..., /c/..., /user/...), individual Short URLs (/shorts/...), and hashtag URLs (/hashtag/...). |
Results
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 30 | Maximum Shorts per channel, search query, or hashtag. Set to 0 to fetch every available Short. An individual Short URL always returns exactly one result. |
Filters
| Parameter | Type | Default | Description |
|---|---|---|---|
oldestPostDate | string | (none) | Only include Shorts uploaded on or after this date. Accepts an exact date (2024-01-01) or a relative window (7 days, 3 months). Applies to channel inputs. |
sortBy | select | Newest first | Order the collected Shorts: Newest first, Most popular, or Oldest first. |
Localization
| Parameter | Type | Default | Description |
|---|---|---|---|
country | select | United States | Localize results to one of 40+ countries. Affects which Shorts appear and their localized metadata. |
language | select | English | Interface language for Short titles and metadata โ one of 19 languages, from Japanese and Korean to Arabic, Hebrew, and Portuguese. |
Enrichment
| Parameter | Type | Default | Description |
|---|---|---|---|
includeChannelDetails | boolean | true | Enrich each Short with extended channel details โ description, join date, location, avatar, banner, total videos, and total views. Adds one lookup per unique channel. Turn off for faster, leaner results. |
Output
Each Short is one flat row. Here's a representative result with channel details enabled:
{"id": "XCGVurja73c","type": "short","url": "https://www.youtube.com/shorts/XCGVurja73c","title": "I Raced The Fastest Man On Earth","text": "Could I beat an Olympic sprinter? #shorts #challenge","thumbnailUrl": "https://i.ytimg.com/vi/XCGVurja73c/oardefault.jpg","duration": 24,"durationText": "0:24","viewCount": 69694950,"likeCount": 1730291,"commentsCount": 14000,"date": "2026-06-24T16:00:14+00:00","publishedText": "2 weeks ago","hashtags": ["#shorts", "#challenge"],"hasSubtitles": false,"isMembersOnly": false,"isMonetized": null,"isAgeRestricted": false,"commentsTurnedOff": false,"channelName": "MrBeast","channelUrl": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA","channelId": "UCX6OQ3DkcsbYNE6H8uQQuVA","channelUsername": "@MrBeast","numberOfSubscribers": 507000000,"isChannelVerified": true,"channelDescription": "SUBSCRIBE FOR A COOKIE!","channelJoinedDate": "2012-02-19","channelLocation": "United States","channelAvatarUrl": "https://yt3.googleusercontent.com/example-avatar.jpg","channelBannerUrl": "https://yt3.googleusercontent.com/example-banner.jpg","channelTotalVideos": 992,"channelTotalViews": 132996068543,"input": "@MrBeast"}
Core Short Fields
| Field | Type | Description |
|---|---|---|
id | string | Short video ID |
type | string | Always "short" |
url | string | Canonical Shorts URL (/shorts/<id>) |
title | string | Short title |
text | string | Caption / description text |
thumbnailUrl | string | Thumbnail image URL |
duration | number | Length in seconds |
durationText | string | Human-readable length (e.g. 0:24) |
date | string | Upload date (ISO 8601) |
publishedText | string | Relative published text (e.g. 2 weeks ago) |
hashtags | string[] | Hashtags found in the caption |
input | string | The source (channel, query, or URL) that produced this row |
Engagement
| Field | Type | Description |
|---|---|---|
viewCount | number | Exact view count |
likeCount | number | Exact like count |
commentsCount | number | Number of comments on the Short |
commentsTurnedOff | boolean | Whether comments are disabled |
Content Flags
| Field | Type | Description |
|---|---|---|
hasSubtitles | boolean | Whether captions/subtitles exist |
isMembersOnly | boolean | Members-only content flag |
isMonetized | boolean | Monetization flag |
isAgeRestricted | boolean | Age-restriction flag |
Channel
Present on every row.
| Field | Type | Description |
|---|---|---|
channelName | string | Channel display name |
channelUrl | string | Channel URL |
channelId | string | Channel ID (UC...) |
channelUsername | string | Channel handle (e.g. @MrBeast) |
numberOfSubscribers | number | Subscriber count |
isChannelVerified | boolean | Verified badge |
Extended Channel
Populated when includeChannelDetails is on.
| Field | Type | Description |
|---|---|---|
channelDescription | string | Channel About description |
channelJoinedDate | string | Channel creation date |
channelLocation | string | Channel country / location |
channelAvatarUrl | string | Channel avatar URL |
channelBannerUrl | string | Channel banner URL |
channelTotalVideos | number | Total videos on the channel |
channelTotalViews | number | Lifetime channel view count |
Tips for Best Results
- Start small, then scale โ set
maxResultsto 10-30 on your first run to confirm the data fits your needs, then raise it (or use0for every available Short). - Turn on channel details only when you need profiles โ it adds one lookup per unique channel. Leave it off for faster, leaner runs when the per-Short numbers are all you want.
- Sorting applies to the collected set โ YouTube serves Shorts newest-first, so with a result cap, "Most popular" ranks the Shorts collected under that cap, not YouTube's global ranking. Raise
maxResultsfor a wider popularity pool. - Use the date floor on channels and hashtags โ those arrive newest-first, so
oldestPostDatestops collection as soon as an older Short appears. It doesn't narrow keyword searches. - Mix sources freely โ channels, keyword searches, and URLs all run in one job and land in one dataset.
- Match country and language to your target market โ a German run localizes titles and metadata, not just which Shorts appear.
- Captions can be blank โ
textandhashtagscome from a Short's caption/description, which some big-brand creators leave empty, so those fields may be blank even when the on-screen title shows a hashtag.
Pricing
From $1.50 per 1,000 results โ well below the going rate for YouTube Shorts data. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.18 | $0.17 | $0.16 | $0.15 |
| 1,000 | $1.80 | $1.70 | $1.60 | $1.50 |
| 10,000 | $18.00 | $17.00 | $16.00 | $15.00 |
| 100,000 | $180.00 | $170.00 | $160.00 | $150.00 |
A "result" is one Short row in the output dataset. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate research, analytics, and content strategy. You are responsible for complying with applicable laws and YouTube's Terms of Service. Extract only publicly available data, respect creators' rights, and do not use collected data for spam, harassment, or any unlawful purpose. Handle any personal data in line with applicable privacy regulations.