YouTube Playlist API Documentation

GET   /api/v1/search?engine=youtube_playlist

The YouTube Playlist API retrieves the videos of a public YouTube playlist. It returns playlist details, the owner channel, and the playlist videos with pagination support.

API Parameters

Playlist

  • Name
    playlist_id
    Required
    Required
    Description

    Parameter defines the ID of the YouTube playlist to list, e.g. PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI. It is the list value of a playlist URL. Channel upload playlists (UU...) and shorts playlists (UUSH..., UUPS...) work too. Shorts return their first 100 items with is_short. YouTube Music curated playlists (RDCLAK5uy_...) work too. Watch Later (WL), Liked Videos (LL), Liked Music (LM), and generated mixes (other RD... ids) are private or auto-generated and are rejected.

Localization

  • Name
    gl
    Required
    Optional
    Description

    Parameter defines the country to use for the search. It's a two-letter country code. (e.g., us for the United States, gb for United Kingdom, or fr for France). Head to the YouTube countries for a full list of supported YouTube countries. Default: US.

  • Name
    hl
    Required
    Optional
    Description

    Parameter defines the interface language of the response, which affects localized strings such as published_time and last_updated. (e.g., en for English, es for Spanish, or pt-pt for European Portuguese). Head to the YouTube languages for a full list of supported YouTube languages. Default: en.

Pagination

  • Name
    next_page_token
    Required
    Optional
    Description

    Parameter defines the token used to retrieve the next page of videos. Use the pagination.next_page_token value returned for the same playlist_id. A token from another playlist is rejected. Each page returns up to 100 videos and the last page carries no token.

Engine

  • Name
    engine
    Required
    Required
    Description

    Parameter defines an engine that will be used to retrieve real-time data. It must be set to youtube_playlist.

API key

  • Name
    api_key
    Required
    Required
    Description

    The api_key authenticates your requests. Use it as a query parameter (https://www.searchapi.io/api/v1/search?api_key=YOUR_API_KEY) or in the Authorization header (Bearer YOUR_API_KEY).

Zero Data Retention

  • Name
    zero_retention
    Enterprise Only
    Enterprise Only
    Required
    Optional
    Description

    Set this parameter to true to disable all logging and persistent storage. No request parameters, HTML, or JSON responses are stored or logged. Suitable for high-compliance use cases. Debugging and support may be limited while enabled.

API Examples

Playlist videos

Playlist videos
GET
https://www.searchapi.io/api/v1/search?engine=youtube_playlist&playlist_id=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "youtube_playlist",
  "playlist_id": "PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_dbyrKD1vgMQrI2LgeJNER4zQ",
    "status": "Success",
    "created_at": "2026-09-30T14:23:24Z",
    "request_time_taken": 4.11,
    "parsing_time_taken": 0.03,
    "total_time_taken": 4.14,
    "request_url": "https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_dbyrKD1vgMQrI2LgeJNER4zQ.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_dbyrKD1vgMQrI2LgeJNER4zQ"
  },
  "search_parameters": {
    "engine": "youtube_playlist",
    "playlist_id": "PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
    "hl": "en",
    "gl": "US"
  },
  "playlist": {
    "id": "PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
    "title": "Popular Music Videos",
    "link": "https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
    "video_count": 183,
    "views": 1045668940,
    "last_updated": "Jul 17, 2026",
    "thumbnail": "https://i.ytimg.com/vi/fOT0BUpITw8/hqdefault.jpg?sqp=-oaymwEXCNACELwBSFryq4qpAwkIARUAAIhCGAE=&rs=AOn..."
  },
  "channel": {
    "id": "UC-9-kyTW8ZkZNDHQJ6FgpwQ",
    "title": "Music",
    "link": "https://www.youtube.com/channel/UC-9-kyTW8ZkZNDHQJ6FgpwQ",
    "thumbnail": "https://yt3.ggpht.com/M1Hbe-1uiAYWJI8-1ZzV3uf7MwoWcEmKAPbIivbKs3buggZcVLov91trUzy8y-96unrkOcv3oA=s17..."
  },
  "videos": [
    {
      "position": 1,
      "id": "fOT0BUpITw8",
      "title": "BELLAKEO (Video Oficial) - Peso Pluma, Anitta",
      "link": "https://www.youtube.com/watch?v=fOT0BUpITw8&list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI",
      "length": "3:55",
      "length_seconds": 235,
      "views": 764000000,
      "published_time": "2 years ago",
      "is_music": true,
      "channel": {
        "id": "UCzrM_068Odho89mTRrrxqbA",
        "title": "Peso Pluma",
        "link": "https://www.youtube.com/channel/UCzrM_068Odho89mTRrrxqbA",
        "is_verified": true,
        "thumbnail": "https://yt3.ggpht.com/shYKZTjAV9vcGz4GWpJ_66iuvOsah34oIV2loAQzvB4Qb-Ta-DwvCOwl39uL45EG4YajxDcq=s88-c..."
      },
      "thumbnail": {
        "static": "https://i.ytimg.com/vi/fOT0BUpITw8/hqdefault.jpg?sqp=-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs...",
        "rich": "https://i.ytimg.com/vi/fOT0BUpITw8/hqdefault.jpg?sqp=-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg=..."
      }
    },
    "..."
  ],
  "pagination": {
    "next_page_token": "4qmFsgKBARIkVkxQTEZncXVMbkw1OWFsQ2xfMlRRdk9pRDVWZ20xaENhR1NJGjRDQUY2SGxCVU9rTkhVV2xGUlZrMVVXdGFRazFVWXpOT1JFazFUWHBSZVU5RVdRJTNEJTNEmgIiUExGZ3F1TG5MNTlhbENsXzJUUXZPaUQ1VmdtMWhDYUdTSQ%3D%3D"
  }
}

