# YouTube Video Downloader (`solidcode/youtube-video-downloader`) Actor

\[💰 From $0.01 / video-minute] Download YouTube videos as MP4 or extract MP3 audio. Paste video URLs, pick a quality, and get ready-to-use files plus metadata. Pay only for successful downloads.

- **URL**: https://apify.com/solidcode/youtube-video-downloader.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Videos, Automation, Developer tools
- **Stats:** 3 total users, 2 monthly users, 88.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $30.00 / 1,000 1080p video minutes

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Video Downloader

Download YouTube videos as MP4 (up to 1080p Full HD) or extract MP3 audio, in batch, straight to ready-to-use files with a public download link for each one. Drop in a mix of regular watch links, Shorts, and youtu.be URLs and get back a file plus a clean metadata row per video — title, uploader, duration, view count, and file size. Built for content teams, archivists, podcasters, and developers who need YouTube media as real files without command-line tools or sketchy download sites.

### Why This Scraper?

- **MP4 up to 1080p Full HD or MP3 audio** — pick a resolution cap (360p, 480p, 720p, or 1080p) for video, or switch the format to MP3 to pull just the soundtrack as an audio file.
- **Regular videos, Shorts, AND youtu.be links** — paste full `youtube.com/watch` URLs, `youtube.com/shorts` URLs, and shortened `youtu.be` links in the same run; each becomes one file and one row.
- **Batch any number of URLs in one run** — hand it a list of 5 or 500 links; videos download several at a time in parallel and are billed individually.
- **A public, ready-to-use download URL on every file** — each finished MP4 or MP3 is stored and returned as a direct link you can hand to a browser, a teammate, or a webhook.
- **Rich metadata per video** — every row carries the title, video ID, uploader, duration in seconds, view count, exact file size in bytes, chosen quality, and format.
- **Pay only for successful downloads** — blocked, private, deleted, or oversized videos return a clear `failed` row and cost you nothing.
- **Automatic residential fallback** — when a video is throttled or blocked on the standard connection, it's retried over a residential connection automatically so it still downloads, billed only when it's actually used ($0.015/MB).
- **YouTube cookie support for gated content** — paste your exported cookies to download age-restricted, members-only, or sign-in-required videos.
- **Cap your spend per run** — set a maximum cost per run in the Apify Console and the platform stops the run before it exceeds the limit you choose.

### Use Cases

**Content Production & Repurposing**
- Pull source clips for video editing, reaction content, or compilations
- Convert long-form videos to MP3 for podcast feeds and audiograms
- Grab Shorts in bulk to remix across other platforms
- Build a library of B-roll and reference footage as local files

**Research & Archiving**
- Preserve channels and videos before they're taken down or made private
- Archive lectures, talks, and tutorials for offline study
- Collect view-count and duration metadata alongside the media for analysis
- Keep an evidence-grade copy of public statements and announcements

**Audio & Podcasting**
- Extract MP3 audio from interviews, panels, and conference talks
- Batch-convert a back catalog of episodes into downloadable audio files
- Pull music or voiceovers for transcription and captioning pipelines
- Feed audio into speech-to-text and summarization tools

**Developer & Automation Workflows**
- Wire downloaded file URLs straight into Make, Zapier, or your own API
- Feed MP4/MP3 files into transcoding, thumbnailing, or analysis pipelines
- Trigger downloads on a schedule and post links to Slack on completion
- Power internal tools that need YouTube media as addressable files

### Getting Started

#### Download a single video

The simplest run — one URL, default MP4 at 1080p:

