{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Podcast Scraper — Top Charts, Popular Shows & Episodes",
    "description": "Scrape YouTube podcasts without an account: the weekly top podcast chart (US, Canada, Mexico), the most popular shows and episodes in any country, shows by category, podcast search and every episode of a show, with views, publish date, length and description.",
    "version": "0.1",
    "x-build-id": "XM1OdigKhdMhhd4fE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~youtube-podcast-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-youtube-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/yugenox~youtube-podcast-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-youtube-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/yugenox~youtube-podcast-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-youtube-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",
        "properties": {
          "mode": {
            "title": "🎙️ What to scrape",
            "enum": [
              "charts",
              "popular",
              "category",
              "search",
              "shows"
            ],
            "type": "string",
            "description": "Weekly top podcast chart: YouTube Music's 50 top shows this week (US, Canada and Mexico). Popular: the most popular shows (~180-200) or episodes (200) in a country, ranked. Shows by category: Comedy, Sports, True crime and 11 more (24 shows each). Search: podcasts or episodes for your search terms. Show links: podcast shows (with their newest episodes) and episodes you paste. Empty = the chart (or Popular for a country without the chart)."
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "AR",
              "AU",
              "AT",
              "BE",
              "BO",
              "BR",
              "CA",
              "CL",
              "CO",
              "CR",
              "CZ",
              "DK",
              "DO",
              "EC",
              "EG",
              "SV",
              "EE",
              "FI",
              "FR",
              "DE",
              "GT",
              "HN",
              "HK",
              "HU",
              "IS",
              "IN",
              "ID",
              "IE",
              "IL",
              "IT",
              "JP",
              "KE",
              "LU",
              "MY",
              "MX",
              "NL",
              "NZ",
              "NI",
              "NG",
              "NO",
              "PA",
              "PY",
              "PE",
              "PH",
              "PL",
              "PT",
              "RO",
              "RU",
              "SA",
              "RS",
              "SG",
              "ZA",
              "KR",
              "ES",
              "SE",
              "CH",
              "TW",
              "TZ",
              "TH",
              "TR",
              "UG",
              "UA",
              "AE",
              "GB",
              "US",
              "UY",
              "VN",
              "ZW"
            ],
            "type": "string",
            "description": "The chart and the popular lists differ by country. Categories are the same everywhere today.",
            "default": "US"
          },
          "resultType": {
            "title": "📋 Shows or episodes",
            "enum": [
              "shows",
              "episodes",
              "both"
            ],
            "type": "string",
            "description": "For Popular and Search: save shows, episodes, or both.",
            "default": "shows"
          },
          "categories": {
            "title": "🗂️ Categories",
            "type": "array",
            "description": "For Shows by category: which categories to save. Leave empty for all of them.",
            "items": {
              "type": "string",
              "enum": [
                "Comedy",
                "Sports",
                "Society & culture",
                "Political commentary",
                "Music",
                "Business",
                "Gaming",
                "Religion & spirituality",
                "True crime",
                "Science & technology",
                "TV & film",
                "Health & wellness",
                "History",
                "Arts & fiction"
              ]
            }
          },
          "searchQueries": {
            "title": "🔍 Search terms",
            "type": "array",
            "description": "For Search: one term per line, e.g. a topic, a host or a show name.",
            "items": {
              "type": "string"
            }
          },
          "showUrls": {
            "title": "🔗 Show and episode links",
            "type": "array",
            "description": "For Show links: podcast show links (music.youtube.com/browse/MPSP…, music.youtube.com or youtube.com playlist?list=PL… links) and episode links (music.youtube.com/browse/MPED… or a watch link). Each show comes with its newest episodes.",
            "items": {
              "type": "string"
            }
          },
          "maxEpisodesPerShow": {
            "title": "🎧 Episodes per show",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many of each show's newest episodes to save. Show links: 20 when empty (0 = the show row only). Chart, Popular, Category and Search: set it to also save the newest episodes of every show found (empty = shows only)."
          },
          "includeShowDetails": {
            "title": "📝 Show details",
            "type": "boolean",
            "description": "Open every show found and add its description (one extra request per show). Episodes found by search also get views, length and description. Show links always include them.",
            "default": false
          },
          "newerThan": {
            "title": "📅 Episodes newer than",
            "type": "string",
            "description": "Only save episodes published on or after this day: a date (2026-09-01) or an age (7 days, 2 weeks). Older episodes are skipped and never charged; a show's episodes stop at the date. YouTube Music shows recent dates as \"3d ago\", so dates are accurate to about a day."
          },
          "maxResults": {
            "title": "🔢 Max results per list or search",
            "minimum": 1,
            "type": "integer",
            "description": "The most shows or episodes to save from the chart, each popular list, each category, and each search term per result type (\"Shows and episodes\" saves up to this many shows and this many episodes per term; search: 50 when empty). Episodes of the shows found are counted by \"Episodes per show\". For show links: the most rows in the whole run. Leave empty for everything."
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy",
            "type": "object",
            "description": "Apify datacenter proxies work well for YouTube Music (and are the cheapest). Requests YouTube Music blocks are retried on fresh IPs.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}