Next page

Next page

Pages hold up to 100 videos. Pass the pagination.next_page_token of a response back as next_page_token to get the following page, and position keeps counting across them. Curated (RDCLAK5uy_...) playlists are the exception: each of their pages restarts at 1 and only the first carries the channel block. The last page has no token, and shorts playlists return a single page.

GET
https://www.searchapi.io/api/v1/search?engine=youtube_playlist&next_page_token=4qmFsgJtEhpWTFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdxo0Q0FGNkhsQlVPa05IVVdsRlJGazFUa1JLUWxKVVRrUlBSRWw1VDBWTmVWSkVSUSUzRCUzRJoCGFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdw%253D%253D&playlist_id=UUEBb1b_L6zDS3xTUrIALZOw
Request
import requests

url = "https://www.searchapi.io/api/v1/search"
params = {
  "engine": "youtube_playlist",
  "playlist_id": "UUEBb1b_L6zDS3xTUrIALZOw",
  "next_page_token": "4qmFsgJtEhpWTFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdxo0Q0FGNkhsQlVPa05IVVdsRlJGazFUa1JLUWxKVVRrUlBSRWw1VDBWTmVWSkVSUSUzRCUzRJoCGFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdw%3D%3D"
}

response = requests.get(url, params=params)
print(response.text)
Response
{
  "search_metadata": {
    "id": "search_Y80BKjxagxvjcLZ35nMQeWO6",
    "status": "Success",
    "created_at": "2026-09-30T14:23:28Z",
    "request_time_taken": 1.79,
    "parsing_time_taken": 0.02,
    "total_time_taken": 1.81,
    "request_url": "https://www.youtube.com/playlist?list=UUEBb1b_L6zDS3xTUrIALZOw",
    "html_url": "https://www.searchapi.io/api/v1/searches/search_Y80BKjxagxvjcLZ35nMQeWO6.html",
    "json_url": "https://www.searchapi.io/api/v1/searches/search_Y80BKjxagxvjcLZ35nMQeWO6"
  },
  "search_parameters": {
    "engine": "youtube_playlist",
    "playlist_id": "UUEBb1b_L6zDS3xTUrIALZOw",
    "hl": "en",
    "gl": "US",
    "next_page_token": "4qmFsgJtEhpWTFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdxo0Q0FGNkhsQlVPa05IVVdsRlJGazFUa1JLUWxKVVRrUlBSRWw1VDBWTmVWSkVSUSUzRCUzRJoCGFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdw%3D%3D"
  },
  "playlist": {
    "id": "UUEBb1b_L6zDS3xTUrIALZOw",
    "title": "Uploads from MIT OpenCourseWare",
    "link": "https://www.youtube.com/playlist?list=UUEBb1b_L6zDS3xTUrIALZOw",
    "video_count": 8133,
    "views": 153931,
    "last_updated": "Sep 22, 2026"
  },
  "channel": {
    "id": "UCEBb1b_L6zDS3xTUrIALZOw",
    "title": "MIT OpenCourseWare",
    "handle": "@mitocw",
    "link": "https://www.youtube.com/@mitocw",
    "thumbnail": "https://yt3.ggpht.com/swNtJDBP8xHP_zwrbL4tCUQt02B-7Mr8XggFMBjANHn_Q5aUtPmxPs8f8Ag3wO2O-rJpsQQGpA=s17..."
  },
  "videos": [
    {
      "position": 101,
      "id": "avzdqL0-FsY",
      "title": "Pool Testing Video 2 (No Audio)",
      "link": "https://www.youtube.com/watch?v=avzdqL0-FsY&list=UUEBb1b_L6zDS3xTUrIALZOw",
      "length": "1:56",
      "length_seconds": 116,
      "views": 309,
      "published_time": "3 months ago",
      "channel": {
        "id": "UCEBb1b_L6zDS3xTUrIALZOw",
        "title": "MIT OpenCourseWare",
        "handle": "@mitocw",
        "link": "https://www.youtube.com/@mitocw",
        "is_verified": true,
        "thumbnail": "https://yt3.ggpht.com/swNtJDBP8xHP_zwrbL4tCUQt02B-7Mr8XggFMBjANHn_Q5aUtPmxPs8f8Ag3wO2O-rJpsQQGpA=s68..."
      },
      "thumbnail": {
        "static": "https://i.ytimg.com/vi/avzdqL0-FsY/hqdefault.jpg?sqp=-oaymwFACKgBEF5IWvKriqkDMwgBFQAAiEIYAdgBAeIBCgg...",
        "rich": "https://i.ytimg.com/vi/avzdqL0-FsY/hqdefault.jpg?sqp=-oaymwFBCNACELwBSFryq4qpAzMIARUAAIhCGAHYAQHiAQo..."
      }
    },
    "..."
  ],
  "pagination": {
    "next_page_token": "4qmFsgJrEhpWTFVVRUJiMWJfTDZ6RFMzeFRVcklBTFpPdxoyQ0FKNkgxQlVPa05OWjBKSmFFRXdUMVJGTlU5RVJUUlNha3BHVW1wQ1JrNUZSVEklM0SaAhhVVUVCYjFiX0w2ekRTM3hUVXJJQUxaT3c%3D"
  }
}