# YouTube Playlist Videos Scraper (`fetch_cat/youtube-playlist-videos-scraper`) Actor

Extract public YouTube playlist videos with titles, channels, positions, durations, thumbnails, URLs, and playlist metadata.

- **URL**: https://apify.com/fetch\_cat/youtube-playlist-videos-scraper.md
- **Developed by:** [Hanna Nosova](https://apify.com/fetch_cat) (community)
- **Categories:** Social media
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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

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 Playlist Videos Scraper

Extract public YouTube playlist video lists with titles, channels, positions, durations, thumbnails, URLs, and playlist metadata.

Use this actor when you need a clean dataset from one or more public YouTube playlists for research, audits, curation, monitoring, or reporting.

### What does YouTube Playlist Videos Scraper do?

YouTube Playlist Videos Scraper turns public YouTube playlist URLs into structured dataset rows.

Each output item represents one video in a playlist.

The actor collects playlist-level context and video-level metadata in the same row.

You can export the results as JSON, CSV, Excel, XML, RSS, or HTML from Apify.

Common jobs include content inventory, playlist backup, competitor research, and recurring monitoring.

### Who is it for?

📣 Content marketers can audit brand, competitor, or influencer playlists.

🎓 Educators can catalog course playlists and learning paths.

🧪 Researchers can build repeatable video datasets from public playlist pages.

🎬 Media teams can monitor editorial playlists and content collections.

🧑‍💻 Developers can feed playlist video rows into automations, dashboards, and enrichment pipelines.

### Why use this actor?

YouTube playlists are easy to browse manually but slow to copy into a spreadsheet.

This actor saves the repetitive work.

It returns normalized video IDs, video URLs, playlist IDs, titles, positions, thumbnails, channels, and timestamps.

The dataset format is designed for downstream filtering, deduplication, and reporting.

### What data can you extract?

| Field | Description |
| --- | --- |
| `playlistUrl` | Canonical playlist URL |
| `playlistId` | YouTube playlist ID |
| `playlistTitle` | Playlist title |
| `playlistOwner` | Playlist owner text when available |
| `position` | Video position in the playlist |
| `videoId` | YouTube video ID |
| `videoUrl` | Watch URL with playlist context |
| `title` | Video title |
| `descriptionSnippet` | Public snippet when available |
| `duration` | Video duration text |
| `thumbnailUrl` | Video thumbnail URL |
| `publishedAtText` | Public relative/date text |
| `channelName` | Video channel name |
| `channelUrl` | Video channel URL |
| `viewCountText` | Public view count text when available |
| `scrapedAt` | Extraction timestamp |

### How much does it cost to scrape YouTube playlist videos?

This actor uses pay-per-event pricing.

You pay a small start fee and then a per-result fee for saved playlist video records.

Exact live pricing is shown on the Apify Store pricing tab.

A small test run with the default prefilled playlist is intentionally cheap.

For large playlist audits, set `maxVideosPerPlaylist` to the amount of data you actually need.

### How to use it

1. Open the actor on Apify.
2. Paste one or more public YouTube playlist URLs.
3. Set the maximum number of videos per playlist.
4. Leave proxy settings at the default unless you have a reason to change them.
5. Click **Start**.
6. Download the dataset when the run finishes.

### Input

The main input is `playlistUrls`.

You can paste full URLs like:

```text
https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE
````

You can also use playlist IDs.

```text
PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE
```

### Input example

```json
{
  "playlistUrls": [
    { "url": "https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE" }
  ],
  "maxVideosPerPlaylist": 25,
  "proxyConfiguration": { "useApifyProxy": false }
}
```

### Output example

```json
{
  "playlistUrl": "https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE",
  "playlistId": "PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE",
  "playlistTitle": "Learn Something New",
  "position": 1,
  "videoId": "MhgLasBFr6o",
  "videoUrl": "https://www.youtube.com/watch?v=MhgLasBFr6o&list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE&index=1",
  "title": "What was TEKOI? [INCORRECT VERSION]",
  "duration": "6:19",
  "channelName": "CGP Grey",
  "channelUrl": "https://www.youtube.com/@CGPGrey",
  "scrapedAt": "2026-06-17T08:47:04.106Z"
}
```

### Tips for best results

Use public playlists.

Check that the playlist opens in a normal browser without logging in.

Start with a low `maxVideosPerPlaylist` value for testing.

Increase the limit once the output shape looks right.

Run separate jobs for unrelated playlist groups if you want easier exports.

### Integrations

Send results to Google Sheets for editorial calendars.

Send results to Airtable for content databases.

Use webhooks to trigger notifications after a playlist audit finishes.

Use the Apify API to schedule recurring playlist monitoring.

Connect the dataset to BI tools for video catalog analysis.

### API usage with Node.js

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

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/youtube-playlist-videos-scraper').call({
  playlistUrls: [{ url: 'https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE' }],
  maxVideosPerPlaylist: 25
});
console.log(run.defaultDatasetId);
```

### API usage with Python

```python
from apify_client import ApifyClient

client = ApifyClient('MY_APIFY_TOKEN')
run = client.actor('fetch_cat/youtube-playlist-videos-scraper').call(run_input={
    'playlistUrls': [{'url': 'https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE'}],
    'maxVideosPerPlaylist': 25,
})
print(run['defaultDatasetId'])
```

### API usage with cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~youtube-playlist-videos-scraper/runs?token=MY_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"playlistUrls":[{"url":"https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE"}],"maxVideosPerPlaylist":25}'
```

### MCP usage

Use the Apify MCP server to run this actor from Claude Desktop, Claude Code, or another MCP-compatible client.

Server URL pattern:

```text
https://mcp.apify.com/?tools=fetch_cat/youtube-playlist-videos-scraper
```

Claude Code setup:

```bash
claude mcp add apify-youtube-playlists https://mcp.apify.com/?tools=fetch_cat/youtube-playlist-videos-scraper
```

Claude Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify-youtube-playlists": {
      "url": "https://mcp.apify.com/?tools=fetch_cat/youtube-playlist-videos-scraper"
    }
  }
}
```

Example prompts:

- "Extract the first 25 videos from this YouTube playlist and summarize the channels."
- "Run the YouTube Playlist Videos Scraper every Monday and compare new video IDs."
- "Export this playlist inventory to a CSV-friendly table."

### Limitations

Only public playlist data can be extracted.

Private, deleted, members-only, age-restricted, or region-blocked videos may not appear.

Very large playlists may require multiple runs or future pagination improvements.

Fields depend on what YouTube exposes publicly for each playlist row.

Some metadata, such as exact publish dates or views, may be absent on some playlist pages.

### Troubleshooting

If a run returns no items, confirm that the playlist URL contains a `list=` parameter.

If the playlist opens only after login, the actor cannot access it as public data.

If a playlist is very large, reduce the limit for a first test run.

If YouTube temporarily blocks your run environment, try enabling Apify Proxy.

### Legality

### Legal and ethical use

This actor extracts publicly available YouTube playlist information.

You are responsible for using the output in compliance with applicable laws, YouTube terms, and privacy rules.

Do not use scraped data for spam, harassment, impersonation, or other abusive workflows.

### Related scrapers

Other useful actors from the same catalog:

- [YouTube Channel Videos Scraper](https://apify.com/fetch_cat/youtube-channel-videos-scraper)
- [YouTube Search Results Scraper](https://apify.com/fetch_cat/youtube-search-results-scraper)
- [YouTube Comments Scraper](https://apify.com/fetch_cat/youtube-comments-scraper)
- [YouTube Transcript Scraper](https://apify.com/fetch_cat/youtube-transcript-scraper)

Use related scrapers when you need data outside playlist video inventories.

### FAQ

#### Can it scrape private playlists?

No. The actor is designed for public playlist pages only.

#### Can I use playlist IDs instead of URLs?

Yes. Paste the playlist ID in the input list.

#### Does it download videos?

No. It extracts metadata and URLs only.

#### Can it monitor changes over time?

Yes. Schedule repeated runs and compare video IDs or positions between datasets.

#### Why are some fields empty?

YouTube does not show every metadata field for every playlist row. Empty fields mean the public page did not expose that value.

### Changelog

Initial version extracts public playlist video rows with playlist and video metadata.

### Support

If you need help, open an issue on the Apify actor page and include your run ID, playlist URL, and expected output.

### Data export formats

After a run, open the dataset tab.

Choose JSON for APIs.

Choose CSV or Excel for spreadsheets.

Choose HTML for quick review.

Choose RSS if another tool needs feed-style ingestion.

### Quality checklist

The default input is intentionally small.

The output is flat and spreadsheet-friendly.

The dataset contains stable IDs for deduplication.

The actor is suitable for one-off exports and recurring playlist audits.

# Actor input Schema

## `playlistUrls` (type: `array`):

Add one or more public YouTube playlist URLs, or paste playlist IDs such as PLrEnWoR732-DZV1Jc8bUpVTF\_HTPbywpE.

## `maxVideosPerPlaylist` (type: `integer`):

Maximum number of video records to save from each playlist. YouTube may return only the initially visible public rows for very large playlists.

## `proxyConfiguration` (type: `object`):

Optional Apify Proxy settings. Leave the default unless YouTube blocks requests from your run region.

## Actor input object example

```json
{
  "playlistUrls": [
    "https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE"
  ],
  "maxVideosPerPlaylist": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "playlistUrls": [
        "https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE"
    ],
    "maxVideosPerPlaylist": 20,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("fetch_cat/youtube-playlist-videos-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 = {
    "playlistUrls": ["https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE"],
    "maxVideosPerPlaylist": 20,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("fetch_cat/youtube-playlist-videos-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 '{
  "playlistUrls": [
    "https://www.youtube.com/playlist?list=PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE"
  ],
  "maxVideosPerPlaylist": 20,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call fetch_cat/youtube-playlist-videos-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Playlist Videos Scraper",
        "description": "Extract public YouTube playlist videos with titles, channels, positions, durations, thumbnails, URLs, and playlist metadata.",
        "version": "0.1",
        "x-build-id": "vZyJVrctD4ofdBCIs"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/fetch_cat~youtube-playlist-videos-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-fetch_cat-youtube-playlist-videos-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/fetch_cat~youtube-playlist-videos-scraper/runs": {
            "post": {
                "operationId": "runs-sync-fetch_cat-youtube-playlist-videos-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/fetch_cat~youtube-playlist-videos-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-fetch_cat-youtube-playlist-videos-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": [
                    "playlistUrls"
                ],
                "properties": {
                    "playlistUrls": {
                        "title": "Playlist URLs or IDs",
                        "type": "array",
                        "description": "Add one or more public YouTube playlist URLs, or paste playlist IDs such as PLrEnWoR732-DZV1Jc8bUpVTF_HTPbywpE.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxVideosPerPlaylist": {
                        "title": "Maximum videos per playlist",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of video records to save from each playlist. YouTube may return only the initially visible public rows for very large playlists.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify Proxy settings. Leave the default unless YouTube blocks requests from your run region.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
