# 🎶 Youtube Audio Downloader pro (Video/Shorts) (`alpha-scraper/youtube-audio-downloader-pro-video-shorts`) Actor

🎶 YouTube Audio Downloader Pro (Video/Shorts) extracts YouTube video and Shorts metadata plus downloadable audio links. Select audio languages, return selected or all audio streams, and process multiple URLs with structured output.

- **URL**: https://apify.com/alpha-scraper/youtube-audio-downloader-pro-video-shorts.md
- **Developed by:** [Alpha Scraper](https://apify.com/alpha-scraper) (community)
- **Categories:** Videos, Social media, Other
- **Stats:** 15 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 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 Audio Downloader Pro (Video/Shorts) – Overview

**YouTube Audio Downloader Pro (Video/Shorts)** is an Apify Actor for extracting YouTube video and Shorts metadata together with direct downloadable audio format information. It accepts one or multiple YouTube video URLs, detects available audio streams, and returns structured information that can be used for audio downloading, media workflows, research, archiving, and automation.

The Actor is designed for users who need more than a basic video URL. For each supported YouTube URL, it can return the video title, description, formatted duration, highest-resolution thumbnail URL, a preferred audio stream, and available downloadable audio links.

A major feature is **language-aware audio selection**. You can choose a preferred language such as English, Spanish, French, Hindi, Bengali, Japanese, Korean, Arabic, and other supported options. When a matching language is available, the Actor prioritizes it. If no matching stream is available, it falls back to another suitable audio stream.

You can also choose whether the output should contain only the selected audio stream or all detected audio language variants.

> 💡 **Quick Start**
>
> - Open the Actor in Apify.
> - Add one or more YouTube video or Shorts URLs.
> - Choose an audio language.
> - Decide whether to return one selected audio link or all available audio links.
> - Run the Actor and inspect the structured dataset output.

This makes **YouTube Audio Downloader Pro (Video/Shorts)** useful for both individual extraction tasks and repeatable automated workflows.

### 🔊 YouTube Audio Downloader Pro (Video/Shorts) – Key Features

> ⭐ **Key Features**
>
> - Supports standard YouTube video URLs.
> - Supports YouTube Shorts URLs.
> - Accepts multiple URLs in a single run.
> - Extracts video title and description.
> - Returns formatted video duration.
> - Provides a high-resolution thumbnail URL when available.
> - Detects downloadable audio-only formats.
> - Supports preferred audio language selection.
> - Supports multiple international languages.
> - Returns a selected downloadable audio stream.
> - Can return all detected downloadable audio streams.
> - Includes audio format, extension, bitrate, language, and URL information.
> - Produces structured dataset records for every processed URL.
> - Uses retry handling when extraction encounters a temporary failure.

The Actor focuses specifically on useful, user-facing media information rather than returning an unstructured response. This makes the resulting data easier to process in scripts, workflows, databases, dashboards, and downstream automation.

Because the Actor returns audio stream URLs instead of claiming to provide a finished MP3 file, the output should be understood as **downloadable audio information and links**.

### 📥 YouTube Audio Downloader Pro – What Data You Can Extract

The output combines content metadata and audio stream information in one structured record.

For each successfully processed URL, the Actor can return:

- **url** – The original YouTube URL submitted to the Actor.
- **title** – The title of the YouTube video or Short.
- **description** – The available video description.
- **duration** – The formatted media duration, such as `5:30` or `1:23:45`.
- **thumbnail_url** – The highest-resolution thumbnail URL identified from the available thumbnails.
- **selected_downloadable_audio_link** – The audio stream selected according to the requested language and available quality.
- **downloadable_audio_links** – A list of detected audio-only streams.
- **error** – Returned on failed processing records.

Each item inside `downloadable_audio_links` may include:

| Field       | Description                                              |
| ----------- | -------------------------------------------------------- |
| `format_id` | Identifier of the available audio format                 |
| `ext`       | File/container extension reported for the stream         |
| `format`    | Descriptive format information                           |
| `bitrate`   | Audio bitrate when available                             |
| `language`  | Language associated with the audio stream when available |
| `url`       | Downloadable audio stream URL                            |

> 📦 **Output / Data Fields**
>
> - Video metadata and audio data are returned together.
> - The selected audio record represents the preferred language match.
> - The audio list contains audio-only formats rather than video+audio combinations.
> - When bitrate information is unavailable, the Actor reports it as `Unknown`.
> - Failed URLs still produce an output record containing the original URL and an error field.

This structured format makes the result practical for audio extraction pipelines, media processing, language-specific content workflows, and dataset-based applications.

### ⚙️ YouTube Audio Downloader Pro – How It Works

The Actor processes each URL independently and attempts to extract the public media information associated with that YouTube URL.

The general workflow is:

- Read the URLs supplied through **Start URLs**.
- Read the preferred **Audio Language** selection.
- Identify available audio-only streams.
- Compare available audio streams with the selected language.
- Prefer an exact language match when available.
- If necessary, consider a partial language match.
- If a language match cannot be found, select the best available audio option.
- Select the highest-resolution thumbnail available to the extractor.
- Build a structured result for the processed URL.
- Store the result in the Actor's Apify dataset.

The language matching process is designed to make multilingual YouTube audio extraction easier without requiring you to manually inspect every available stream.

### ▶️ YouTube Audio Downloader Pro – How to Use It

#### 📝 Step 1: Add YouTube URLs

Use the **Start URLs** field to provide one or multiple YouTube video URLs.

Supported examples include standard watch URLs and Shorts URLs.

You can submit several URLs in one Actor run, allowing you to process a group of videos without launching separate jobs for every URL.

#### 🌐 Step 2: Select an Audio Language

The **Audio Language** input controls which audio language the Actor should prefer.

Available choices include:

- Default (Auto Detect/english)
- English
- Spanish
- Portuguese
- French
- German
- Russian
- Chinese
- Japanese
- Korean
- Arabic
- Hindi
- Bengali
- Turkish
- Vietnamese
- Thai
- Indonesian

When a matching audio stream exists, the Actor prioritizes it. When an exact match is unavailable, the Actor can use a compatible partial language match and then fall back to the strongest available audio option.

#### 🎯 Step 3: Choose Audio URL Output

The **allLanguageUrls** option controls how many downloadable audio links appear in the result.

When disabled, the output focuses on the selected audio stream.

When enabled, the output can include all detected downloadable audio streams, including different language or quality variants where they are available.

> 💡 **Important**
>
> - `allLanguageUrls: false` is the configured schema default.
> - `allLanguageUrls: true` returns the available audio-only stream list.
> - The selected audio remains available through `selected_downloadable_audio_link`.
> - Availability depends on the source media and the audio streams exposed for that URL.

#### 🚀 Step 4: Run and Review the Dataset

Start the Actor and review the resulting dataset records in Apify.

Each successful URL produces one structured result. A failed URL also generates an output record so that you can identify which input needs attention.

### 🔍 How to Extract Audio Links from YouTube Videos

The **YouTube Audio Downloader Pro (Video/Shorts)** workflow is useful when your goal is to identify downloadable audio streams rather than manually search for separate audio resources.

After the Actor processes a video, inspect:

- `selected_downloadable_audio_link` for the preferred audio stream.
- `downloadable_audio_links` for other available audio-only streams.
- `language` to identify the language associated with a stream.
- `bitrate` to compare available audio quality information.
- `ext` and `format` to understand the reported audio format.

For multilingual content, selecting the desired language before the run can reduce the amount of manual filtering required after extraction.

### 🎧 Can You Extract Audio from YouTube Shorts?

Yes. The Actor accepts YouTube Shorts URLs through the same **Start URLs** input used for standard YouTube videos.

A Short is processed as a YouTube media URL, and the output can contain the same general fields:

- Title
- Description
- Duration
- Thumbnail URL
- Selected downloadable audio link
- Downloadable audio links

This means you can use the same workflow for both long-form videos and Shorts without maintaining separate input structures.

### 🌍 Can You Extract Audio in Different Languages?

Yes. **YouTube Audio Downloader Pro (Video/Shorts)** provides language selection for several commonly used languages.

The Actor can search available audio streams for the selected language and prioritize a matching stream where possible. This is particularly useful for multilingual channels, translated videos, educational content, interviews, documentaries, and international media.

Supported language selections include English, Spanish, Portuguese, French, German, Russian, Chinese, Japanese, Korean, Arabic, Hindi, Bengali, Turkish, Vietnamese, Thai, and Indonesian.

Keep in mind that selecting a language does not create a new translation. The requested language must already be available among the source video's audio streams.

### 💼 YouTube Audio Downloader Pro – Use Cases

> 🎯 **Use Cases**
>
> - Extract downloadable audio stream information from YouTube videos.
> - Process YouTube Shorts alongside standard videos.
> - Identify audio tracks in a preferred language.
> - Build multilingual media datasets.
> - Collect video metadata with audio stream details.
> - Prepare YouTube media information for downstream processing.
> - Research available audio versions of multilingual content.
> - Build internal content organization workflows.
> - Create structured records for video and audio analysis.
> - Process multiple YouTube URLs in a single run.

For creators and media teams, the Actor can help organize audio-related information across a collection of YouTube URLs.

For researchers, it provides structured metadata alongside available audio streams, making it easier to compare content, duration, language, and audio format information.

For automation workflows, the Apify dataset output provides a consistent machine-readable result instead of requiring manual copying from individual YouTube pages.

### 🧾 Input – YouTube Audio Downloader Pro

The Actor has three configurable input properties.

| Input             | Type    | Purpose                                                         |
| ----------------- | ------- | --------------------------------------------------------------- |
| `startUrls`       | Array   | One or multiple YouTube video or Shorts URLs                    |
| `audioLanguage`   | Select  | Preferred audio language                                        |
| `allLanguageUrls` | Boolean | Return all detected audio links or focus on the selected stream |

#### `startUrls`

Provide one or more YouTube URLs.

This is the required input field and is the main source list for the Actor.

#### `audioLanguage`

Select the preferred language for audio extraction.

The default configured option is **Default (Auto Detect/english)**.

#### `allLanguageUrls`

Choose whether the output should include all detected downloadable audio streams.

The schema default is `false`, so the normal configured behavior is to focus the audio output on the selected stream.

> 📥 **Input Example**
>
> ```json
> {
>   "startUrls": [
>     {
>       "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc"
>     },
>     {
>       "url": "https://www.youtube.com/shorts/zxuICI0kL3s"
>     }
>   ],
>   "audioLanguage": "English",
>   "allLanguageUrls": false
> }
> ```

This format is suitable for processing multiple source URLs in one execution.

### 📤 Output – YouTube Audio Downloader Pro

A successful result follows a structured format similar to the example below:

```json
{
  "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc",
  "title": "Example YouTube Video",
  "description": "Example video description.",
  "duration": "5:30",
  "thumbnail_url": "https://example.com/thumbnail.jpg",
  "selected_downloadable_audio_link": {
    "format_id": "140",
    "ext": "m4a",
    "format": "audio only",
    "bitrate": "128 kbps",
    "language": "en",
    "url": "https://example.com/audio"
  },
  "downloadable_audio_links": [
    {
      "format_id": "140",
      "ext": "m4a",
      "format": "audio only",
      "bitrate": "128 kbps",
      "language": "en",
      "url": "https://example.com/audio"
    }
  ]
}
```

The exact values depend on the YouTube source and the audio formats available when the Actor processes the URL.

> 📊 **Output Notes**
>
> - Audio URLs are returned as stream links.
> - The Actor does not claim to convert audio into a specific file format such as MP3.
> - Available bitrate and language metadata depends on the source.
> - The thumbnail URL points to the highest-resolution thumbnail identified by the extractor.
> - Failed processing records contain the original URL plus an error field.

### 💰 Pricing

The supplied Actor configuration does not define a public fixed numeric price for runs, so this README does not invent a price.

> 💳 **Pricing Information**
>
> - No fixed public price is specified in the provided Actor files.
> - Your actual run cost can depend on your Apify account, platform usage, and execution conditions.
> - Check the Actor's current Apify Store pricing information before running larger batches.

This keeps pricing information accurate without exposing internal billing configuration.

### 💡 Tips and Best Practices

> 🛠️ **Tips / Important Notes**
>
> - Use direct YouTube video or Shorts URLs in `startUrls`.
> - Select a specific language when multilingual audio is important to your workflow.
> - Keep `allLanguageUrls` disabled when you only need the preferred audio result.
> - Enable `allLanguageUrls` when you want to inspect every detected audio option.
> - Review `language` and `bitrate` when choosing among multiple audio streams.
> - Process multiple URLs together when building a larger dataset.
> - Remember that audio availability depends on the individual YouTube source.
> - Treat returned audio URLs as downloadable stream references rather than permanent file storage.

For batch processing, using consistent language settings can make your dataset easier to filter and compare later.

It is also useful to inspect a small run before processing a large list. Different YouTube videos can expose different audio languages, formats, and bitrate information.

### ❓ Frequently Asked Questions

#### What is YouTube Audio Downloader Pro (Video/Shorts)?

**YouTube Audio Downloader Pro (Video/Shorts)** is an Apify Actor that extracts YouTube video metadata and downloadable audio stream information from video and Shorts URLs.

#### Does YouTube Audio Downloader Pro support YouTube Shorts?

Yes. YouTube Shorts URLs can be submitted through the same `startUrls` input used for standard YouTube videos.

#### What audio data does the Actor return?

The Actor can return the selected downloadable audio stream and a list of available audio-only streams, including format information, extension, bitrate, language, and stream URL.

#### Can I select English, Hindi, Bengali, or other languages?

Yes. The Actor provides a language selector with multiple supported language choices, including English, Hindi, Bengali, Spanish, French, German, Arabic, Japanese, Korean, and others.

#### What happens when the selected language is unavailable?

The Actor first looks for an exact language match, then considers a compatible partial match. If a suitable match still cannot be found, it falls back to an available high-quality audio option.

#### Can I return every available audio language?

Yes. Enable `allLanguageUrls` to return all detected downloadable audio-only streams instead of limiting the list to the selected stream.

#### Does the Actor download an MP3 file automatically?

The Actor returns downloadable audio stream information and URLs. It does not claim to convert those streams into a specific MP3 output file.

#### Can I process multiple YouTube URLs?

Yes. The `startUrls` field accepts an array, so multiple YouTube video and Shorts URLs can be processed in one Actor run.

#### What output format does the Actor use?

The Actor pushes structured records into an Apify dataset. The records contain metadata fields and downloadable audio information in a machine-readable structure.

#### Why is an audio URL missing for a video?

Audio stream availability depends on the individual source. A particular video may not expose the expected language or audio format, and unsuccessful processing is reported through the output record's error information.

#### Can the Actor return video metadata too?

Yes. In addition to audio stream information, the output includes the original URL, title, description, duration, and thumbnail URL.

### 🤝 Support

For questions, issues, suggestions, or help with using **YouTube Audio Downloader Pro (Video/Shorts)**, please contact me directly.

- contact me by email : <alphascraper69@gmail.com>

# Actor input Schema

## `audioLanguage` (type: `string`):

Select the preferred language for audio download. If not available, it will default to the original audio.

## `startUrls` (type: `array`):

Provide one or multiple youtube video URLs

## `allLanguageUrls` (type: `boolean`):

If enabled, returns all language URLs. If disabled, returns only selected language URL.

## Actor input object example

```json
{
  "audioLanguage": "Default (Auto Detect/english)",
  "startUrls": [
    {
      "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc"
    },
    {
      "url": "https://youtu.be/IWDUPZuktK4?si=ANsEHHqDxw6u_OAA"
    },
    {
      "url": "https://www.youtube.com/shorts/zxuICI0kL3s"
    },
    {
      "url": "https://youtube.com/shorts/SE9xF1l3ZwE?si=T9Q6q9mNbCHAOQJA"
    }
  ],
  "allLanguageUrls": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc"
        },
        {
            "url": "https://youtu.be/IWDUPZuktK4?si=ANsEHHqDxw6u_OAA"
        },
        {
            "url": "https://www.youtube.com/shorts/zxuICI0kL3s"
        },
        {
            "url": "https://youtube.com/shorts/SE9xF1l3ZwE?si=T9Q6q9mNbCHAOQJA"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("alpha-scraper/youtube-audio-downloader-pro-video-shorts").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 = { "startUrls": [
        { "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc" },
        { "url": "https://youtu.be/IWDUPZuktK4?si=ANsEHHqDxw6u_OAA" },
        { "url": "https://www.youtube.com/shorts/zxuICI0kL3s" },
        { "url": "https://youtube.com/shorts/SE9xF1l3ZwE?si=T9Q6q9mNbCHAOQJA" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("alpha-scraper/youtube-audio-downloader-pro-video-shorts").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 '{
  "startUrls": [
    {
      "url": "https://www.youtube.com/watch?v=Z4hVGCWH1Kc"
    },
    {
      "url": "https://youtu.be/IWDUPZuktK4?si=ANsEHHqDxw6u_OAA"
    },
    {
      "url": "https://www.youtube.com/shorts/zxuICI0kL3s"
    },
    {
      "url": "https://youtube.com/shorts/SE9xF1l3ZwE?si=T9Q6q9mNbCHAOQJA"
    }
  ]
}' |
apify call alpha-scraper/youtube-audio-downloader-pro-video-shorts --silent --output-dataset

```

## MCP server setup

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

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/lTUPL4gmLTDNXBeWw/builds/lLfJqJfwt8RqaafAF/openapi.json