```json
{
    "urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"]
}
````

#### Batch download as MP3 audio

Mix watch links, Shorts, and youtu.be URLs, all extracted to MP3:

```json
{
    "urls": [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "https://youtu.be/9bZkp7q19f0",
        "https://www.youtube.com/shorts/abcdEFGHijk"
    ],
    "format": "audio"
}
```

#### Advanced — quality cap, residential fallback, and cookies

Cap video at 720p, reach blocked videos over a residential connection, and sign in for gated content:

```json
{
    "urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
    "quality": "720",
    "format": "video",
    "residentialProxyMode": "fallback",
    "proxyCountry": "US",
    "youtubeCookies": "# Netscape HTTP Cookie File\n.youtube.com\tTRUE\t/\tTRUE\t0\tCONSENT\tYES+1"
}
```

### Input Reference

#### Videos

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `urls` | array | — | One or more **YouTube Video URLs**. Accepts full watch URLs, short `youtu.be` URLs, and Shorts URLs. One file and one metadata row are produced per URL. Playlists are not supported — paste individual video URLs. |

#### Output options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `quality` | string | `"1080"` | **Video Quality** — maximum resolution to download. Options: `1080p (Full HD)`, `720p (HD)`, `480p`, `360p`. The best available stream up to this cap is chosen; lower-resolution videos return the highest they offer. Ignored for MP3 audio. |
| `format` | string | `"video"` | **Format** — choose `MP4 video` to download the full video file, or `MP3 audio` to extract just the soundtrack. MP3 ignores the quality setting. |

#### Proxy & access

Advanced options for videos that are blocked, region-locked, or require sign-in. The defaults work for most public videos — leave these alone unless a download fails.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `residentialProxyMode` | string | `"fallback"` | **Residential Fallback** — `On — auto-retry throttled/blocked videos over residential ($0.015/MB, only if used)` (default) or `Off — standard connection only`. When on, only videos that are throttled or blocked on the standard connection are retried over a residential connection so they still download. You're charged only when a residential retry actually delivers a video. |
| `proxyCountry` | string | `"auto"` | **Country** — download as if connecting from a specific country, useful for region-restricted videos. `Automatic` plus 15 countries (United States, United Kingdom, Germany, France, Canada, Australia, Japan, Brazil, India, Netherlands, Spain, Italy, Mexico, Poland, South Korea). |
| `customProxyUrl` | string | — | **Custom Proxy URL** — optional. Bring your own proxy instead of the built-in connection, in the format `http://username:password@host:port`. Leave empty to use the built-in connection. |
| `youtubeCookies` | string | — | **YouTube Cookies** — optional. Paste your exported YouTube cookies (Netscape `cookies.txt` format) to download videos that require sign-in, such as age-restricted or members-only content. Leave empty for normal public videos. |

### Output

Each video produces one dataset row plus a stored media file reachable at `downloadUrl`. Successful downloads carry full metadata; failed ones carry a plain-English `failureReason` and no file.

```json
{
    "videoId": "dQw4w9WgXcQ",
    "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
    "uploader": "Rick Astley",
    "originalUrl": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
    "durationSeconds": 213,
    "viewCount": 1543209876,
    "quality": "1080p",
    "format": "video",
    "fileSizeBytes": 41875632,
    "status": "success",
    "failureReason": null,
    "downloadUrl": "https://api.apify.com/v2/key-value-stores/abc123/records/dQw4w9WgXcQ.mp4",
    "kvStoreKey": "dQw4w9WgXcQ.mp4"
}
```

#### Output Fields

| Field | Type | Description |
|-------|------|-------------|
| `videoId` | string | YouTube's unique ID for the video. |
| `title` | string | Video title. |
| `uploader` | string | Channel or uploader name. |
| `originalUrl` | string | The URL you submitted (also available as `url`). |
| `durationSeconds` | number | Length of the video in seconds. |
| `viewCount` | number | View count at download time. |
| `quality` | string | Actual resolution of the downloaded file (e.g. `1080p`, `720p`) or `audio` for MP3. |
| `format` | string | `video` for MP4 or `audio` for MP3. |
| `fileSizeBytes` | number | Exact size of the downloaded file in bytes. |
| `status` | string | `success` or `failed`. |
| `failureReason` | string | Plain-English reason when a download fails (also available as `error`); `null` on success. |
| `downloadUrl` | string | Public, direct link to the stored MP4 or MP3 file. |
| `kvStoreKey` | string | File key in the run's storage (e.g. `dQw4w9WgXcQ.mp4`). |

### Tips for Best Results

- **Provide YouTube cookies to download age-restricted, members-only, or sign-in-gated videos** — export them in Netscape `cookies.txt` format and paste them into the YouTube Cookies field; public videos need nothing.
- **Very long or high-resolution videos may exceed the ~230 MB file limit** — if a 1080p download is too large to store, pick 720p or 480p, or switch to MP3 audio to bring the size down.
- **Use MP3 audio for podcasts, interviews, and music** — it ignores the quality setting, produces much smaller files, and is far less likely to hit the size limit on long content.
- **Leave Residential Fallback on (the default) for the most reliable downloads** — videos that YouTube throttles or blocks on the standard connection are retried over a residential connection automatically, and you're only charged ($0.015/MB) when that retry actually delivers a video. Switch it off if you'd rather such videos simply fail at no extra cost.
- **Set the Country option for region-locked videos** — pick the country where the video is available so it downloads as if you were watching from there.
- **Paste individual video URLs, not playlist links** — playlists aren't supported; expand the playlist and add each video URL to the list.
- **Live streams, premieres, and private videos can't be downloaded** — these return a clear `failed` row at no charge, so it's safe to include them in a large batch.

