Back to Blog
General

YouTube Shorts Scraper API: Extract Shorts from Any Channel

February 13, 2026
4 min read
S
By SociaVault Team
youtubeshortsapishort-form video

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

EndpointDescription
Channel ShortsGet Shorts from a specific channel
Trending ShortsDiscover trending Shorts

Get Channel Shorts

const response = await fetch(
  'https://api.sociavault.com/v1/scrape/youtube/channel/shorts?handle=MrBeast&sort=newest',
  {
    headers: {
      'x-api-key': 'YOUR_API_KEY'
    }
  }
);

const shorts = await response.json();

Parameters

ParameterRequiredDescription
handleOne of handle/channelIdChannel handle (e.g. MrBeast)
channelIdOne of handle/channelIdChannel ID
sortNonewest (default) or popular
continuationTokenNoToken from previous response for pagination

Sample Response

Shorts are returned as an object with numeric keys. Use Object.values() to iterate.

{
  "success": true,
  "data": {
    "shorts": {
      "0": {
        "type": "short",
        "id": "abc123xyz",
        "url": "https://www.youtube.com/watch?v=abc123xyz",
        "title": "Would you do this for $1000? 💰",
        "viewCountText": "45M views",
        "viewCountInt": 45000000,
        "commentCountText": "15K",
        "commentCountInt": 15000,
        "likeCountInt": 2100000,
        "likeCountText": "2.1M",
        "description": "...",
        "publishDate": "2026-01-08T16:00:00Z",
        "genre": "Entertainment"
      }
    },
    "continuationToken": "4qmFsgK..."
  },
  "credits_used": 1
}

Discover currently trending YouTube Shorts (~48 results, no parameters needed):

const response = await fetch(
  'https://api.sociavault.com/v1/scrape/youtube/shorts/trending',
  {
    headers: {
      'x-api-key': 'YOUR_API_KEY'
    }
  }
);

const trending = await response.json();

Trending shorts include additional fields like channel, durationMs, durationFormatted, and captionTracks.

Use Cases

Compare Shorts vs Long-Form

Analyze which format performs better:

async function compareFormats(handle) {
  const videosRes = await fetch(
    `https://api.sociavault.com/v1/scrape/youtube/channel-videos?handle=${handle}`,
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );
  const shortsRes = await fetch(
    `https://api.sociavault.com/v1/scrape/youtube/channel/shorts?handle=${handle}`,
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );

  const videos = Object.values((await videosRes.json()).data.videos);
  const shorts = Object.values((await shortsRes.json()).data.shorts);

  const videoAvg = videos.reduce((s, v) => s + v.viewCountInt, 0) / videos.length;
  const shortsAvg = shorts.reduce((s, v) => s + v.viewCountInt, 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:

async function trackFrequency(handle) {
  const res = await fetch(
    `https://api.sociavault.com/v1/scrape/youtube/channel/shorts?handle=${handle}&sort=newest`,
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );
  const shorts = Object.values((await res.json()).data.shorts);

  const shortsByWeek = {};
  shorts.forEach(short => {
    const week = getWeekNumber(new Date(short.publishDate));
    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:

async function findViralShorts(handle) {
  const res = await fetch(
    `https://api.sociavault.com/v1/scrape/youtube/channel/shorts?handle=${handle}`,
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );
  const shorts = Object.values((await res.json()).data.shorts);

  const avgViews = shorts.reduce((s, v) => s + v.viewCountInt, 0) / shorts.length;
  const viralShorts = shorts.filter(s => s.viewCountInt > avgViews * 3);

  console.log(`Viral Shorts (3x+ average): ${viralShorts.length}`);
  viralShorts.forEach(s => {
    console.log(`- ${s.title}: ${s.viewCountInt.toLocaleString()} views`);
  });
}

Monitor what's trending:

async function checkTrending() {
  const res = await fetch(
    'https://api.sociavault.com/v1/scrape/youtube/shorts/trending',
    { headers: { 'x-api-key': 'YOUR_API_KEY' } }
  );
  const shorts = Object.values((await res.json()).data.shorts);
  
  // 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);
}

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 Channel Shorts endpoint (/v1/scrape/youtube/channel/shorts) only returns Shorts content. Each item has "type": "short". The Videos endpoint returns regular uploads only.

Can I get Shorts from any channel?

Yes, any public channel's Shorts are accessible.

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.