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

Easily and perfectly extract/download YouTube Shorts and YouTube-kids Shorts with multiple video qualities up to 1080p, separate high-bitrate audio streams, and complete metadata including title, channel, and thumbnails.🚀YouTube Shorts Downloader.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-usage

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## YouTube Shorts Downloader - Professional Short Video Extraction Tool

**🚀 Effortlessly download YouTube Shorts videos with our enterprise-grade powerful actor! This YouTube Shorts Downloader enables you to extract Shorts content while preserving high video quality, comprehensive metadata, and multiple format options.**

***

### 📖 Overview

Need to archive YouTube Shorts content or repurpose vertical videos? This **YouTube Shorts Downloader** delivers:

- **Multiple Resolutions**: 1080p, 854p, 640p, 426p, 256p quality options
- **Dual Formats**: MP4 and WebM container support
- **Separate Audio Tracks**: M4A and WebM audio streams
- **Full Metadata**: Titles, channels, view counts, descriptions
- **Batch Processing**: Handle multiple Shorts URLs efficiently

Perfect for content creators 🎬, social media managers 📱, and digital marketers 📈!

### ⚡ Core Capabilities/Key Features

#### 🎥 Media Options

- **Multiple Resolutions**: From 1080p HD to 256p mobile-friendly
- **Dual Container Formats**: MP4 + WebM support
- **Separate Audio**: Dedicated audio-only streams
- **Quality Selection**: Auto-detection of all available formats
- **Thumbnail Extraction**: High-quality preview images

#### 📊 Metadata Mastery

- **Channel Analytics**: Creator names and subscriber counts
- **Performance Metrics**: View counts and engagement data
- **Content Classification**: Video categories and descriptions
- **Duration Tracking**: Precise video length in seconds

#### 🔧 Advanced Tech

- **Format Detection**: Automatic quality tier identification
- **Audio Separation**: Multiple audio format options
- **Size Optimization**: File size information for each quality
- **Stream Access**: Direct video and audio stream URLs

***

### ⌨️ 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 Downloader** accepts URLs like this:

```json
{
  "video_urls": [
    {
      "url": "https://www.youtube.com/shorts/T7aHPPNrHXs"
    }
  ]
}
```

#### 📋 Input Specifications

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

***

### 📤 Output Structure

This **YouTube Shorts Downloader** provides comprehensive output like this:

```json
[
  {
    "original_url": "https://www.youtube.com/shorts/T7aHPPNrHXs",
    "title": "Why is Africa so Poor? #geopolitics",
    "channel": "The Parallel Truth",
    "duration": "52s",
    "thumbnail": "https://i.ytimg.com/vi/T7aHPPNrHXs/sd2.jpg",
    "view_count": "38.1K",
    "categories": ["Education"],
    "description": "Comprehensive video description...",
    "availability": "public",
    "live_status": "not_live",
    "channel_subscribers": "86.2K",
    "qualities": [
      {
        "resolution": "1080p",
        "format": "webm",
        "video_link": "https://.../videoplayback...",
        "has_audio": false,
        "video_size": "2.34MB",
        "audio_links": [...]
      }
    ],
    "all_audio_formats": [...]
  }
]
```

#### 📊 Output Field Documentation

**📝 Metadata Section**
| Field | Description |
|-------|-------------|
| `title` | YouTube Shorts video title |
| `channel` | Content creator's channel name |
| `duration` | Video length in seconds format |
| `view_count` | Number of views with formatting |
| `categories` | Video content categories |
| `channel_subscribers` | Channel subscriber count |

**🎬 Media Assets**
| Field | Description |
|-------|-------------|
| `thumbnail` | High-quality preview image URL |
| `qualities` | Array of available video qualities |
| `all_audio_formats` | Available audio-only streams |

**🎯 Quality Options**
| Field | Description |
|-------|-------------|
| `resolution` | Video resolution (1080p, 854p, etc.) |
| `format` | Container format (mp4, webm) |
| `video_link` | Direct video download URL |
| `has_audio` | Boolean for integrated audio |
| `video_size` | File size with formatting |
| `audio_links` | Separate audio stream options |

***

### 💎 Quality Tiers Available

This **YouTube Shorts 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
4. **Audio Formats** - M4A and WebM audio streams

Each quality tier includes technical specifications for professional editing workflows using our **YouTube Shorts Downloader**.

***

### 🔬 Technical Features

#### 🛠️ Advanced Format Support

- Multiple video resolution extraction
- Dual container format support (MP4/WebM)
- Separate audio stream access
- File size optimization

#### 📈 Metadata Extraction

- Comprehensive channel analytics
- View count and performance metrics
- Content categorization
- Detailed description preservation

#### 🛡️ Reliability Features

- Direct YouTube stream access
- Multiple quality fallback options
- Comprehensive error handling
- URL validation and normalization

***

### 💼 Use Cases

- **Content Creators** – Archive and repurpose Shorts content
- **Social Media Managers** – Curate vertical video content
- **Researchers** – Study Shorts virality patterns
- **Marketers** – Analyze competitor Shorts strategies
- **App Developers** – Build Shorts-powered applications

***

#### 🌟 Why Choose Our YouTube Shorts Downloader?

- **Reliable Performance**: Stable and efficient downloading 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 you need in one place
- **Multiple Formats**: Support for various video and audio formats

#### ⚠️ Limitations

- Only works with public YouTube Shorts
- The actor may hit rate limits depending on YouTube's restrictions
- Requires valid Shorts URLs in proper format

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

Explore our full scraping suite for enhanced content extraction:

#### 🎥 YouTube Scrapers:

- [YouTube Video Scraper](https://apify.com/codenest/youtube-video-scraper)
- [YouTube Video Transcript Scraper](https://apify.com/codenest/youtube-video-transcript-scraper)
- [YouTube Video Extractor](https://apify.com/codenest/youtube-video-extractor)
- [YouTube Downloader](https://apify.com/codenest/youtube-downloader)
- [YouTube Shorts Scraper & Downloader](https://apify.com/codenest/youtube-shorts-scraper-downloader)
- [YouTube Thumbnail Scraper & Downloader](https://apify.com/codenest/youtube-thumbnail-scraper-downloader)

***

### 📧 Need Customization?

Want \*higher resolutions, \*\*batch downloads, or \**metadata enhancements* for our **YouTube Shorts Downloader**?

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

***

*This **YouTube Shorts Downloader** is designed specifically for vertical short video content extraction from YouTube's Shorts platform, providing professional-grade downloading capabilities for all your Shorts content needs.*

# 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-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-downloader").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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-downloader --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,codenest/youtube-shorts-downloader"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aCMNBOJ5avFeQfANq/builds/6qlXFlpgTNlvj3Ixv/openapi.json