### Pricing

**From $0.01 per minute of video** — you pay per minute of video you successfully download, by the quality you receive. There are no compute or time-based charges, and failed downloads are free. Bronze, Silver, and Gold loyalty subscribers automatically pay less on the Apify Console.

Each video is charged by its actual quality, with a minimum of 1 minute per video:

| Quality | Price per minute |
|---------|------------------|
| 360p | $0.010 |
| 480p | $0.015 |
| 720p | $0.020 |
| 1080p (Full HD) | $0.030 |
| MP3 audio | $0.010 |

A small fixed start fee of about **$0.005 per run** applies once per run. The **residential fallback** (on by default) costs **$0.015 per megabyte** and is billed only when it's actually used to deliver a video that was throttled or blocked on the standard connection — every video that succeeds on the standard connection is free of it.

#### Example costs

| Example | Cost |
|---------|------|
| A 4-minute music video at 1080p | $0.12 |
| A 30-second Short at 720p (minimum 1 minute) | $0.02 |
| A 10-minute tutorial at 480p | $0.15 |
| 50 podcast episodes as MP3, ~45 min each | ~$22.50 |

**No compute or time-based charges — you pay per minute of video you successfully download, plus a small fixed per-run start fee. Failed downloads are free.**

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications and file links on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access to runs, files, and metadata

### Legal & Ethical Use

This tool is intended for downloading content you own, have created, or have explicit permission to download — and for personal, fair-use, or otherwise lawful purposes. Always respect copyright and the rights of content creators, and comply with YouTube's Terms of Service. Do not download or redistribute copyrighted material you do not have the rights to use. You are responsible for ensuring your use of downloaded content complies with all applicable laws and platform terms.

# Actor input Schema

## `urls` (type: `array`):

