{
  "openapi": "3.0.1",
  "info": {
    "title": "YouTube Music Scraper — Plays, Monthly Audience & Charts",
    "description": "Scrape YouTube Music without an account: songs with play counts, artists with monthly audience, subscribers and total views, albums with tracklists, playlists, charts for 69 countries + Global with rank and trend, new releases, lyrics and similar artists.",
    "version": "0.1",
    "x-build-id": "bCii9DMsSbJe8MA6z"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~youtube-music-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-youtube-music-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-music-scraper/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-youtube-music-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-music-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-youtube-music-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": {
          "searchQueries": {
            "title": "🔍 Search terms",
            "type": "array",
            "description": "Search YouTube Music, one term per line — an artist, song, album, genre or mood. Each term runs its own search.",
            "items": {
              "type": "string"
            }
          },
          "searchType": {
            "title": "🎚️ Search for",
            "enum": [
              "songs",
              "videos",
              "albums",
              "artists",
              "community_playlists",
              "featured_playlists",
              "podcasts",
              "episodes",
              "profiles",
              "all"
            ],
            "type": "string",
            "description": "Which YouTube Music results tab to scrape for every search term. \"Top results\" is the mixed first page (top result + a few of each type).",
            "default": "songs"
          },
          "maxResultsPerQuery": {
            "title": "🔢 Max results per search term",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many results to collect for each search term (20 per page, duplicates removed). Songs searches go about 500 deep.",
            "default": 50
          },
          "startUrls": {
            "title": "🔗 YouTube Music links",
            "type": "array",
            "description": "Artist (music.youtube.com/channel/UC…), album (/browse/MPREb_…), playlist (/playlist?list=…), song (/watch?v=…), podcast show (/browse/MPSP…) and podcast episode (/browse/MPED…) links. youtube.com / youtu.be song links and bare IDs work too.",
            "items": {
              "type": "string"
            }
          },
          "artistDepth": {
            "title": "🎤 Artist depth",
            "enum": [
              "summary",
              "allSongs",
              "discography",
              "full"
            ],
            "type": "string",
            "description": "For artist links. Summary: one row with monthly audience, subscribers, total views, top songs, albums, singles, videos and similar artists. All songs: also one row per song in the artist's full song list, with play counts. Discography: also one row per album / single / EP with its full tracklist. Everything: both.",
            "default": "summary"
          },
          "albumTracksAsRows": {
            "title": "💿 Album tracks as rows",
            "type": "boolean",
            "description": "Albums always include their tracklist (tracks with plays and duration). Turn this on to also save every album track as its own song row.",
            "default": false
          },
          "chartCountries": {
            "title": "📈 Chart countries",
            "type": "array",
            "description": "Scrape the YouTube Music charts for these countries (Global included). Leave empty to skip charts.",
            "items": {
              "type": "string",
              "enum": [
                "ZZ",
                "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"
              ],
              "enumTitles": [
                "Global",
                "Argentina",
                "Australia",
                "Austria",
                "Belgium",
                "Bolivia",
                "Brazil",
                "Canada",
                "Chile",
                "Colombia",
                "Costa Rica",
                "Czechia",
                "Denmark",
                "Dominican Republic",
                "Ecuador",
                "Egypt",
                "El Salvador",
                "Estonia",
                "Finland",
                "France",
                "Germany",
                "Guatemala",
                "Honduras",
                "Hong Kong",
                "Hungary",
                "Iceland",
                "India",
                "Indonesia",
                "Ireland",
                "Israel",
                "Italy",
                "Japan",
                "Kenya",
                "Luxembourg",
                "Malaysia",
                "Mexico",
                "Netherlands",
                "New Zealand",
                "Nicaragua",
                "Nigeria",
                "Norway",
                "Panama",
                "Paraguay",
                "Peru",
                "Philippines",
                "Poland",
                "Portugal",
                "Romania",
                "Russia",
                "Saudi Arabia",
                "Serbia",
                "Singapore",
                "South Africa",
                "South Korea",
                "Spain",
                "Sweden",
                "Switzerland",
                "Taiwan",
                "Tanzania",
                "Thailand",
                "Turkey",
                "Uganda",
                "Ukraine",
                "United Arab Emirates",
                "United Kingdom",
                "United States",
                "Uruguay",
                "Vietnam",
                "Zimbabwe"
              ]
            }
          },
          "chartTypes": {
            "title": "📊 Chart types",
            "type": "array",
            "description": "Which chart sections to save. Not every country has every section: top artists and the music-video charts exist everywhere; top albums are US-only; weekly top podcast shows (50 ranked shows) exist for the US, Canada and Mexico; genre charts (Jazz, Hip hop…) for the US and language charts (Tamil, Punjabi…) for India.",
            "items": {
              "type": "string",
              "enum": [
                "topArtists",
                "topAlbums",
                "videoCharts",
                "genreCharts",
                "podcasts"
              ],
              "enumTitles": [
                "Top artists",
                "Top albums (US)",
                "Top music videos & trending",
                "Genre (US) / language (India) charts",
                "Weekly top podcast shows (US, CA, MX)"
              ]
            },
            "default": [
              "topArtists",
              "topAlbums",
              "videoCharts"
            ]
          },
          "expandChartPlaylists": {
            "title": "📋 Expand chart lists",
            "type": "boolean",
            "description": "Save every ranked entry of the music-video, trending and genre charts (up to 100 each, with rank and trend). Off: one row per chart instead.",
            "default": true
          },
          "includeNewReleases": {
            "title": "🆕 New releases",
            "type": "boolean",
            "description": "Also save the current New Releases albums and singles.",
            "default": false
          },
          "podcastLists": {
            "title": "🎙️ Podcast lists",
            "type": "array",
            "description": "YouTube Music podcast lists to save, for every country in \"Podcast countries\". Popular shows: the ~180-200 most popular shows, ranked. Popular episodes: the 200 most popular episodes with views, publish date, length and description. Shows by category: Comedy, Sports, True crime and 11 more (24 shows each). Leave empty to skip podcasts.",
            "items": {
              "type": "string",
              "enum": [
                "popularShows",
                "popularEpisodes",
                "categories"
              ],
              "enumTitles": [
                "Popular shows (ranked)",
                "Popular episodes (ranked)",
                "Shows by category"
              ]
            }
          },
          "podcastCountries": {
            "title": "🌍 Podcast countries",
            "type": "array",
            "description": "Countries for the podcast lists (popular shows and episodes differ by country). Leave empty to use \"Country\" below (US by default). Category lists are the same in every country today, so one country is enough for them.",
            "items": {
              "type": "string",
              "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"
              ],
              "enumTitles": [
                "Argentina",
                "Australia",
                "Austria",
                "Belgium",
                "Bolivia",
                "Brazil",
                "Canada",
                "Chile",
                "Colombia",
                "Costa Rica",
                "Czechia",
                "Denmark",
                "Dominican Republic",
                "Ecuador",
                "Egypt",
                "El Salvador",
                "Estonia",
                "Finland",
                "France",
                "Germany",
                "Guatemala",
                "Honduras",
                "Hong Kong",
                "Hungary",
                "Iceland",
                "India",
                "Indonesia",
                "Ireland",
                "Israel",
                "Italy",
                "Japan",
                "Kenya",
                "Luxembourg",
                "Malaysia",
                "Mexico",
                "Netherlands",
                "New Zealand",
                "Nicaragua",
                "Nigeria",
                "Norway",
                "Panama",
                "Paraguay",
                "Peru",
                "Philippines",
                "Poland",
                "Portugal",
                "Romania",
                "Russia",
                "Saudi Arabia",
                "Serbia",
                "Singapore",
                "South Africa",
                "South Korea",
                "Spain",
                "Sweden",
                "Switzerland",
                "Taiwan",
                "Tanzania",
                "Thailand",
                "Turkey",
                "Uganda",
                "Ukraine",
                "United Arab Emirates",
                "United Kingdom",
                "United States",
                "Uruguay",
                "Vietnam",
                "Zimbabwe"
              ]
            }
          },
          "podcastCategories": {
            "title": "🗂️ Podcast 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"
              ]
            }
          },
          "podcastDepth": {
            "title": "🔎 Podcast depth",
            "enum": [
              "summary",
              "details",
              "episodes"
            ],
            "type": "string",
            "description": "For podcast shows found in podcast lists, the podcast chart or a podcast search. Summary: the row as listed. Details: also open each show and add its description (one extra request per show; episodes found by search get views, length and description). Latest episodes: details plus one row per episode, the newest of each show up to \"Episodes per show\".",
            "default": "summary"
          },
          "maxEpisodesPerShow": {
            "title": "🎧 Episodes per show",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "How many of a show's newest episodes to save: for podcast show links, and for listed shows when Podcast depth is \"Latest episodes\". 20 come with the show page, then 100 per extra page. 0 = the show row only.",
            "default": 20
          },
          "newerThan": {
            "title": "📅 Episodes newer than",
            "type": "string",
            "description": "Only save podcast episodes published on or after this day: a date (2026-09-01) or an age (7 days, 2 weeks, today). Older episodes are skipped and never charged. YouTube Music shows recent dates as \"3d ago\", so the date is accurate to about a day."
          },
          "fetchDetails": {
            "title": "🧾 Open every result",
            "type": "boolean",
            "description": "For albums, artists and playlists found by search, charts or new releases: open each one and add its full details (album tracklists with plays, artist stats and top songs, playlist tracks). One extra request per result.",
            "default": false
          },
          "includeLyrics": {
            "title": "📝 Lyrics",
            "type": "boolean",
            "description": "Add full lyrics (and their source) to every song and music video. Two extra requests per song.",
            "default": false
          },
          "includeRelated": {
            "title": "🧭 Related songs & similar artists",
            "type": "boolean",
            "description": "Add up to 20 related songs and 20 similar artists to every song and music video.",
            "default": false
          },
          "includeCredits": {
            "title": "✍️ Song credits",
            "type": "boolean",
            "description": "Add the song credits YouTube Music shows to every audio song: performers, writers, producers and the label (\"Music metadata provided by\"). One small extra request per song; music videos and user uploads have no credits. Credits go on song rows only: for album links and discographies turn on \"Album tracks as rows\" to get them for each track.",
            "default": false
          },
          "language": {
            "title": "🌐 Language",
            "type": "string",
            "description": "Interface language code (en, es, hi, de…). Play counts and audience numbers are parsed from English text, so keep \"en\" for analytics.",
            "default": "en"
          },
          "country": {
            "title": "📍 Country",
            "type": "string",
            "description": "Two-letter country code used to localize search results (US, IN, GB, BR…). Charts use \"Chart countries\" above.",
            "default": "US"
          },
          "maxItems": {
            "title": "🔢 Max items (whole run)",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows in total. Leave empty for no limit."
          },
          "maxConcurrency": {
            "title": "⚡ Parallel requests",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "How many requests run at once.",
            "default": 10
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy",
            "type": "object",
            "description": "Apify datacenter proxy works well; requests that get blocked are retried on residential proxies automatically.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}