YouTube Shorts Scraper API: Analyze Short-Form Video Content
YouTube Shorts compete directly with TikTok and Instagram Reels. This guide shows you how to extract Shorts data for content analysis and competitive research.
Why Track YouTube Shorts?
- Format Analysis - Compare Shorts vs long-form performance
- Trend Detection - Spot viral Shorts early
- Competitor Research - Analyze rival Shorts strategy
- Content Repurposing - Track cross-posted content
- Growth Tracking - Monitor Shorts channel growth
Shorts API Endpoints
| Endpoint | Description |
|---|---|
| Channel Shorts | Get Shorts from a channel |
| Simple Shorts | Auto-paginated Shorts retrieval |
| Trending Shorts | Discover trending Shorts |
Get Channel Shorts
const response = await fetch('https://api.sociavault.com/youtube/channel/shorts', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
handle: 'MrBeast'
})
});
const shorts = await response.json();
Sample Response
{
"shorts": [
{
"id": "abc123xyz",
"title": "Would you do this for $1000? 💰",
"views": 45000000,
"likes": 2100000,
"comments": 15000,
"duration": 58,
"publishedAt": "2026-01-08T16:00:00Z",
"thumbnail": "https://..."
}
],
"hasMore": true,
"cursor": "next_page"
}
Simple Shorts Endpoint
For easier pagination, use the Simple Shorts endpoint:
const response = await fetch('https://api.sociavault.com/youtube/channel/shorts/simple', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
handle: 'MrBeast',
amount: 50 // Get 50 Shorts automatically
})
});
Trending Shorts
Discover currently trending YouTube Shorts:
const response = await fetch('https://api.sociavault.com/youtube/shorts/trending', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
});
const trending = await response.json();
Use Cases
Compare Shorts vs Long-Form
Analyze which format performs better:
const videos = await getChannelVideos(handle);
const shorts = await getChannelShorts(handle);
const videoAvg = videos.reduce((s, v) => s + v.views, 0) / videos.length;
const shortsAvg = shorts.reduce((s, v) => s + v.views, 0) / shorts.length;
console.log(`Long-form average: ${videoAvg.toLocaleString()} views`);
console.log(`Shorts average: ${shortsAvg.toLocaleString()} views`);
console.log(`Shorts perform ${(shortsAvg / videoAvg * 100).toFixed(0)}% compared to long-form`);
Track Shorts Posting Frequency
Analyze upload patterns:
const shorts = await getChannelShorts(handle);
const shortsByWeek = {};
shorts.forEach(short => {
const week = getWeekNumber(new Date(short.publishedAt));
shortsByWeek[week] = (shortsByWeek[week] || 0) + 1;
});
const avgPerWeek = shorts.length / Object.keys(shortsByWeek).length;
console.log(`Average Shorts per week: ${avgPerWeek.toFixed(1)}`);
Find Viral Shorts
Identify outlier performers:
const shorts = await getChannelShorts(handle);
const avgViews = shorts.reduce((s, v) => s + v.views, 0) / shorts.length;
const viralShorts = shorts.filter(s => s.views > avgViews * 3);
console.log(`Viral Shorts (3x+ average): ${viralShorts.length}`);
viralShorts.forEach(s => {
console.log(`- ${s.title}: ${s.views.toLocaleString()} views`);
});
Trending Analysis
Monitor what's trending:
async function checkTrending() {
const { shorts } = await getTrendingShorts();
// Analyze common themes
const titleWords = shorts
.flatMap(s => s.title.toLowerCase().split(/\s+/))
.filter(w => w.length > 3);
const wordCounts = {};
titleWords.forEach(word => {
wordCounts[word] = (wordCounts[word] || 0) + 1;
});
const trending = Object.entries(wordCounts)
.sort((a, b) => b[1] - a[1])
.slice(0, 10);
console.log('Trending topics:', trending);
}
Related Endpoints
- YouTube Channel Scraper - Channel info
- YouTube Videos Scraper - Long-form videos
- YouTube Video Details - Single video info
- TikTok Videos Scraper - Compare with TikTok
Frequently Asked Questions
What's the maximum Shorts duration?
YouTube Shorts are limited to 60 seconds. Content over 60 seconds appears in regular videos.
How do I distinguish Shorts from regular videos?
The Shorts endpoint only returns Shorts content. The Videos endpoint returns all videos including Shorts.
Can I get Shorts from any channel?
Yes, any public channel's Shorts are accessible.
How often does the trending list update?
Trending Shorts are refreshed continuously, reflecting real-time popularity.
Are view counts accurate?
Yes, view counts are fetched in real-time from YouTube.
Get Started
Sign up free and start analyzing YouTube Shorts.
Documentation: /docs/api-reference/youtube/channel-shorts
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.