Paste one or more YouTube video or Shorts URLs to download. Accepts full watch URLs (https://www.youtube.com/watch?v=...), short URLs (https://youtu.be/...), and Shorts URLs (https://www.youtube.com/shorts/...). One file and one metadata row are produced per URL. Playlists are not supported — paste individual video URLs.

## `quality` (type: `string`):

Maximum video resolution to download. The actor picks the best available stream up to this resolution — if a video is only published in a lower quality, you get the highest it offers. Ignored when the format is MP3 audio. Higher resolutions produce larger files and cost more per minute. Very large or long videos (often 4K or multi-hour 1080p) may exceed Apify's ~230 MB per-file limit — if a download is skipped for size, pick a lower quality here or switch to MP3 audio.

## `format` (type: `string`):

Choose 'MP4 video' to download the full video file, or 'MP3 audio' to extract just the soundtrack as an audio file. MP3 ignores the video quality setting.

## `residentialProxyMode` (type: `string`):

YouTube throttles or blocks some videos on standard connections. When this is on (the default), the actor automatically retries only those videos over a residential connection so they still download — fast videos on the standard connection are untouched. It's a paid add-on ($0.015 per megabyte) and you are charged only when a residential retry actually delivers a video; everything that succeeds on the standard connection costs nothing extra. Turn it off to use the standard connection only (blocked videos will be reported as failed instead).

## `proxyCountry` (type: `string`):

Download videos as if connecting from a specific country. Useful for videos that are only available in certain regions. Leave on 'Automatic' unless a video is region-restricted. Ignored when a Custom Proxy URL is provided (your proxy decides the country).

## `customProxyUrl` (type: `string`):

Optional. Bring your own proxy instead of the built-in connection. Use the format http://username:password@host:port. Leave empty to use the built-in connection. When set, this replaces the built-in proxy entirely — the Country option above is ignored and the residential fallback is not used.

## `youtubeCookies` (type: `string`):

Optional. Paste your exported YouTube cookies (Netscape cookies.txt format) to download videos that require sign-in, such as age-restricted or members-only content. You can export these with a browser extension like 'Get cookies.txt'. Leave empty for normal public videos.

## Actor input object example

```json
{
  "urls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ],
  "quality": "1080",
  "format": "video",
  "residentialProxyMode": "fallback",
  "proxyCountry": "auto"
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of downloaded videos with title, quality, format, file size, status, and download link.

## `detail` (type: `string`):

Full per-video detail including uploader, duration, view count, original URL, and key-value store key.

# 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 = {
    "urls": [
        "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
    ],
    "quality": "1080",
    "format": "video",
    "residentialProxyMode": "fallback",
    "proxyCountry": "auto"
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/youtube-video-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 = {
    "urls": ["https://www.youtube.com/watch?v=dQw4w9WgXcQ"],
    "quality": "1080",
    "format": "video",
    "residentialProxyMode": "fallback",
    "proxyCountry": "auto",
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/youtube-video-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 '{
  "urls": [
    "https://www.youtube.com/watch?v=dQw4w9WgXcQ"
  ],
  "quality": "1080",
  "format": "video",
  "residentialProxyMode": "fallback",
  "proxyCountry": "auto"
}' |
apify call solidcode/youtube-video-downloader --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Video Downloader",
        "description": "[💰 From $0.01 / video-minute] Download YouTube videos as MP4 or extract MP3 audio. Paste video URLs, pick a quality, and get ready-to-use files plus metadata. Pay only for successful downloads.",
        "version": "1.0",
        "x-build-id": "Dxt88d6cQ5ZjlErma"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~youtube-video-downloader/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-youtube-video-downloader",
                "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/solidcode~youtube-video-downloader/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-youtube-video-downloader",
                "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/solidcode~youtube-video-downloader/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-youtube-video-downloader",
                "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",
                "properties": {
                    "urls": {
                        "title": "YouTube Video URLs",
                        "type": "array",
                        "description": "Paste one or more YouTube video or Shorts URLs to download. Accepts full watch URLs (https://www.youtube.com/watch?v=...), short URLs (https://youtu.be/...), and Shorts URLs (https://www.youtube.com/shorts/...). One file and one metadata row are produced per URL. Playlists are not supported — paste individual video URLs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "quality": {
                        "title": "Video Quality",
                        "enum": [
                            "1080",
                            "720",
                            "480",
                            "360"
                        ],
                        "type": "string",
                        "description": "Maximum video resolution to download. The actor picks the best available stream up to this resolution — if a video is only published in a lower quality, you get the highest it offers. Ignored when the format is MP3 audio. Higher resolutions produce larger files and cost more per minute. Very large or long videos (often 4K or multi-hour 1080p) may exceed Apify's ~230 MB per-file limit — if a download is skipped for size, pick a lower quality here or switch to MP3 audio.",
                        "default": "1080"
                    },
                    "format": {
                        "title": "Format",
                        "enum": [
                            "video",
                            "audio"
                        ],
                        "type": "string",
                        "description": "Choose 'MP4 video' to download the full video file, or 'MP3 audio' to extract just the soundtrack as an audio file. MP3 ignores the video quality setting.",
                        "default": "video"
                    },
                    "residentialProxyMode": {
                        "title": "Residential Fallback",
                        "enum": [
                            "fallback",
                            "disabled"
                        ],
                        "type": "string",
                        "description": "YouTube throttles or blocks some videos on standard connections. When this is on (the default), the actor automatically retries only those videos over a residential connection so they still download — fast videos on the standard connection are untouched. It's a paid add-on ($0.015 per megabyte) and you are charged only when a residential retry actually delivers a video; everything that succeeds on the standard connection costs nothing extra. Turn it off to use the standard connection only (blocked videos will be reported as failed instead).",
                        "default": "fallback"
                    },
                    "proxyCountry": {
                        "title": "Country",
                        "enum": [
                            "auto",
                            "US",
                            "GB",
                            "DE",
                            "FR",
                            "CA",
                            "AU",
                            "JP",
                            "BR",
                            "IN",
                            "NL",
                            "ES",
                            "IT",
                            "MX",
                            "PL",
                            "KR"
                        ],
                        "type": "string",
                        "description": "Download videos as if connecting from a specific country. Useful for videos that are only available in certain regions. Leave on 'Automatic' unless a video is region-restricted. Ignored when a Custom Proxy URL is provided (your proxy decides the country).",
                        "default": "auto"
                    },
                    "customProxyUrl": {
                        "title": "Custom Proxy URL",
                        "type": "string",
                        "description": "Optional. Bring your own proxy instead of the built-in connection. Use the format http://username:password@host:port. Leave empty to use the built-in connection. When set, this replaces the built-in proxy entirely — the Country option above is ignored and the residential fallback is not used."
                    },
                    "youtubeCookies": {
                        "title": "YouTube Cookies",
                        "type": "string",
                        "description": "Optional. Paste your exported YouTube cookies (Netscape cookies.txt format) to download videos that require sign-in, such as age-restricted or members-only content. You can export these with a browser extension like 'Get cookies.txt'. Leave empty for normal public videos."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
