# Youtube Playlist Scraper (`scrapers-hub/youtube-playlist-scraper`) Actor

🎬 YouTube Playlist Scraper extracts videos, titles, links, and metadata from any playlist fast. 🚀 Perfect for content research, creators, and SEO teams. 🔎 Automate playlist insights with a reliable, easy-to-use tool.

- **URL**: https://apify.com/scrapers-hub/youtube-playlist-scraper.md
- **Developed by:** [Scrapers Hub](https://apify.com/scrapers-hub) (community)
- **Categories:** Videos, SEO tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 results

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

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 Scraper: The Definitive Command Center for Video Library Intelligence and Playlist Harvesting

In the data-driven ecosystem of modern media,🌍 where video content dominates the digital attention 👀 span, raw information is the primary fuel for growth.⛽📈. The Youtube Playlist Scraper is a high-velocity, industrial-grade data extraction machine meticulously engineered to transform disorganized public video collections into structured, actionable assets. By implementing the Youtube Playlist Scraper, organizations can move beyond manual content auditing and establish an automated pipeline for competitive benchmarking, creative trend mapping, and large-scale asset analysis. 📈 📽️

The Youtube Playlist Scraper serves as a robust, non-invasive bridge between the vast, unstructured environment of YouTube playlists and the refined, high-fidelity databases required by global marketing agencies and research firms. This documentation offers an exhaustive deep-dive into the technical framework, operational methodologies, and strategic utilities of the Youtube Playlist Scraper in the current 2026 digital landscape. 🌐 🧠

#### 🏗️ 1. Technical Architecture of the Youtube Playlist Scraper

The core engineering of the Youtube Playlist Scraper is built upon a resilient, multi-layered browser-simulation infrastructure. Unlike standard tools that rely on fragile API keys with restrictive quotas, the Youtube Playlist Scraper utilizes a proprietary parsing engine that interacts directly with the platform's public-facing metadata layers. This ensures that the Youtube Playlist Scraper can extract data even from the most complex and long-form playlists without interruption. 🛠️ ⚙️

#### 📥 Enterprise Input Configuration

The extractor is designed for seamless automation and no-code integration:

```json
input_data = {
            "maxVideosPerPlaylist": 100,
            "playlist_urls": [
                {
                    "url": "https://www.youtube.com/playlist?list=PLRBp0Fe2GpgmsW46rJyudVFlY6IYjFBIK"
                }
            ]
        }

````

#### 📤 Standardized Output Schema

Our clean JSON structure is ready for immediate injection into your BI tools or custom dashboards:

```json
{
    "video_number": 1,
    "playlist_url": "https://www.youtube.com/playlist?list=PLRBp0Fe2GpgmsW46rJyudVFlY6IYjFBIK",
    "video_title": "Janji - Heroes Tonight (feat. Johnning) | Progressive House | NCS - Copyright Free Music",
    "channel_name": "NoCopyrightSounds",
    "video_url": "https://www.youtube.com/watch?v=3nQNiWdeH2Q",
    "channel_url": "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg",
    "duration": "3m 28s",
    "thumbnail": "https://i.ytimg.com/vi_webp/3nQNiWdeH2Q/maxresdefault.webp",
    "additional_info": {
      "view_count": 368055536,
      "like_count": 39,
      "tags": [
        "Janji - Heroes Tonight (feat. Johnning)",
        "Janji",
        "Heroes Tonight",
        "nocopyrightsounds",
        "ncs",
        "music",
        "songs",
        "edm",
        "best music",
        "top music",
        "free music",
        "club music",
        "dance music",
        "no copyright music",
        "electronic music",
        "royalty free music",
        "copyright free music",
        "house music",
        "best house music",
        "top house music",
        "janji heroes tonight",
        "janji heroes",
        "heroes tonight",
        "heroes tonight janji",
        "gaming music",
        "progressive house",
        "house"
      ],
      "description": "Subscribe to NoCopyrightSounds  👉 http://ncs.lnk.to/SubscribeYouTube\n\nNCS: Music Without Limitations\n\nNCS Spotify: http://spoti.fi/NCS\n\nFree Download / Stream: http://ncs.io/ht\n\n▽ Connect with NCS\nFacebook http://facebook.com/NoCopyrightSounds\nTwitch http://twitch.tv/nocopyrightsounds\nTwitter http://twitter.com/NCSounds\nSpotify http://spoti.fi/NCS\nSoundCloud http://soundcloud.com/nocopyrightsounds\nGoo+ http://google.com/+nocopyrightsounds\nInstagram http://instagram.com/nocopyrightsounds_\n\n▽ Follow Janji\nSoundCloud https://soundcloud.com/janjimusic\nFacebook https://www.facebook.com/Janjimusic\nTwitter https://twitter.com/JanjiMusic\nYouTube https://www.youtube.com/user/Janjimusic\nInstagram https://instagram.com/janji/\n\n▽ Follow Johnning (vocalist)\nSoundCloud https://soundcloud.com/johnning\nFacebook https://www.facebook.com/JohnningOfficial\n\n▽ NCS YouTube Playlists\nALL NCS Music: http://bit.ly/ALLNCSmusic\nNCS Drumstep: http://bit.ly/NCSdrumstep\nNCS Melodic Dubstep: http://bit.ly/MelodicDubstepNCS\nNCS House: http://bit.ly/NCShouse\nNCS Dubstep: http://bit.ly/NCSdubstep\nNCS Drum&Bass: http://bit.ly/NCSdrumandbass\nNCS Trap: http://bit.ly/NCStrap\nNCS Hardstyle: http://bit.ly/NCShardstyle\n\n🔑 \n🛍 NCS Merchandise → http://ncs.io/StoreID\n\n© Check out our Usage Policy on how to use NCS music in your videos: http://ncs.io/UsagePolicy\n\nTo request a commercial license visit: http://ncs.io/Commercial\n\n#nocopyrightsounds #copyrightfree #music #song #edm #dancemusic #royaltyfreemusic #copyrightfreemusic #nocopyrightmusic #ncs #ncsmusic #electronicmusic #house #housemusic"
    }
  },
```

#### ⚙️ Systems Optimization & Logic

Asynchronous Indexing: The Youtube Playlist Scraper identifies and catalogs video positions within the list simultaneously, ensuring maximum speed during extraction. ⚡

DOM Synchronization: To maintain 100% data fidelity, the Youtube Playlist Scraper waits for specific network-idle states before capturing engagement metrics like view counts and tags. 🛡️

Recursive Loading Engine: The Youtube Playlist Scraper mimics human browsing by triggering intelligent scroll events to bypass lazy-loading barriers on playlists with hundreds of entries. 🖱️

Resource Prioritization: The Youtube Playlist Scraper selectively targets high-value JSON fragments, significantly reducing computational overhead and ensuring rapid delivery. 💾

#### 🌟 2. Strategic Features of the Youtube Playlist Scraper

The Youtube Playlist Scraper is distinguished by its ability to extract "silent" SEO data points that are often invisible to the average user. Below are the functional pillars that define the power of the Youtube Playlist Scraper: 💎 🔓

🔒 API-Free Discovery: The Youtube Playlist Scraper functions entirely as an independent observer. It never requires an official developer key, protecting your corporate projects from quota restrictions or sudden platform access changes. 🕵️‍♂️

📄 Deep SEO Harvesting: Captures the full array of video tags and metadata through the Youtube Playlist Scraper's semantic analysis layer, revealing the exact keywords driving discovery. 🏷️

🏢 Engagement Density Auditing: Retrieves precise Like-to-View ratios and durations with surgical precision through the Youtube Playlist Scraper's real-time engagement engine. 📊

🖼️ Visual Asset Mapping: The Youtube Playlist Scraper finds the highest resolution thumbnail URIs (WebP/JPG), allowing for the building of enterprise-grade creative archives for design inspiration. 🎨

⚡ Extreme Concurrency Support: Engineered to handle massive playlists, the Youtube Playlist Scraper can be distributed across global server clusters to process millions of records per day. 🚀

📊 Unified Data Schema: Every result from the Youtube Playlist Scraper is normalized into a clean, flattened structure ready for immediate ingestion into SQL or NoSQL databases. 📁

#### 🛡️ 3. The Stealth Advantage: Security Protocols of the Youtube Playlist Scraper

In 2026, social platforms employ highly sensitive AI-driven bot-detection. The Youtube Playlist Scraper stays ahead with a multi-layered stealth defense system that ensures uninterrupted operation and consistent data flow. 🤺 🔒

👤 Pseudo-User Fingerprinting: Every session of the Youtube Playlist Scraper is assigned a unique browser signature, including Canvas fingerprints and WebGL signatures, to mimic a legitimate visitor. 🎭

🚫 Rate-Limit Resilience: The Youtube Playlist Scraper features adaptive sleep timers that expand and contract based on the server's response headers, preventing IP flagging. ⏳

🛡️ Residential Proxy Synergy: By funneling requests through a global network of home-based IP addresses, the Youtube Playlist Scraper makes its traffic indistinguishable from standard residential traffic. 🏠 🌍

🌍 Localized Niche Discovery: Use the Youtube Playlist Scraper to see specific trending videos or localized descriptions that are restricted to certain geographic regions or languages. 📍

#### 📊 4. Schema Mapping & Data Field Intelligence

The output generated by the Youtube Playlist Scraper is designed for mathematical precision and ease of use in high-end Business Intelligence (BI) tools. 📋 🧪
| Field Name | Description provided by YouTube Playlist Scraper | Strategic Benefit 💡 |
| ---------------- | ------------------------------------------------------- | ----------------------------------------------------------- |
| **video\_number** | Exact rank or position of the video within the playlist | Playlist sequencing and ranking strategy optimization |
| **video\_title** | Full SEO-optimized video title extracted by the tool | Keyword discovery, hook analysis, and search intent mapping |
| **view\_count** | Real-time total view count | Virality indexing and reach measurement |
| **like\_count** | Total number of likes | Content quality scoring and audience approval signals |
| **duration** | Precise video length used for retention audits | Format optimization and watch-time strategy |
| **tags** | Complete array of embedded keywords | SEO benchmarking and competitive keyword analysis |
| **description** | Full video description including links and tags | Lead generation analysis and NLP / AI training datasets |
| **channel\_name** | Verified channel handle associated with the video | Brand recognition and publisher attribution |

#### 📈 5. Enterprise Use Cases for the Youtube Playlist Scraper

Elite marketing firms and tech startups leverage the Youtube Playlist Scraper to build a 360-degree view of their competitive landscape and audience trends. 🏆 🏢

🎯 Competitor Content Auditing & Reverse-Engineering
Utilize the Youtube Playlist Scraper to download and analyze the metadata of the top 50 playlists in your niche. The Youtube Playlist Scraper allows you to see how your rivals structure their content funnels and which videos they prioritize for organic growth. 🕵️‍♀️

📊 Market Sentiment & Trend Research
Before launching a new product, use the Youtube Playlist Scraper to audit high-performance music or educational playlists. The Youtube Playlist Scraper provides the raw data needed to identify emerging cultural shifts and audience preferences. 📈

🚀 Lead Generation & Sponsorship Monitoring
Automatically scan thousands of video descriptions using the Youtube Playlist Scraper to find every brand mentioned in the description area. The Youtube Playlist Scraper helps you identify if a creator is already partnered with your rivals or if they are open to sponsorships. 🤝 💸

📉 Crisis Detection & Narrative Monitoring
Monitor the spread of specific keywords or brand mentions across a curated playlist using the Youtube Playlist Scraper. By extracting text at scale, the Youtube Playlist Scraper acts as an early-warning system for emerging public relations issues. 🚨

🏢 AI Training & NLP Dataset Construction
Feed the clean, structured text results from the Youtube Playlist Scraper directly into your custom Large Language Models (LLMs). The Youtube Playlist Scraper provides the massive, niche-specific datasets required for sentiment analysis and predictive modeling. 🤖 🧠

#### 🛠️ 6. Technical Integration Workflows for Youtube Playlist Scraper

The Youtube Playlist Scraper is a developer-first tool, designed to integrate seamlessly with modern CI/CD pipelines and automated marketing stacks. 🔗 💻

🔄 Webhook Synchronization: Configure the Youtube Playlist Scraper to send an instant POST request to your server as soon as a playlist audit is finalized. 📡

🤖 Cloud Sync Pipelines: Automatically push every dataset extracted by the Youtube Playlist Scraper to Google Sheets, Airtable, or a private AWS S3 bucket. ☁️

📊 Visualization Ready: Since the Youtube Playlist Scraper outputs clean CSV/JSON, you can plug the data directly into Tableau, PowerBI, or Looker for real-time executive reporting. 📉

#### 🧠 7. Unique Predictive Analytics Strategies

Beyond basic data collection, the Youtube Playlist Scraper allows for "Forward-Looking" strategies that give your business an unfair advantage: 🔮 ⚡

Virality Decay Analysis: Track a playlist’s performance over several weeks with the Youtube Playlist Scraper to determine the exact "half-life" of content in your specific niche. 📉

Keyword Density Evolution: Use the Youtube Playlist Scraper to track how a competitor’s vocabulary has shifted within their playlists, signaling changes in their target demographic. 🗣️

Thumbnail Aesthetic Shifts: Use the Youtube Playlist Scraper to monitor changes in a competitor's visual branding. A sudden shift in colors or text often signals an upcoming rebranding effort. 🎨

#### 🛡️ 8. Advanced Anti-Detection & Scalability

The Youtube Playlist Scraper is engineered for high-volume enterprise operations where millions of entries need to be audited across global markets. 🌍 🚀

🎭 Hardware Fingerprint Randomization: The Youtube Playlist Scraper constantly changes its browser ID, making it indistinguishable from organic human traffic.

🌍 Proxy Pool Diversification: Supports massive rotating residential proxy pools, ensuring the Youtube Playlist Scraper achieves a 99.9% success rate regardless of volume. 🏠

⏳ Resource Load Balancing: The Youtube Playlist Scraper can distribute tasks across multiple cloud nodes to avoid bottlenecks and ensure rapid delivery. ⚖️

#### ❓ 9. Frequently Asked Questions (FAQ)

🏢 Can the Youtube Playlist Scraper see private or restricted playlists?

No. The Youtube Playlist Scraper is strictly for public transparency. If a logged-out guest cannot see the playlist on the platform’s public page, the Youtube Playlist Scraper will not extract it. 🔒

📅 Does it extract the full tags for every video?

Yes. The Youtube Playlist Scraper parses the hidden metadata for every video in the list, providing you with the exact tags used for SEO. ✅ 🏷️

♾️ Is there a limit on playlist length?

The Youtube Playlist Scraper is built for extreme scale. Whether a playlist has 10 videos or 1,000, the Youtube Playlist Scraper processes the entire collection with surgical precision. 🚀

📂 What output formats are available?

The Youtube Playlist Scraper delivers results in JSON, CSV, and Excel (XLSX). 📁

#### 🛡️ 10. Compliance & Ethical Framework

Using the Youtube Playlist Scraper comes with a commitment to professional data ethics and responsible usage. ⚖️ 🤝

🏛️ Respecting Public Permissions: The Youtube Playlist Scraper only extracts data that platforms and creators have shared with the general public.

🚦 Rate Limit Adherence: The Youtube Playlist Scraper is designed to be a "considerate visitor," maintaining optimal traffic patterns to protect server integrity.

⚖️ Data Privacy Alignment: The Youtube Playlist Scraper focuses on content and metrics; it does not harvest private emails, phone numbers, or hidden personal contacts. 🔒

🤝 Strategic Integrity: We advocate for using the Youtube Playlist Scraper for competitive transparency and academic research within legal boundaries (GDPR/CCPA). 🏛️

#### 📊 11. Data Enrichment API Ecosystem

Integrate the Youtube Playlist Scraper with your existing tech stack to unlock even deeper insights: 🔗 🧪

| Enrichment Feature      | Tool 🛠️          | Purpose with YouTube Playlist Scraper 💡                                                                    |
| ----------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------- |
| **Sentiment Analysis**  | Azure AI         | Scores the emotional tone and intent of playlist video descriptions extracted by the scraper 🧠🙂           |
| **Object Recognition**  | Google Vision    | Identifies products, objects, or logos within video thumbnails collected by the scraper 👓🖼️                |
| **SEO Ranking**         | Ahrefs / Semrush | Maps extracted keywords to real-world search volume, competition, and ranking difficulty 📈🔍               |
| **Automated Summaries** | OpenAI           | Generates concise, one-paragraph summaries that reveal overall playlist strategy and content direction 🤖📝 |

#### 🏁 12. Conclusion: Master the Video Inventory

In the data-driven landscape of 2026, those who can observe their environment most accurately win. The Youtube Playlist Scraper is the ultimate bridge between unstructured social noise and clear, strategic business intelligence. It eliminates the manual work of monitoring and replaces it with a streamlined, automated, and intelligent data pipeline. 🌟 🏆

Whether you are a startup looking for your first viral hook, an agency building a regional audit, or a researcher tracking the history of public discourse, the Youtube Playlist Scraper is your most reliable partner. By choosing the Youtube Playlist Scraper, you are investing in a scalable intelligence strategy that will serve your organization for years to come. 🚀📈

#### 🚀 Get Started with the Youtube Playlist Scraper Today!

Are you ready to revolutionize your social data collection? The Youtube Playlist Scraper is waiting for your first target URL. If you need a custom configuration for the Youtube Playlist Scraper or help setting up a cloud-based schedule, our technical team is here to support you. 🤝 ✨

# Actor input Schema

## `id` (type: `string`):

Enter the YouTube Playlist ID or full URL (e.g., PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk).

## `maxLimit` (type: `integer`):

Maximum number of videos to scrape from the playlist.

## Actor input object example

```json
{
  "id": "PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk",
  "maxLimit": 100
}
```

# 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 = {
    "id": "PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk"
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapers-hub/youtube-playlist-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 = { "id": "PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk" }

# Run the Actor and wait for it to finish
run = client.actor("scrapers-hub/youtube-playlist-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 '{
  "id": "PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk"
}' |
apify call scrapers-hub/youtube-playlist-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Youtube Playlist Scraper",
        "description": "🎬 YouTube Playlist Scraper extracts videos, titles, links, and metadata from any playlist fast. 🚀 Perfect for content research, creators, and SEO teams. 🔎 Automate playlist insights with a reliable, easy-to-use tool.",
        "version": "1.0",
        "x-build-id": "Z3RgFEczx2Nv58z6J"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapers-hub~youtube-playlist-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapers-hub-youtube-playlist-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/scrapers-hub~youtube-playlist-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapers-hub-youtube-playlist-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/scrapers-hub~youtube-playlist-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapers-hub-youtube-playlist-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": [
                    "id"
                ],
                "properties": {
                    "id": {
                        "title": "Playlist ID or URL",
                        "type": "string",
                        "description": "Enter the YouTube Playlist ID or full URL (e.g., PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk).",
                        "default": "PLO4GMKt6dsVzDk9hRqi1fCXVBW5T1qYEk"
                    },
                    "maxLimit": {
                        "title": "Max Videos Limit",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of videos to scrape from the playlist.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
