yabby logo

API: Playlists

Read a website's synced playlists including their videos, and curate playlist visibility via the REST API.

Playlists sync from YouTube alongside videos. Use these endpoints to render playlists on a custom frontend or to control which playlists appear on your yabby site. See API: Getting started for authentication.

List playlists of a website

GET /api/v1/websites/{websiteId}/playlists

Returns the website's playlists, featured first (the same order the public site uses). Pass includeHidden=true to also return hidden playlists.

curl "https://www.yabby.page/api/v1/websites/{websiteId}/playlists" \
  -H "Authorization: Bearer yabby_your_api_key"
{
  "data": [
    {
      "id": "…",
      "channelId": "…",
      "youtubePlaylistId": "PL…",
      "title": "Tutorials",
      "description": "…",
      "thumbnail": "https://i.ytimg.com/…",
      "videoCount": 24,
      "isHidden": false,
      "isFeatured": true,
      "featuredAt": "2026-06-01T09:00:00.000Z"
    }
  ]
}

Get a playlist with its videos

GET /api/v1/playlists/{playlistId}

Returns the playlist including its videos in YouTube order:

{
  "data": {
    "id": "…",
    "title": "Tutorials",
    "videos": [
      {
        "position": 0,
        "video": {
          "id": "…",
          "youtubeVideoId": "…",
          "title": "…",
          "thumbnail": "…",
          "duration": "PT8M2S",
          "viewCount": 4321,
          "publishedAt": "…",
          "isHidden": false
        }
      }
    ]
  }
}

Curate a playlist

PATCH /api/v1/playlists/{playlistId}
FieldTypeNotes
isHiddenbooleanHide/unhide the playlist on the site
isFeaturedbooleanPin it to the top of the playlist section

At least one field is required.

curl -X PATCH https://www.yabby.page/api/v1/playlists/{playlistId} \
  -H "Authorization: Bearer yabby_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "isHidden": true }'

On this page