YouTube Shorts Scraper Pro — Short Video Data at Scale
Pricing
from $3.00 / 1,000 results
YouTube Shorts Scraper Pro — Short Video Data at Scale
Reliable short video scraper built for stability. Extract YouTube Shorts from channels, search or trending, with views, engagement and metadata. No browser needed, so it is fast and cheap. Designed to keep working when other scrapers break. $3 per 1K results.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Sami
Maintained by CommunityActor stats
0
Bookmarked
18
Total users
5
Monthly active users
3 days ago
Last modified
Categories
Share
YouTube Shorts Scraper Pro
Scrape YouTube Shorts from channels, keyword searches or trending searches. Uses a stable structured-data approach instead of fragile HTML parsing, and needs no browser, so runs stay light and cheap.
How to scrape YouTube Shorts in 3 easy steps
- Go to the YouTube Shorts Scraper Pro page on Apify and click "Try for free".
- Configure your input — choose a scraping mode (channel Shorts, search Shorts, or trending Shorts), enter channel URLs or search keywords, and set the maximum number of results.
- Click "Run", wait for the results, and download your data in JSON, CSV, or Excel format.
No coding required. Works with Apify's free plan.
Why structured-data extraction instead of HTML parsing?
Most YouTube scrapers parse HTML that changes every 1-2 weeks. This actor uses a stable structured-data approach that works directly with YouTube's underlying data layer — far more resilient to frontend changes.
| Method | Stability | Speed | Memory | Maintenance |
|---|---|---|---|---|
| HTML/DOM parsing | Breaks every 1-2 weeks | Slow (browser) | 1024MB | Weekly |
| Initial-data regex | Breaks every 2-4 weeks | Medium | 512MB | Biweekly |
| Structured-data approach | Stable months/years | Fast (HTTP only) | 256MB | Monthly or less |
This actor auto-detects the current configuration on each run, ensuring compatibility even when YouTube updates these values.
YouTube Shorts API alternative
There is no official YouTube Shorts API for bulk data extraction. The YouTube Data API v3 does not distinguish Shorts from regular videos and has strict daily quota limits. This Actor works as a YouTube Shorts API alternative in 2026 — it extracts Shorts-specific data (views, likes, comments, hashtags, thumbnails) and returns structured JSON ready for analysis. No API key management, no quota worries, and no rate limit headaches.
3 Scraping Modes
Mode 1: Channel Shorts
Extract Shorts from specific YouTube channels.
Input:
{"mode": "channel_shorts","channelUrls": ["https://www.youtube.com/@MrBeast","@mkbhd","pewdiepie"],"maxResults": 50}
Mode 2: Search Shorts
Find Shorts by keyword search.
Input:
{"mode": "search_shorts","searchQuery": "cooking recipes shorts","maxResults": 30}
Mode 3: Trending Shorts
Get popular/trending Shorts. Trending mode runs three fixed searches ("shorts trending today", "#shorts viral", "popular shorts this week") in the YouTube region set by country (a 2-letter ISO code such as US, GB or ES; anything else runs as US), and every row carries that region in trendingCountry. If YouTube returns nothing for the region, the run falls back to US and labels those rows US.
Input:
{"mode": "trending_shorts","country": "US","maxResults": 50}
Engagement enrichment
Enable enrichWithEngagement to fetch likes, comments, the upload date (publishDate) and full descriptions for each Short. This adds 1 extra API request per Short (slower but more data). A count YouTube does not show (hidden likes, comments turned off) comes back as null, not 0.
{"mode": "channel_shorts","channelUrls": ["@MrBeast"],"maxResults": 10,"enrichWithEngagement": true}
Output format
| Field | Type | Description |
|---|---|---|
videoId | string | YouTube video ID |
title | string | null | Short title. null if YouTube sends none |
url | string | Direct link to the Short |
channelName | string | null | Creator's channel name (Channel Shorts mode; search/trending results from the Shorts grid do not carry channel info). null if YouTube did not return it |
channelUrl | string | null | Creator's channel URL (same as above) |
channelId | string | null | YouTube channel ID (same as above) |
viewCount | integer | null | Number of views, from YouTube's rounded text ("6.7M views" → 6700000). null if YouTube shows no view count |
viewCountText | string | null | Original view count text (e.g., "45M views"). null if YouTube shows none |
likeCount | integer | null | Likes, rounded as YouTube shows them (requires enrichment). null when the creator hides likes or YouTube sends no count — never a made-up 0 |
commentCount | integer | null | Comments, rounded as YouTube shows them (requires enrichment). null when comments are off or no count is shown |
description | string | Full description (requires enrichment; the field is left out when the Short has none) |
publishDate | string | null | Upload date YYYY-MM-DD as YouTube prints it (requires enrichment). This is YouTube's calendar day, not a UTC date like scrapedAt: YouTube's own upload timestamps are in US Pacific time, so a Short uploaded late in the Pacific evening can carry the day before its UTC date. null if YouTube only gives a relative time or a premiere/scheduled date |
publishedTimeText | string | null | Relative publish time, only when YouTube's listing includes it — the Shorts grid (channel and search results) usually does not, so use publishDate with enrichment |
thumbnailUrl | string | null | Thumbnail image URL. null if YouTube sends none |
trendingCountry | string | Trending mode only: the YouTube region the searches ran in |
hashtags | array | Hashtags from title/description |
isShort | boolean | Always true |
enriched | boolean | Whether engagement data was fetched |
scrapedAt | string | ISO timestamp |
Use cases
- Content creators: analyze competitor Shorts performance and find content gaps
- Marketing agencies: track viral Shorts trends across categories
- Brands: monitor brand mentions and product appearances in Shorts
- Researchers: study short-form video engagement patterns and virality
- Influencer marketing: find creators by Shorts views and engagement rate
Use with Python, JavaScript, or no code
You can call this Actor programmatically from any language using the Apify API, or just use the web UI with no code at all.
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("zhorex/youtube-shorts-scraper-pro").call(run_input={"mode": "channel_shorts","channelUrls": ["@MrBeast"],"maxResults": 50,"enrichWithEngagement": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["viewCount"])
JavaScript example:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('zhorex/youtube-shorts-scraper-pro').call({mode: 'channel_shorts',channelUrls: ['@MrBeast'],maxResults: 50,enrichWithEngagement: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(item.title, item.viewCount);});
Pricing
$0.003 per Short ($3 per 1,000 Shorts). You only pay for successfully extracted results.
| Shorts | Cost |
|---|---|
| 100 | $0.30 |
| 1,000 | $3.00 |
| 10,000 | $30.00 |
Performance
- Speed: one request per page of results (a first page holds roughly 25-50 Shorts), with a 1.5 s pause between pages (without enrichment)
- Speed with enrichment: ~1 Short per 2 seconds (extra request per Short)
- Memory: 256MB (no browser)
- Reliability: structured-data approach is far more stable than HTML parsing
Accepted input formats
Channel inputs accept multiple formats:
- Full URL:
https://www.youtube.com/@MrBeast - Handle:
@MrBeast - Username:
MrBeast - Channel ID:
UCX6OQ3DkcsbYNE6H8uQQuVA
Proxy configuration
Datacenter proxies usually work fine. Switch to residential proxies if you experience blocks at high volume.
FAQ
Does this need a browser? No. It uses pure HTTP requests against a stable structured-data path. No Playwright, no Puppeteer.
Does this need a proxy? Optional but recommended for production use. Datacenter proxies are usually sufficient.
How is this different from other YouTube Shorts scrapers? Many YouTube scrapers parse the HTML page, which breaks when YouTube updates its frontend. This scraper reads YouTube's structured data directly, which is more stable across frontend changes.
Can I get likes and comments?
Yes, enable enrichWithEngagement. It adds 1 extra API request per Short.
What happens when YouTube changes something? The underlying data path rarely changes. When minor changes happen, the recursive parser adapts automatically. The actor also auto-detects the current configuration on each run.
How much does it cost to scrape YouTube Shorts? $0.003 per Short ($3 per 1,000 Shorts). You only pay for successfully extracted results. Apify's free plan includes $5 of monthly usage, so you can scrape ~1,600 Shorts for free every month.
Can I use this YouTube Shorts scraper in Python?
Yes. Install the apify-client package (pip install apify-client) and call the Actor with a few lines of code. See the Python example above.
Is scraping YouTube Shorts legal? This Actor accesses publicly available data through YouTube's own API endpoints. It does not bypass any authentication or access private data. Always review YouTube's Terms of Service and your local regulations before scraping. Use the data responsibly and in compliance with applicable laws.
What is the best YouTube Shorts scraper in 2026? It depends on what you need. This Actor (YouTube Shorts Scraper Pro) uses a structured-data approach instead of HTML parsing, which makes it resistant to YouTube frontend changes, and it needs no browser, which keeps runs light and cheap.
Can I scrape YouTube Shorts without coding? Yes. Just open the Actor page on Apify, configure your input in the web UI, and click Run. No coding required. You can download results in JSON, CSV, or Excel format directly from the Apify dashboard.
Limitations
- YouTube may change underlying parameters (rare but possible)
- View/like counts may have slight reporting delays vs real-time
- Full descriptions require enrichment mode (adds 1 request per Short)
- Rate limited to ~40 requests/minute to avoid blocks
- Maximum 500 results per channel/search
Integrations & data export
This Actor integrates with the full Apify ecosystem and popular automation platforms:
- Google Sheets — export YouTube Shorts data directly to a spreadsheet
- Zapier / Make / n8n — trigger workflows whenever new Shorts are scraped
- REST API — call the Actor from any application using the Apify API
- Webhooks — receive notifications when a scraping run finishes
- Amazon S3 / Google Cloud Storage — store datasets in your own cloud bucket
- JSON / CSV / Excel — download results in the format you need
More scrapers by Zhorex
Social media & content scrapers:
B2B & reviews scrapers:
SEO & data tools:
Marketplace scrapers:
Found this Actor useful? Please leave a star rating — it helps other users discover this tool.