# YouTube Music Podcast Scraper 🎧 (`easyapi/youtube-music-podcast-scraper`)

Scrape YouTube Music podcast playlists data by keywords. Extract detailed information including titles, creators, thumbnails, playlist IDs, and URLs. Perfect for podcast discovery and analysis.

- **URL**: https://beta-securitybyobscurity.apify.com/easyapi/youtube-music-podcast-scraper.md
- **Developed by:** [EasyApi](https://beta-securitybyobscurity.apify.com/easyapi) (community)
- **Categories:** Social media, Integrations, Other
- **Stats:** 26 total users, 5 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

$19.99/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

# README

## YouTube Music Podcast Playlist Scraper 🎧

Powerful scraper that extracts podcast playlist information from YouTube Music based on your keywords. Get comprehensive data about podcast playlists including titles, creators, thumbnails, and more!

### 🎯 Use Cases

- Discover podcast playlists by specific topics or keywords
- Research podcast content trends
- Build podcast recommendation systems
- Track podcast creators and their content
- Analyze podcast playlist metadata

### ✨ Features

- 🔍 Search by multiple keywords
- 📊 Get detailed playlist information
- 🖼️ Multiple thumbnail sizes included
- 🔗 Direct links to playlists and channels
- ⚡ Fast and efficient scraping
- 🤖 Stealth scraping with anti-detection
- 📱 Mobile-friendly user agent rotation

### 🔢 Output Dataset

Each record contains:

- Keyword used for search
- Playlist title
- Creator name
- Thumbnail URLs in various sizes
- Playlist ID
- Creator channel ID
- Direct URLs to playlist and channel
- Timestamp of when data was scraped

### 💡 Input Parameters

- `keywords` (Array): List of keywords to search for podcast playlists
- `maxItems` (Number): Maximum number of results to collect per keyword

### 🚀 Tips

- Use specific keywords for better results
- Adjust maxItems based on your needs
- Results are automatically saved to your dataset
- Each run creates a new dataset with fresh results

### 💪 Limitations

- Respects YouTube Music's rate limits
- Maximum 1000 results per keyword
- Some playlists might not be accessible in all regions

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "keywords": [
        "love"
    ],
    "maxItems": 70
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "keyword": "love",
        "data": {
            "title": "From Rewatch with Love",
            "creator": "LoadingReadyRun",
            "thumbnails": [
                {
                    "url": "https://i.ytimg.com/pl_c/PLV_qemO0oathZWE6xVp94GSevMTcrurPt/studio_square_thumbnail.jpg?sqp=CLDmor0G-oaymwEICDwQPCAASFqi85f_AwYIu5LLtAY&rs=AMzJL3kx1ruA40K2CouInqFZVqCY02uwAA",
                    "width": 60,
                    "height": 60
                },
                {
                    "url": "https://i.ytimg.com/pl_c/PLV_qemO0oathZWE6xVp94GSevMTcrurPt/studio_square_thumbnail.jpg?sqp=CLDmor0G-oaymwEICHgQeCAASFqi85f_AwYIu5LLtAY&rs=AMzJL3l0OBRQ_8KuAfADHizV5xuU7ktlxw",
                    "width": 120,
                    "height": 120
                },
                {
                    "url": "https://i.ytimg.com/pl_c/PLV_qemO0oathZWE6xVp94GSevMTcrurPt/studio_square_thumbnail.jpg?sqp=CLDmor0G-oaymwEKCOIBEOIBIABIWqLzl_8DBgi7ksu0Bg&rs=AMzJL3nhMrWIDiTCYcR0-ZaLfzmo0rI4zA",
                    "width": 226,
                    "height": 226
                },
                {
                    "url": "https://i.ytimg.com/pl_c/PLV_qemO0oathZWE6xVp94GSevMTcrurPt/studio_square_thumbnail.jpg?sqp=CLDmor0G-oaymwEKCKAEEKAEIABIWqLzl_8DBgi7ksu0Bg&rs=AMzJL3lmsEnx5JQ_swZzO5dnEEs5Ln7NIQ",
                    "width": 544,
                    "height": 544
                }
            ],
            "playlistId": "PLV_qemO0oathZWE6xVp94GSevMTcrurPt",
            "creatorChannelId": "UCwjN2uVdL9A0i3gaIHKFzuA",
            "type": "playlist",
            "playlistUrl": "https://music.youtube.com/playlist?list=PLV_qemO0oathZWE6xVp94GSevMTcrurPt",
            "channelUrl": "https://music.youtube.com/channel/UCwjN2uVdL9A0i3gaIHKFzuA"
        },
        "scrapedAt": "2025-02-09T13:52:48.526Z"
    },
    ...
]
```

### Related Actors

- 🎵 [YouTube Music Song Scraper](https://apify.com/easyapi/youtube-music-song-scraper) - Extract comprehensive song details from YouTube Music search results including title, artist, and play counts.

- 🎵 [YouTube Music Video Scraper](https://apify.com/easyapi/youtube-music-video-scraper) - Get video information from YouTube Music including titles, views, duration and channel details.

- 🎵 [YouTube Music Playlist Scraper](https://apify.com/easyapi/youtube-music-playlist-scraper) - Extract playlist data by keywords including title, thumbnail URLs, creator info and song count.

- 🎵 [YouTube Music Artist Scraper](https://apify.com/easyapi/youtube-music-artist-scraper) - Collect artist information including names, subscriber counts and channel details.

- 🎵 [YouTube Music Profile Scraper](https://apify.com/easyapi/youtube-music-profile-scraper) - Extract channel profiles and details from YouTube Music search results.

- 🎵 [All-in-One YouTube Music Scraper](https://apify.com/easyapi/all-in-one-youtube-music-scraper) - Comprehensive scraper for songs, videos, albums, artists, playlists and profiles.

- 🎥 [YouTube Video Data Scraper](https://apify.com/easyapi/youtube-video-data-scraper) - Extract comprehensive video metadata for content analysis and research.

- 📺 [YouTube Comments Scraper](https://apify.com/easyapi/youtube-comments-scraper) - Scrape video comments with pagination support including text, author and timestamps.

- 🔍 [Youtube Search Scraper](https://apify.com/easyapi/youtube-search-scraper) - Fetch search results based on keywords without requiring YouTube account.

- 🎥 [YouTube Video Metadata Scraper](https://apify.com/easyapi/youtube-video-metadata-scraper) - Extract rich metadata from YouTube videos including title, views and likes.

- 🎥 [YouTube Channel Shorts Scraper](https://apify.com/easyapi/youtube-channel-shorts-scraper) - Get video details from any channel's Shorts content.

- 📝 [YouTube Description Extractor](https://apify.com/easyapi/youtube-description-extractor) - Extract complete descriptions from YouTube videos automatically.

- 🎥 [YouTube Channel ID Extractor](https://apify.com/easyapi/youtube-channel-id-extractor) - Convert YouTube channel URLs to channel IDs effortlessly.

- 📊 [YouTube Video Statistics Scraper](https://apify.com/easyapi/youtube-video-statistics-scraper) - Get comprehensive video statistics and metadata instantly.

- 📊 [YouTube Channel Statistics Scraper](https://apify.com/easyapi/youtube-channel-statistics-scraper) - Extract channel statistics including subscriber count, views and video count.

# Actor input Schema

## `keywords` (type: `array`):

List of keywords to search for podcast playlists

## `maxItems` (type: `integer`):

Maximum number of results to collect per keyword

## Actor input object example

```json
{
  "keywords": [
    "love"
  ],
  "maxItems": 50
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/youtube-music-podcast-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 = {}

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "YouTube Music Podcast Scraper 🎧",
        "description": "Scrape YouTube Music podcast playlists data by keywords. Extract detailed information including titles, creators, thumbnails, playlist IDs, and URLs. Perfect for podcast discovery and analysis.",
        "version": "0.0",
        "x-build-id": "ZSWDyzJmHxj8Ytas8"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/easyapi~youtube-music-podcast-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-easyapi-youtube-music-podcast-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/easyapi~youtube-music-podcast-scraper/runs": {
            "post": {
                "operationId": "runs-sync-easyapi-youtube-music-podcast-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/easyapi~youtube-music-podcast-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-easyapi-youtube-music-podcast-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": [
                    "keywords"
                ],
                "properties": {
                    "keywords": {
                        "title": "Search Keywords",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "List of keywords to search for podcast playlists",
                        "default": [
                            "love"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of results to collect per keyword",
                        "default": 50
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
