Youtube Shorts Scraper Pro
Pricing
Pay per event
Youtube Shorts Scraper Pro
Fast and reliable YouTube Shorts data extractor powered by Supadata API and YouTube Data API v3. Extract complete Shorts metadata with 100% field population and guaranteed reliability for short-form vertical content.
0.0 (0)
Pricing
Pay per event
0
2
1
Last modified
a day ago
YouTube Shorts Scraper Pro 🎬
Fast and reliable YouTube Shorts data extractor powered by Supadata API and YouTube Data API v3. Extract complete Shorts metadata with 100% field population and guaranteed reliability for short-form vertical content.

🚀 Key Features
- 🎯 Shorts-Specific: Native Shorts detection and extraction via Supadata API
- ⚡ API-First Architecture: Reliable metadata extraction with zero browser automation
- ✅ 100% Field Reliability: Guaranteed data population from official YouTube APIs
- 📊 16 Complete Fields: Metadata, engagement metrics, and optional transcripts
- 🔍 Multiple Discovery Methods: Keywords, channels, hashtags, or direct Shorts URLs
- 📝 Transcript Extraction: Optional full captions/transcripts for content analysis
- 🌍 Localization: Country and language support for regional Shorts
- 📦 Bulk Processing: Process hundreds of Shorts in minutes
- 📱 Vertical Format: Optimized for 9:16 aspect ratio short-form content
Best for: TikTok-style content analysis, viral trend monitoring, influencer Shorts tracking, mobile-first SEO research, hashtag performance analysis
🎯 At a Glance
| Feature | Value |
|---|---|
| Speed | 3-5s per Short (5-7s with transcript) |
| Throughput | 500-720 Shorts per hour (300-500 with transcript) |
| Fields | 16 fields with 100% reliability |
| Architecture | API-First (Supadata + YouTube Data API v3) |
| Transcript Support | Optional (60-80% availability) |
| Max Duration | 60 seconds (Shorts standard) |
💡 Why This Scraper?
YouTube Shorts Scraper Pro uses a dual-API approach for optimal Shorts identification and reliable data extraction:
| Feature | YouTube Shorts Scraper Pro | Generic Video Scrapers |
|---|---|---|
| Shorts Detection | Native (Supadata API) | Workarounds/unreliable |
| Field Reliability | 100% (API guarantee) | 85-95% (DOM parsing) |
| Vertical Format Recognition | Yes (9:16 detection) | Limited |
| Proxy Requirement | No | Yes (for high volume) |
| Bot Detection Risk | None (API-only) | High (browser-based) |
| Max Duration Filter | Automatic (≤60s) | Manual configuration |
Architecture Benefits:
- ✅ Native Shorts identification (no URL hacking)
- ✅ Guaranteed field population from official APIs
- ✅ No browser fingerprinting or bot detection
- ✅ Predictable costs and performance
- ✅ Zero rate-limiting concerns (API quota management)
💵 Pricing
Usage-Based Pricing Model:
- $5 per 1,000 Shorts extracted - Base cost for data extraction
- $4 per 1,000 transcripts - Additional cost when including transcripts
- Apify Store Credits: 0%, 10%, 15%, or 20% based on usage tier
Example Costs:
- 1,000 Shorts without transcripts: $5
- 1,000 Shorts with transcripts: $9 ($5 + $4)
- 5,000 Shorts without transcripts: $25
- 5,000 Shorts with 3,000 transcripts: $37 ($25 + $12)
📋 Input Parameters
| Field | Key | Type | Default | Description |
|---|---|---|---|---|
| Keyword Search | keywordSearch | Array | [] | Search terms to find Shorts (e.g., "cooking tips", "AI tutorial") |
| Channel URLs | channelUrls | Array | [] | YouTube channel URLs or handles (e.g., @mrbeast) |
| Shorts URLs | shortsUrls | Array | [] | Direct Shorts URLs (youtube.com/shorts/{ID}) |
| Hashtag Search | hashtagSearch | Array | [] | Search for Shorts by hashtag (e.g., #viral, #comedy) |
| Max Results Per Search | maxResultsPerSearch | integer | 50 | Max Shorts per keyword/hashtag search |
| Max Results Per Channel | maxResultsPerChannel | integer | 50 | Max Shorts to extract per channel |
| Country | regionCode | string | "US" | ISO country code (US, GB, IN, BR, etc.) |
| Language | language | string | "en" | Language code (en, es, pt, hi, etc.) |
| From Date | fromDate | string | "" | Filter Shorts published on/after this date (ISO 8601: YYYY-MM-DD) |
| To Date | toDate | string | "" | Filter Shorts published on/before this date (ISO 8601: YYYY-MM-DD) |
| Sort Shorts By | sortShorts | string | "newest" | Sort results by "newest", "oldest", or "popular" (view count) |
| Include Transcript | includeTranscript | boolean | false | Extract transcript/captions (adds 1-2s per Short) |
| Transcript Language | transcriptLanguage | string | "" | Preferred transcript language (e.g., "en", "es"). Auto-detect if empty |
Important Notes:
- 📱 Shorts-Only: This scraper extracts only Shorts (≤60s vertical videos)
- 🌐 Supadata API Required: You'll need a Supadata API key (free tier: 100 credits/month)
- 📅 Flexible Date Filtering:
- Use
fromDateonly to get Shorts after a date - Use
toDateonly to get Shorts before a date - Use both for a specific date range
- Leave both empty to get all available Shorts
- Use
- 🔄 Result Sorting: Sort by newest, oldest, or most popular (view count)
- 📁 Bulk Upload: Text file upload supported for channel/Shorts URLs
- 📝 Transcripts: Extracted via Supadata API (60-80% of Shorts have transcripts)
📤 Output Schema
16 Fields with 100% API Reliability
All fields populated from Supadata API + YouTube Data API v3 with guaranteed availability.
| # | Field | Type | Description | Source |
|---|---|---|---|---|
| 1 | type | String | Always shorts or shorts_live | API + Duration |
| 2 | VideoId | String | YouTube video ID (e.g., abc123XYZ) | Supadata |
| 3 | PageURL | String | Full Shorts URL (youtube.com/shorts/{ID}) | Constructed |
| 4 | title | String | Shorts title | YouTube API |
| 5 | shortDescription | String | null | First 200 characters of description | YouTube API |
| 6 | thumbnailUrl | String | null | Vertical thumbnail URL (9:16 ratio) | YouTube API |
| 7 | duration | String | null | Duration in HH:MM:SS (max 00:01:00) | YouTube API |
| 8 | isLiveContent | Boolean | Whether Short is/was a live stream | YouTube API |
| 9 | viewCount | Integer | null | Total view count | YouTube API |
| 10 | likeCount | Integer | null | Total like count | YouTube API |
| 11 | commentCount | Integer | null | Total comment count | YouTube API |
| 12 | publishDate | String | null | Publish date (YYYY-MM-DD) | YouTube API |
| 13 | ChannelID | String | null | Channel ID (UC...) | YouTube API |
| 14 | ChannelName | String | null | Channel display name | YouTube API |
| 15 | ChannelURL | String | null | Full channel URL | Constructed |
| 16 | transcript | String | null | Full transcript/captions text (when includeTranscript: true) | Supadata API |
Shorts-Specific Characteristics:
- ✅ type field always returns
shorts(orshorts_livefor live Shorts) - ✅ PageURL uses
/shorts/path format - ✅ duration always ≤60 seconds (00:00:15 to 00:01:00)
- ✅ thumbnailUrl is vertical format (9:16 aspect ratio)
- ✅ isLiveContent identifies live Shorts (rare but supported)
- ✅ transcript extracted only if
includeTranscript: true(60-80% availability)
📊 Output Examples
Overview Table View

All Fields Table View

Example 1: Short with Transcript (includeTranscript: true)
{"type": "shorts","VideoId": "0yPgljFcTR4","PageURL": "https://www.youtube.com/shorts/0yPgljFcTR4","title": "Subscribe to Win $50,000","shortDescription": "Thanks to Jack Link's Jerky for helping me give away $500,000!\n\nNew subscribers only will receive an entry for a chance to win by subscribing to the MrBeast YouTube channel by 11:59 p.m. ET on May 21,","thumbnailUrl": "https://i.ytimg.com/vi/0yPgljFcTR4/maxresdefault.jpg","duration": "00:00:15","isLiveContent": false,"viewCount": 85035753,"likeCount": 4168976,"commentCount": 147835,"publishDate": "2025-05-07","transcript": "It's my birthday and thanks to Jackie Shery, I'm giving away $500,000 to you guys. If you want to win some of it, all you have to do is hit the subscribe button down below. 10 random people that do will win $50,000 each. It's never been easier. Um, happy","ChannelID": "UCX6OQ3DkcsbYNE6H8uQQuVA","ChannelName": "MrBeast","ChannelURL": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"}
Example 2: Short without Transcript
{"type": "shorts","VideoId": "V6In4tmd-w8","PageURL": "https://www.youtube.com/shorts/V6In4tmd-w8","title": "$1 vs $25,000 VFX","shortDescription": "Huge thanks to every VFX artist that made this happen!\n\n$1 - @HelloXRyan \n$1,000 - @scottconveryvfx \n$10,000 - @krimium. \n$25,000 - @heyBrandonB \n\nAll renders were done without the use of AI, go check","thumbnailUrl": "https://i.ytimg.com/vi/V6In4tmd-w8/maxresdefault.jpg","duration": "00:00:23","isLiveContent": false,"viewCount": 89459140,"likeCount": 2254166,"commentCount": 12332,"publishDate": "2025-06-19","transcript": null,"ChannelID": "UCX6OQ3DkcsbYNE6H8uQQuVA","ChannelName": "MrBeast","ChannelURL": "https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA"}
API Benefits:
- ⚡ 100% field reliability (official API data)
- ⚡ Native Shorts detection (no false positives)
- ⚡ Vertical format guaranteed (9:16 thumbnails)
- ⚡ Clean, consistent data structure
- 📝 Full transcript extraction for content analysis
🎬 Quick Start
Example 1: Keyword Search (Discover Shorts by Topic)
{"keywordSearch": ["cooking tips", "AI tutorial", "fitness workout"],"maxResultsPerSearch": 100,"dateFrom": "2025-10-01","dateTo": "2025-10-31","regionCode": "US","language": "en"}
Example 2: Extract Shorts from Channels
{"channelUrls": ["https://www.youtube.com/@mrbeast","https://www.youtube.com/@markrober","@veritasium"],"maxResultsPerChannel": 100,"regionCode": "US","language": "en"}
Example 3: Direct Shorts URLs
{"shortsUrls": ["https://www.youtube.com/shorts/a1b2c3d4e5f","https://www.youtube.com/shorts/z9y8x7w6v5u"],"regionCode": "US","language": "en"}
Example 4: Recent Shorts - Sorted by Popularity
{"channelUrls": ["@mrbeast"],"maxResultsPerChannel": 100,"fromDate": "2025-10-01","sortShorts": "popular","regionCode": "US"}
Example 5: Date Range Filter (October 2025)
{"hashtagSearch": ["#viral", "#comedy", "#tutorial"],"maxResultsPerSearch": 50,"fromDate": "2025-10-01","toDate": "2025-10-31","sortShorts": "newest","regionCode": "US"}
Example 6: Shorts After Specific Date
{"channelUrls": ["@netflix", "@disney"],"maxResultsPerChannel": 200,"fromDate": "2025-10-15","sortShorts": "oldest","regionCode": "IN","language": "hi"}
Example 7: Shorts Before Specific Date
{"keywordSearch": ["AI tutorial", "machine learning"],"maxResultsPerSearch": 100,"toDate": "2025-09-30","sortShorts": "popular","regionCode": "US"}
Example 8: Extract Shorts with Transcripts
{"keywordSearch": ["cooking tutorial", "fitness tips"],"maxResultsPerSearch": 50,"includeTranscript": true,"transcriptLanguage": "en","regionCode": "US","language": "en"}
Note: Enabling includeTranscript adds 1-2 seconds per Short but provides valuable content for SEO analysis, keyword extraction, and sentiment analysis.
💪 Performance & Architecture
API-First Architecture (v1.0)
Shorts Discovery (Supadata API):
- ✅ Native Shorts identification using
type='short'parameter - ✅ Returns Short IDs for specified channels
- ✅ Fast discovery (~1-2 seconds per channel)
- ✅ Supports up to 5,000 Shorts per channel
- ✅ No bot detection or browser fingerprinting
Metadata Extraction (YouTube Data API v3):
- ✅ Batch processing of Short IDs (up to 50 per request)
- ✅ Official API guarantees 100% field reliability
- ✅ Efficient quota management (1 unit per request)
- ✅ 10,000 Shorts per day within free tier
- ✅ Predictable response times (<1s per batch)
Data Flow:
1. Input: Keywords / Channel URLs / Hashtags / Direct Shorts URLs↓2. Supadata API: Discover all Short IDs(Native Shorts filtering for keywords/channels, fast discovery)↓3. YouTube Data API v3: Extract metadata in batches(videos.list endpoint, 50 IDs per request)↓4. Validation: Ensure duration ≤60s, vertical format(Filter out false positives, guarantee Shorts-only)↓5. Date Filtering: Apply date range filters (optional)(fromDate and/or toDate, displays time period automatically)↓6. Sorting: Order results by preference (optional)(Newest first, Oldest first, or Most popular by views)↓7. Output: Complete dataset with 16 fields per Short
Throughput Comparison
| Shorts | API-First (v1.0) | Puppeteer-Based | Traditional Scraping |
|---|---|---|---|
| 10 Shorts | ~10 seconds | ~30-50 seconds | ~50-80 seconds |
| 50 Shorts | ~25 seconds | ~2.5 minutes | ~4-6 minutes |
| 100 Shorts | ~45 seconds | ~5 minutes | ~8-12 minutes |
| 500 Shorts | ~3.5 minutes | ~25 minutes | ~40-60 minutes |
| 1,000 Shorts | ~7 minutes | ~50 minutes | ~1.5-2 hours |
Speed Factors:
- API batch processing (50 Shorts per request)
- No page rendering overhead
- Zero bot detection delays
- Parallel API calls (up to 10 concurrent)
📚 Use Cases
Topic & Keyword Discovery
- Trending Topic Research: Search keywords like "AI tools" to find viral Shorts
- Niche Content Discovery: Find Shorts in specific topics (e.g., "sourdough bread", "day trading")
- Educational Content: Discover tutorial Shorts for specific skills
- Competitor Topic Analysis: See what topics competitors are creating Shorts about
Content Strategy & Analysis
- Shorts Performance Tracking: Monitor view/like/comment metrics across creators
- Viral Trend Identification: Spot trending topics and hashtags early
- Content Format Analysis: Study successful Short formats and structures
- Posting Time Optimization: Analyze publish patterns for best engagement
Competitive Intelligence
- Competitor Monitoring: Track competitor Shorts performance and strategy
- Hashtag Effectiveness: Compare hashtag performance across channels
- Engagement Benchmarking: Measure your Shorts against industry standards
- Content Gap Analysis: Identify opportunities competitors are missing
Market Research
- Regional Trends: Discover popular Shorts content by country/language
- Audience Preferences: Understand what vertical content resonates
- Sentiment Analysis: Analyze comments for audience reactions
- Dataset Building: Create training data for ML/AI models
Influencer & Brand Monitoring
- Influencer Discovery: Find top-performing Shorts creators in your niche
- Brand Mention Tracking: Monitor brand appearances in Shorts
- Campaign Performance: Measure sponsored Shorts engagement
- ROI Analysis: Track influencer collaboration effectiveness
Mobile-First SEO
- Keyword Research: Identify high-performing keywords in Shorts titles
- Hashtag Strategy: Optimize hashtag usage based on successful Shorts
- Description Analysis: Study effective Short descriptions
- Thumbnail Patterns: Analyze vertical thumbnail effectiveness
Transcript-Based Analysis (with includeTranscript: true)
- Content Analysis: Extract spoken keywords and topics from video transcripts
- SEO Keyword Mining: Find actual words used in high-performing Shorts
- Sentiment Detection: Analyze tone and sentiment from transcript text
- Training Data: Build datasets for NLP, ML, and AI model training
- Compliance Checking: Scan transcripts for brand safety and policy violations
- Accessibility Research: Study caption quality and language patterns
❓ FAQ
Q: What makes this different from regular video scrapers? A: This scraper uses Supadata API for native Shorts detection, ensuring you get only short-form vertical content (≤60s, 9:16 ratio). Regular scrapers can't reliably distinguish Shorts from videos.
Q: What is Supadata API?
A: Supadata is a third-party API specialized in YouTube data extraction. It has native Shorts filtering (type='short' parameter) that YouTube's official API lacks.
Q: Do I need any API keys? A: No! All API keys are pre-configured in the Actor. You can start scraping immediately without any setup. The Actor uses both Supadata API and YouTube Data API v3 internally, but manages all authentication for you.
Q: How do you identify Shorts vs regular videos?
A: We use Supadata API's native type='short' parameter for reliable Shorts identification, plus validation checks:
- Duration ≤60 seconds
- Vertical thumbnail aspect ratio (9:16)
/shorts/URL path confirmation
Q: Can I scrape Shorts from specific dates?
A: Yes! Use dateFrom and dateTo parameters (YYYY-MM-DD format) to filter Shorts by publish date.
Q: What about Shorts with music/audio attribution? A: Basic music metadata (when present in description/title) is captured. Advanced music licensing data requires additional APIs and will be added in future versions.
Q: Can I get transcripts/captions for Shorts?
A: Yes! Set includeTranscript: true in your input. Transcripts are extracted via Supadata API. About 60-80% of Shorts have transcripts (auto-generated or manual). This adds 1-2 seconds per Short to processing time.
Q: Do I need YouTube Data API for transcripts? A: No. YouTube Data API v3 requires OAuth and video owner permission for transcripts. We use Supadata API which can access public transcripts without OAuth. Much simpler and works for any public Short.
Q: What languages are supported for transcripts?
A: Supadata API supports all languages that YouTube auto-generates captions for (100+ languages). Use transcriptLanguage parameter to specify your preferred language, or leave empty for auto-detection.
Q: Can I extract comments from Shorts?
A: The commentCount field shows total comments. Individual comment extraction requires additional API calls (YouTube CommentThreads API) - planned for future versions.
Q: Does this work for private/unlisted Shorts? A: No, only public Shorts are accessible via API. Private and unlisted content requires channel owner authorization.
Q: What's the rate limit? A: The Actor handles all rate limiting automatically. It processes approximately 3-5 Shorts per second with built-in quota management. You can run large scraping jobs without worrying about API limits - the Actor manages everything internally.
Q: Can I export data to CSV/Excel? A: Yes! Apify platform supports JSON, CSV, Excel, XML, and RSS exports. You can also integrate with Google Sheets, webhooks, or your own database.
🛠️ Technologies & Architecture
Built with API-first approach for maximum reliability and speed:
- Supadata API: Native Shorts discovery and identification
- YouTube Data API v3: Official metadata extraction
- Node.js 18+: Fast async processing
- Apify SDK: Actor runtime and dataset management
- Crawlee: Request queue and error handling (lightweight, API-only mode)
Why API-First Architecture?
- ✅ No browser automation = no bot detection
- ✅ Predictable costs and performance
- ✅ 100% field reliability (official data sources)
- ✅ Easy to scale (parallel API calls)
- ✅ Zero maintenance for YouTube UI changes
- ✅ Compliant with YouTube Terms of Service
API Quota Management:
- Smart batching (50 Shorts per YouTube API call)
- Concurrent request optimization (10 parallel calls)
- Automatic retry with exponential backoff
- Quota usage tracking and alerts
- Fallback strategies for quota exhaustion
📋 Best Practices
- Start Small: Test with
maxResultsPerSearch: 10before scaling - Keyword Search First: Use broad keywords to discover trending Shorts topics
- Combine Methods: Mix keyword search with channel URLs for comprehensive coverage
- Filter by Date: Use
dateFrom/dateToto focus on recent Shorts - Regional Targeting: Set
regionCodefor geo-specific trend analysis - Use Specific Keywords: Try "cooking tutorial" instead of just "cooking" for better results
- Monitor Quotas: Check Supadata/YouTube API usage to avoid interruptions
- Export Regularly: Save datasets to avoid re-scraping (deduplication by VideoId)
Cost Optimization Tips:
- Use Supadata Pro tier ($9/month) for up to 1,000 credits = ~5M Shorts discovery
- YouTube API free tier covers 10,000 Shorts/day metadata extraction
- Without transcripts: ~$9-29/month for most use cases (10K-100K Shorts/month)
- With transcripts: Add ~$1-10/month depending on volume (1 credit per transcript)
- Enable
includeTranscriptonly when needed to save credits and time
📜 Changelog
v1.0 (Current - Initial Release)
- 🚀 API-First architecture (Supadata + YouTube Data API v3)
- 🎯 Native Shorts detection and filtering
- ✅ 16 complete fields with 100% reliability
- 📝 Optional transcript/caption extraction (60-80% availability)
- 📊 Shorts-specific metadata (duration ≤60s, vertical format)
- 🔍 Multiple discovery methods (keywords, channels, hashtags, direct URLs)
- 🌍 Country and language localization
- 📅 Date range filtering
- 📦 Bulk channel/URL processing
- ⚡ 500-720 Shorts per hour (300-500 with transcripts)
🤝 Compliance
- Intended for legitimate research & business intelligence
- Uses official public APIs (Supadata, YouTube Data API v3)
- Collects only public YouTube Shorts data
- Respects YouTube's Terms of Service and API usage policies
- Complies with Supadata API terms
- Users responsible for compliance with applicable laws (GDPR, CCPA, etc.)
- No scraping: Pure API-based extraction (no browser automation)
💬 Support
- Issues: Report via GitHub Issues or Apify support
- Feature Requests: Open an issue with your use case
- Documentation: Full docs at GitHub repository
- API Keys:
- Supadata: https://supadata.ai (100 free credits to start)
- YouTube Data API: Google Cloud Console
🔗 Related Projects
- YouTube Scraper Fast: General video scraper (all content types)
- YouTube Shorts Scraper Assets: Examples, documentation, and resources
Built with ❤️ for short-form content analysis
Optimized for mobile-first creators, TikTok-style research, and viral trend monitoring
On this page
-
-
- Example 1: Keyword Search (Discover Shorts by Topic)
- Example 2: Extract Shorts from Channels
- Example 3: Direct Shorts URLs
- Example 4: Recent Shorts - Sorted by Popularity
- Example 5: Date Range Filter (October 2025)
- Example 6: Shorts After Specific Date
- Example 7: Shorts Before Specific Date
- Example 8: Extract Shorts with Transcripts
Share Actor:
