# YouTube Shorts Scraper & Downloader (`codenest/youtube-shorts-scraper-downloader`) Actor

Extract high-quality YouTube Shorts & YouTube-kids Shorts with complete metadata, multiple resolution options up to 1080p, separate audio streams, engagement analytics, channel verification status, and direct CDN download links for professional media workflows. ❤️YouTube Shorts Scraper & Downloader.

- **URL**: https://apify.com/codenest/youtube-shorts-scraper-downloader.md
- **Developed by:** [CodeNest](https://apify.com/codenest) (community)
- **Categories:** Videos, Developer tools, Automation
- **Stats:** 8 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## YouTube Shorts Scraper & Downloader - Professional Video Extraction Tool

**Effortlessly scrape and download YouTube Shorts with our enterprise-grade powerful actor! This YouTube Shorts Scraper & Downloader enables you to extract high-quality videos, comprehensive metadata, and multiple format options for professional content archiving.**

***

### 🎯 Overview

Need to archive YouTube Shorts content or analyze viral trends? This **YouTube Shorts Scraper & Downloader** delivers:

- **Multiple Quality Options**: 1080p, 854p, 640p, and more
- **Dual Audio Formats**: WebM and M4A audio streams
- **Full Metadata**: Views, likes, comments, dates, and channel info
- **Batch Processing**: Handle multiple URLs simultaneously

Perfect for content creators 🎬, marketers 📈, researchers 🔍, and app developers 📱!

### ⚡ Core Capabilities/Key Features

#### 🎥 Media Options

- **Multiple Resolutions**: 1080p, 854p, 640p, 426p, 256p
- **Dual Formats**: MP4 and WebM video containers
- **Separate Audio**: WebM and M4A audio streams
- **High-Quality Thumbnails**: Maximum resolution preview images

#### 📊 Metadata Mastery

- **Complete Analytics**: View counts, like counts, comment statistics
- **Channel Information**: Creator names, verification status, usernames
- **Timeline Data**: Precise upload dates and durations
- **Content Classification**: Video categories and restrictions

#### 🔧 Advanced Tech

- **Quality Selection**: Auto-detection of available resolutions
- **Format Flexibility**: Multiple container format options
- **Audio Separation**: Dedicated audio stream extraction
- **Bulk Processing**: Efficient multi-URL handling

***

### 📥 Input Configuration

Just enter the YouTube Shorts URLs in the Input Section then click the "start" button and wait for the results. This **YouTube Shorts Scraper & Downloader** accepts URLs in the following format:

```json
{
  "video_urls": [
    {
      "url": "https://www.youtube.com/shorts/JzNF2inGK6Y",
      "method": "GET"
    }
  ]
}
```

#### 📋 Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video_urls` | Array | Yes | YouTube Shorts URLs to process |
| `url` | String | Yes | Valid YouTube Shorts URL (shorts/ format) |
| `method` | String | Yes | HTTP method (GET recommended) |

***

### 📤 Output Structure

This **YouTube Shorts Scraper & Downloader** provides comprehensive output:

```json
[
  {
    "title": "\"Dua Ki Rate hain🤲🏻🤲♥️#shortvideo #viralshorts #cute",
    "type": "shorts",
    "id": "JzNF2inGK6Y",
    "url": "https://www.youtube.com/shorts/JzNF2inGK6Y",
    "thumbnailUrl": "https://i.ytimg.com/vi/JzNF2inGK6Y/maxresdefault.jpg",
    "viewCount": 4613136,
    "date": "2025-07-23T00:00:00.000Z",
    "likes": 61081,
    "channelName": "Sonar Madina",
    "channelUsername": "Sonar Madina",
    "isChannelVerified": false,
    "isAgeRestricted": false,
    "duration": "24s",
    "commentsCount": 180,
    "order": 0,
    "commentsTurnedOff": false,
    "fromYTUrl": "https://www.youtube.com/@Sonar Madina/shorts",
    "isMembersOnly": false,
    "input": "https://www.youtube.com/shorts/JzNF2inGK6Y",
    "fromChannelListPage": "shorts",
    "audioUrlWebm": "https://rr1---sn-a5mlrnll.googlevideo.com/...",
    "audioUrlM4a": "https://rr1---sn-a5mlrnll.googlevideo.com/...",
    "qualities": [
      {
        "resolution": "1080p",
        "format": "webm",
        "video_link": "https://rr1---sn-a5mlrnll.googlevideo.com/...",
        "has_audio": false,
        "explanation": "Resolution: 1080p, Format: webm, No audio in video, see audio_link"
      }
    ],
    "categories": [
      "People & Blogs"
    ]
  }
]
```

#### 📊 Output Field Documentation

**📈 Metadata Section**
| Field | Description |
|-------|-------------|
| `title` | Complete video title with emojis and hashtags |
| `type` | Content type (always "shorts") |
| `id` | Unique YouTube video identifier |
| `viewCount` | Total view count as integer |
| `date` | Upload timestamp in ISO format |
| `likes` | Number of likes received |
| `channelName` | Creator's channel name |
| `duration` | Video length in seconds format |

**🔗 Content Information**
| Field | Description |
|-------|-------------|
| `thumbnailUrl` | High-quality thumbnail image URL |
| `commentsCount` | Number of comments available |
| `isChannelVerified` | Channel verification status |
| `isAgeRestricted` | Age restriction flag |
| `categories` | Content categorization |

**🎵 Media Assets**
| Field | Description |
|-------|-------------|
| `audioUrlWebm` | WebM format audio stream URL |
| `audioUrlM4a` | M4A format audio stream URL |
| `qualities` | Array of available video quality options |

**🎬 Quality Options**
| Field | Description |
|-------|-------------|
| `resolution` | Video resolution (1080p, 854p, etc.) |
| `format` | Container format (mp4, webm) |
| `video_link` | Direct video download URL |
| `has_audio` | Audio inclusion flag |
| `explanation` | Format description and notes |

***

### 💎 Quality Tiers Available

This **YouTube Shorts Scraper & Downloader** automatically detects and provides multiple quality options:

1. **High Definition** - 1080p with advanced codec support
2. **Standard Definition** - 854p and 640p resolutions
3. **Mobile Optimized** - 426p and 256p for bandwidth conservation

Each quality tier includes technical specifications for professional editing workflows.

***

### 🔬 Technical Features

#### 🛠 Advanced Format Support

- Multiple video resolution extraction
- Dual audio format availability (WebM/M4A)
- Separate audio/video stream access
- Container format detection and selection

#### 📈 Metadata Extraction

- Comprehensive engagement metrics
- Precise timeline and duration data
- Channel verification and restriction flags
- Content categorization and classification

#### 🚀 Reliability Features

- Direct CDN access for maximum reliability
- Multiple quality fallback options
- Comprehensive error handling
- URL validation and normalization

***

### 💼 Use Cases

- **Content Creators** – Archive and analyze Shorts performance
- **Social Media Managers** – Repurpose viral content
- **Researchers** – Study engagement patterns and trends
- **App Developers** – Build Shorts-powered applications
- **Marketers** – Track competitor content strategies
- **Data Analysts** – Analyze viral content characteristics

This **YouTube Shorts Scraper & Downloader** is your ultimate solution for professional YouTube Shorts extraction and analysis.

***

#### ❓ Why Choose Our YouTube Shorts Scraper & Downloader?

- **Reliable Performance**: Stable and efficient scraping process
- **User-Friendly**: Simple interface for both beginners and advanced users
- **Regular Updates**: Maintained to ensure compatibility with YouTube changes
- **Comprehensive Data**: Get all metadata and media options in one place

***

#### ⚠️ Limitations

- Only works with public YouTube Shorts content
- The actor may hit rate limits depending on YouTube's restrictions
- Audio and video streams may be separate for higher qualities

### 🔗🛠 Related Actors (Full Content Scraping Suite)

Explore our full scraping suite for enhanced social media scraping:

#### 📸 Instagram Scrapers:

- [Instagram Reels Downloader](https://apify.com/codenest/instagram-reels-downloader)
- [Instagram Video Downloader](https://apify.com/codenest/instagram-video-downloader)

#### 🎵 Facebook Scrapers:

- [Facebook Video Downloader](https://apify.com/codenest/facebook-video-downloader)
- [Facebook Reels Downloader](https://apify.com/codenest/facebook-reels-downloader)

***

### 📧 Need Customization?

Want \*higher resolutions, \*\*batch processing enhancements, or \**additional metadata fields*?

✉ Email *<codenest2.0@gmail.com>* for tailored solutions!

***

# Actor input Schema

## `video_urls` (type: `array`):

List of YouTube Shorts, or Kids URLs.

## Actor input object example

```json
{
  "video_urls": [
    {
      "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
    },
    {
      "url": "https://youtube.com/shorts/5GlgIRLQ96g"
    },
    {
      "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
    }
  ]
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "video_urls": [
        {
            "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
        },
        {
            "url": "https://youtube.com/shorts/5GlgIRLQ96g"
        },
        {
            "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("codenest/youtube-shorts-scraper-downloader").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "video_urls": [
        { "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs" },
        { "url": "https://youtube.com/shorts/5GlgIRLQ96g" },
        { "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("codenest/youtube-shorts-scraper-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "video_urls": [
    {
      "url": "https://www.youtube.com/watch?v=cmGo8hM_nhs"
    },
    {
      "url": "https://youtube.com/shorts/5GlgIRLQ96g"
    },
    {
      "url": "https://www.youtubekids.com/watch?v=k85mRPqvMbE"
    }
  ]
}' |
apify call codenest/youtube-shorts-scraper-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=codenest/youtube-shorts-scraper-downloader",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/dGxHiMFlIF0wwsgUd/builds/F9LXZ6zKXXkKoEbkg/openapi.json
