# Spotify Music MP3 Scraper (`kingscraper/spotify-music-mp3-scraper`) Actor

Audio in multiple formats🎧(M4A/WebM, 48–139 kbps)🎵All thumbnail resolutions🖼️(120x90 to 1920x1080)📸Plus metadata📊including titles📝channel info👤statistics👀👍💬(views/likes/comments),tags 🏷️,and descriptions📄
Perfect for content analysis 📈, audio extraction 🎶, and thumbnail archiving 📦✨

- **URL**: https://apify.com/kingscraper/spotify-music-mp3-scraper.md
- **Developed by:** [King Scraper](https://apify.com/kingscraper) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 successful video scrapes

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Mp3/Thumbnail & Audio Scraper - Ultimate Media Extraction Tool

**Effortlessly extract high-quality audio, stunning thumbnails, and comprehensive metadata from any YouTube video with our powerful **YouTube Mp3/Thumbnail & Audio Scraper**! This Apify actor enables you to batch process multiple videos while preserving multiple audio formats, subtitle tracks, and complete video statistics.**

---

### 📌 Overview

Need to build a music library, create content for podcasts, or analyze YouTube trends? This **YouTube Mp3/Thumbnail & Audio Scraper** delivers:

- 🎧 **Multiple Audio Formats**: MP4 (M4A), WebM with variable bitrates (low to high quality)
- 🖼️ **Complete Thumbnail Sets**: From 120x90 default to 1920x1080 maxres images
- 📊 **Rich Metadata**: Titles, uploaders, channel info, statistics, and descriptions
- 📝 **Video Information**: Categories, tags, age restrictions, live stream detection
- 🔄 **Batch Processing**: Handle 100+ URLs per run efficiently
- 📜 **Subtitle Support**: Auto-include available subtitle tracks

Perfect for podcasters 🎙️, music producers 🎹, content researchers 📊, and app developers 📱!

---

### ⚡ Core Capabilities

#### 🎶 Audio Extraction Excellence
- **Best Quality Selection**: Automatic detection of optimal audio stream (WebM, up to 139 kbps)
- **Multiple Formats**: Access to all available audio formats including:
  - WebM (low, medium quality)
  - M4A (low, medium quality)
- **Audio Bitrates**: From 48 kbps to 139 kbps for flexible storage needs
- **File Size Display**: Clear MB/GB sizing for download management
- **Duration Formatting**: Both raw seconds and human-readable time formats

#### 🖼️ Thumbnail Mastery
- **Complete Resolution Range**:
  - Default (120x90) - Quick preview
  - MQ (320x180) - Standard quality
  - HQ (480x360) - High quality
  - SD (640x480) - Standard definition
  - Maxres (1920x1080) - Full HD
- **Multiple Variants**: Different crop and size options for every use case
- **Direct CDN URLs**: Unrestricted access to YouTube's image servers

#### 📊 Data Enrichment
- **Channel Intelligence**:
  - Channel name and ID
  - Uploader username and @handle
  - Direct channel/profile URLs
- **Video Statistics**:
  - View counts with real-time accuracy
  - Like counts for engagement metrics
  - Comment counts for community activity
- **Content Analysis**:
  - Full video descriptions
  - Complete tag lists for SEO research
  - Category classification
  - Live stream detection

#### 🔧 Advanced Features
- **Subtitle Support**: Extract available caption tracks
- **Age Restriction Detection**: Identify restricted content
- **Format Filtering**: Include all formats or select specific ones
- **Proxy Ready**: Bypass geo-restrictions seamlessly

---

### 📝 Input Configuration

Simply provide your YouTube video URLs in the input section, configure your preferences, and click start. Here's a sample configuration:

```json
{
    "include_all_formats": true,
    "include_subtitles": true,
    "include_thumbnails": true,
    "video_urls": [
        {
            "url": "https://youtu.be/WfpIGwfF5dk"
        },
        {
            "url": "https://youtu.be/kEg4E2SU-EA"
        }
    ]
}
````

#### Input Specifications

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `video_urls` | Array | Yes | YouTube video URLs to process (supports youtube.com, youtu.be) |
| `url` | String | Yes | Valid YouTube video URL |
| `include_all_formats` | Boolean | No | Include all available audio formats (default: true) |
| `include_subtitles` | Boolean | No | Extract subtitle tracks (default: true) |
| `include_thumbnails` | Boolean | No | Extract all thumbnail variants (default: true) |

***

### 📤 Output Structure

Your **YouTube Mp3/Thumbnail & Audio Scraper** returns comprehensive data for each video:

```json
[
  {
    "status": "success",
    "basic_info": {
      "title": "90s Love Songs | Bollywood Evergreen 90's Love Songs",
      "video_id": "WfpIGwfF5dk",
      "uploader": "Hasu Mia",
      "uploader_id": "@hasumiamusic",
      "channel": "Hasu Mia",
      "channel_id": "UCxSF_fIMa5Ci1n2EyhBDKsw",
      "upload_date": "20260327",
      "duration": 5665,
      "duration_string": "1:34:25"
    },
    "statistics": {
      "view_count": 85035,
      "like_count": 315,
      "comment_count": 10
    },
    "content": {
      "description": "Full video description text...",
      "categories": ["Music"],
      "tags": ["hindi song", "old songs", "90s hits"],
      "age_limit": 0,
      "is_live": false
    },
    "media_info": {
      "webpage_url": "https://www.youtube.com/watch?v=WfpIGwfF5dk",
      "original_url": "https://www.youtube.com/watch?v=WfpIGwfF5dk",
      "thumbnail": "https://i.ytimg.com/vi/WfpIGwfF5dk/maxresdefault.jpg"
    },
    "best_audio_download": {
      "format_id": "251",
      "ext": "webm",
      "format_note": "medium",
      "filesize": 98481733,
      "filesize_mb": 93.92,
      "abr": 139.069,
      "url": "https://rr1---sn-vgqsrnsy.googlevideo.com/..."
    },
    "all_audio_formats_count": 4,
    "all_audio_formats": [
      {
        "format_id": "139",
        "ext": "m4a",
        "format_note": "low",
        "filesize_mb": 32.95,
        "abr": 48.783,
        "url": "https://..."
      }
    ],
    "thumbnails": [
      {
        "url": "https://i.ytimg.com/vi/WfpIGwfF5dk/maxresdefault.jpg",
        "width": 1920,
        "height": 1080,
        "id": "40"
      }
    ],
    "input_url": "https://youtu.be/WfpIGwfF5dk",
    "canonical_url": "https://www.youtube.com/watch?v=WfpIGwfF5dk"
  }
]
```

#### Output Field Documentation

**Basic Information Section**
| Field | Description |
|-------|-------------|
| `title` | Complete video title |
| `video_id` | Unique YouTube video identifier |
| `uploader` | Content creator's display name |
| `uploader_id` | Creator's @handle |
| `channel` | Channel name |
| `channel_id` | Unique channel identifier |
| `upload_date` | Publication date in YYYYMMDD format |
| `duration` | Video length in seconds |
| `duration_string` | Human-readable duration (HH:MM:SS) |

**Statistics Section**
| Field | Description |
|-------|-------------|
| `view_count` | Total views (real-time accuracy) |
| `like_count` | Number of likes |
| `comment_count` | Total comments |

**Content Section**
| Field | Description |
|-------|-------------|
| `description` | Full video description with timestamps and links |
| `categories` | YouTube category classification |
| `tags` | Complete tag list for SEO analysis |
| `age_limit` | Age restriction status (0 = unrestricted) |
| `is_live` | Live stream indicator |

**Audio Formats Section**
| Field | Description |
|-------|-------------|
| `format_id` | YouTube's format identifier |
| `ext` | Container format (webm, m4a) |
| `format_note` | Quality description (low, medium) |
| `filesize_mb` | File size in megabytes |
| `abr` | Average bitrate in kbps |
| `url` | Direct CDN download URL |

**Thumbnails Section**
| Field | Description |
|-------|-------------|
| `url` | Direct image URL |
| `width` | Image width in pixels |
| `height` | Image height in pixels |
| `id` | Thumbnail variant identifier |

***

### 🎯 Audio Quality Tiers

The **YouTube Mp3/Thumbnail & Audio Scraper** automatically detects and provides multiple audio quality options:

#### Low Quality (Space-Saving)

- **Format 139**: M4A, ~48 kbps, ~2-35 MB per hour
- **Format 249**: WebM, ~53 kbps, efficient compression

#### Medium Quality (Balanced)

- **Format 140**: M4A, ~129 kbps, ~6-90 MB per hour
- **Format 251**: WebM, ~139 kbps, optimal quality-to-size ratio

#### Best Quality (Maximum Fidelity)

- Automatically selected as `best_audio_download`
- Highest available bitrate (up to 139 kbps)
- WebM format for superior compression

***

### 🖼️ Thumbnail Resolution Guide

| Resolution | Dimensions | Use Case |
|------------|------------|----------|
| Default | 120×90 | Quick previews, thumbnails |
| MQ | 320×180 | Standard displays, playlists |
| HQ | 480×360 | High-quality previews |
| SD | 640×480 | Standard definition screens |
| Maxres | 1920×1080 | Full HD displays, professional use |

***

### 💡 Use Cases

- 🎧 **Podcast Creators** – Extract audio for podcast episodes
- 🎵 **Music Producers** – Download reference tracks and stems
- 📊 **Content Researchers** – Analyze video metadata and trends
- 🎨 **Graphic Designers** – Access high-resolution thumbnails
- 📱 **App Developers** – Build YouTube-powered applications
- 📝 **SEO Specialists** – Analyze tags, descriptions, and metadata
- 🎓 **Educational Platforms** – Extract audio for learning materials
- 🎬 **Video Editors** – Get audio tracks for remixes and compilations

***

### 🌟 Why Choose Our YouTube Mp3/Thumbnail & Audio Scraper?

- **⚡ Lightning Fast**: Optimized extraction with minimal latency
- **🎯 Precision Data**: Accurate metadata including view counts, likes, and comments
- **🔄 Regular Updates**: Continuously maintained to adapt to YouTube changes
- **📦 Complete Package**: Get audio, thumbnails, and metadata in one output
- **🔐 Reliable Performance**: Stable downloads with CDN-level URLs
- **🎨 User-Friendly**: Simple input structure for beginners and pros
- **📈 Scalable**: Process thousands of videos efficiently

***

### ⚠️ Limitations

- Only works with publicly accessible YouTube videos
- Private or unlisted videos cannot be accessed
- Age-restricted content may require authentication
- Rate limits apply based on YouTube's restrictions
- Maximum resolution depends on video upload quality

***

### 🔗 Related Actors in Our Social Media Suite

#### 🎥 **YouTube Tools**

- [YouTube Video Downloader](https://apify.com/kingscraper/youtube-video-downloader)
- [YouTube Shorts Downloader](https://apify.com/kingscraper/youtube-shorts-downloader)
- [YouTube Mp3/Thumbnail & Audio Scraper](https://apify.com/kingscraper/youtube-mp3-thumbnail-audio-scraper)
- [Youtube Video and MP3 Downloader](https://apify.com/kingscraper/youtube-video-and-mp3-downloader)

#### 📘 **Snapchat Tools**

- [Snapchat Story Downloader](https://apify.com/kingscraper/snapchat-story-downloader)
- [Snapchat Spotlight Downloader](https://apify.com/kingscraper/snapchat-spotlight-downloader)

#### 📘 **Facebook Scraper Tools**

- [Facebook Post Scraper](https://apify.com/kingscraper/facebook-post-scraper)
- [Facebook Reels Downloader](https://apify.com/kingscraper/facebook-reels-downloader)
- [Facebook Video Post Downloader](https://apify.com/kingscraper/facebook-video-post-downloader)
- [Facebook Reels And Thumbnail Downloader](https://apify.com/kingscraper/facebook-reels-and-thumbnail-downloader)

#### 📘 **Instagram Scraper Tools**

- [Instagram Reels Scraper](https://apify.com/kingscraper/instagram-reels-scraper)
- [Instagram Photo Scraper](https://apify.com/kingscraper/instagram-photo-scraper)
- [Instagram Video Downloader](https://apify.com/kingscraper/instagram-video-downloader)

#### 📘 **Pinterest Scraper Tools**

- [Pinterest Video and Image Downloader](https://apify.com/kingscraper/pinterest-video-and-image-downloader)

#### 📘 **TikTok Scraper Tools**

- [TikTok Thumbnail & Audio Scraper](https://apify.com/kingscraper/tiktok-thumbnail-audio-scraper)
- [Tiktok Video And Thumbnail Downloader](https://apify.com/kingscraper/tiktok-video-and-thumbnail-downloader)

***

### 📧 Need Customization?

Want \*higher audio bitrates, \*\*batch playlist processing, \*\*custom metadata fields, or \**enterprise support*?

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

***

### 📢 Keywords

**YouTube Mp3/Thumbnail & Audio Scraper**, YouTube audio extractor, YouTube thumbnail downloader, YouTube to MP3, YouTube media scraper, YouTube metadata extraction, YouTube video statistics, YouTube channel information, YouTube audio formats, YouTube thumbnail resolutions, YouTube batch processor, YouTube CDN URLs, YouTube content analysis, YouTube SEO data, YouTube tags extractor, YouTube description scraper, YouTube view count tracker, YouTube engagement metrics, YouTube audio quality, YouTube maxres thumbnail, YouTube SD thumbnail, YouTube HQ thumbnail, YouTube MQ thumbnail, YouTube video categories, YouTube live stream detector, YouTube age restriction checker, YouTube uploader info, YouTube channel ID, YouTube duration converter, YouTube bulk downloader, YouTube API alternative

# Actor input Schema

## `track_urls` (type: `array`):

List of Spotify track URLs. Supports https://open.spotify.com/track/ID and https://open.spotify.com/track/ID?si=... formats.

## `include_preview_mp3` (type: `boolean`):

Include the direct 30-second Spotify preview MP3 URL (hosted on p.scdn.co). No auth required.

## `include_cover_images` (type: `boolean`):

Include all available cover image resolutions (64px, 300px, 640px). When disabled, only the largest is included.

## `include_artist_uris` (type: `boolean`):

Include the Spotify URI for each artist (e.g. spotify:artist:ID).

## `max_retries` (type: `integer`):

Number of retry attempts for the YouTube audio extraction step.

## `timeout_seconds` (type: `integer`):

Timeout in seconds for each yt-dlp YouTube audio extraction attempt.

## `proxy` (type: `object`):

Apify proxy used for the yt-dlp YouTube audio search. Spotify metadata is scraped without a proxy.

## Actor input object example

```json
{
  "track_urls": [
    {
      "url": "https://open.spotify.com/track/2HRqTpkrJO5ggZyyK6NPWz?si=9e8294b9183b46a5"
    },
    {
      "url": "https://open.spotify.com/track/7Mu0u7u2e0eOiAvMfEr2A7"
    },
    {
      "url": "https://open.spotify.com/track/0WbMK4wrZ1wFSty9F7FCgu?si=69935ac86c7041bc"
    }
  ],
  "include_preview_mp3": true,
  "include_cover_images": true,
  "include_artist_uris": true,
  "max_retries": 3,
  "timeout_seconds": 30,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "track_urls": [
        {
            "url": "https://open.spotify.com/track/2HRqTpkrJO5ggZyyK6NPWz?si=9e8294b9183b46a5"
        },
        {
            "url": "https://open.spotify.com/track/7Mu0u7u2e0eOiAvMfEr2A7"
        },
        {
            "url": "https://open.spotify.com/track/0WbMK4wrZ1wFSty9F7FCgu?si=69935ac86c7041bc"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("kingscraper/spotify-music-mp3-scraper").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 = { "track_urls": [
        { "url": "https://open.spotify.com/track/2HRqTpkrJO5ggZyyK6NPWz?si=9e8294b9183b46a5" },
        { "url": "https://open.spotify.com/track/7Mu0u7u2e0eOiAvMfEr2A7" },
        { "url": "https://open.spotify.com/track/0WbMK4wrZ1wFSty9F7FCgu?si=69935ac86c7041bc" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("kingscraper/spotify-music-mp3-scraper").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 '{
  "track_urls": [
    {
      "url": "https://open.spotify.com/track/2HRqTpkrJO5ggZyyK6NPWz?si=9e8294b9183b46a5"
    },
    {
      "url": "https://open.spotify.com/track/7Mu0u7u2e0eOiAvMfEr2A7"
    },
    {
      "url": "https://open.spotify.com/track/0WbMK4wrZ1wFSty9F7FCgu?si=69935ac86c7041bc"
    }
  ]
}' |
apify call kingscraper/spotify-music-mp3-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=kingscraper/spotify-music-mp3-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Spotify Music MP3 Scraper",
        "description": "Audio in multiple formats🎧(M4A/WebM, 48–139 kbps)🎵All thumbnail resolutions🖼️(120x90 to 1920x1080)📸Plus metadata📊including titles📝channel info👤statistics👀👍💬(views/likes/comments),tags 🏷️,and descriptions📄\nPerfect for content analysis 📈, audio extraction 🎶, and thumbnail archiving 📦✨",
        "version": "0.0",
        "x-build-id": "wYxfheH3zCm9HhXYf"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/kingscraper~spotify-music-mp3-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-kingscraper-spotify-music-mp3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/kingscraper~spotify-music-mp3-scraper/runs": {
            "post": {
                "operationId": "runs-sync-kingscraper-spotify-music-mp3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/kingscraper~spotify-music-mp3-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-kingscraper-spotify-music-mp3-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "track_urls"
                ],
                "properties": {
                    "track_urls": {
                        "title": "Spotify Track URLs",
                        "type": "array",
                        "description": "List of Spotify track URLs. Supports https://open.spotify.com/track/ID and https://open.spotify.com/track/ID?si=... formats.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "include_preview_mp3": {
                        "title": "Include Spotify Preview MP3",
                        "type": "boolean",
                        "description": "Include the direct 30-second Spotify preview MP3 URL (hosted on p.scdn.co). No auth required.",
                        "default": true
                    },
                    "include_cover_images": {
                        "title": "Include All Cover Image Sizes",
                        "type": "boolean",
                        "description": "Include all available cover image resolutions (64px, 300px, 640px). When disabled, only the largest is included.",
                        "default": true
                    },
                    "include_artist_uris": {
                        "title": "Include Spotify Artist URIs",
                        "type": "boolean",
                        "description": "Include the Spotify URI for each artist (e.g. spotify:artist:ID).",
                        "default": true
                    },
                    "max_retries": {
                        "title": "Maximum yt-dlp Retries",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Number of retry attempts for the YouTube audio extraction step.",
                        "default": 3
                    },
                    "timeout_seconds": {
                        "title": "yt-dlp Extraction Timeout (seconds per attempt)",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "Timeout in seconds for each yt-dlp YouTube audio extraction attempt.",
                        "default": 30
                    },
                    "proxy": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Apify proxy used for the yt-dlp YouTube audio search. Spotify metadata is scraped without a proxy.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
