YouTube
GET /v1/youtube/playlist

YouTube Playlist API

Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit.

1 credit per request
TL;DR
Playlist metadata only — title, channel{}, totalVideos, thumbnailUrl. No videos[]. Flat 1 credit. The YouTube Playlist API (YouTube) is a single authenticated GET request to /v1/youtube/playlist that responds with clean JSON and costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh. Start with 100 free credits — no credit card.

What is the YouTube Playlist API?

Paste a YouTube playlist URL and get identity JSON: platform, url, id, title, channel{id,title,handle,url}, totalVideos, thumbnailUrl, timings. No videos array — use Playlist Videos for paginated contents. Flat 1 credit (single HTML fetch, no player enrich).

What you get

  • Metadata only (no videos[]) — 1 credit
  • channel{} (not owner / channelName twins)
  • Pair with /playlist-videos for contents

Try it

Open in Playground

Fill in the parameters below and copy a ready-to-run request, or open the live Playground to run it against your account (no API key paste).

Parameters

Sign in to run live
curl "https://api.captapi.com/v1/youtube/playlist?url=https%3A%2F%2Fwww.youtube.com%2Fplaylist%3Flist%3DPLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj" \
  -H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."

Edit the parameters and the code updates instantly. Switch languages and hit copy.

Example response

{
  "success": true,
  "data": {
    "platform": "youtube",
    "url": "https://www.youtube.com/playlist?list=PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj",
    "id": "PLMC9KNkIncKtPzgY-5rmhvj7fax8fdxoj",
    "title": "Pop Music Playlist - Timeless Pop Songs (Updated Weekly 2026)",
    "channelName": "by Redlist - Just Hits",
    "owner": {
      "id": "UCs72iRpTEuwV3y6pdWYLgiw",
      "name": "by Redlist - Just Hits",
      "url": "https://www.youtube.com/@Redlist-JustHits",
      "handle": "@Redlist-JustHits"
    },
    "totalVideos": 200,
    "totalReturned": 5,
    "videos": [
      {
        "id": "ekr2nIex040",
        "url": "https://www.youtube.com/watch?v=ekr2nIex040",
        "title": "ROSÉ & Bruno Mars - APT. (Official Music Video)",
        "publishedAt": "2025-08-03T20:35:07.000Z",
        "publishedTimeText": "1y ago",
        "viewCount": 2606548493,
        "durationSeconds": 173,
        "thumbnailUrl": "https://i.ytimg.com/vi_webp/ekr2nIex040/sddefault.webp?v=6711dbac",
        "channelName": "ROSÉ",
        "channel": {
          "id": "UCBo1hnzxV9rz3WVsv__Rn1g",
          "title": "ROSÉ",
          "url": "https://www.youtube.com/channel/UCBo1hnzxV9rz3WVsv__Rn1g"
        }
      },
      {
        "id": "kPa7bsKwL-c",
        "url": "https://www.youtube.com/watch?v=kPa7bsKwL-c",
        "title": "Lady Gaga, Bruno Mars - Die With A Smile (Official Music Video)",
        "publishedAt": "2025-08-03T20:35:07.000Z",
        "publishedTimeText": "1y ago",
        "viewCount": 1782354502,
        "durationSeconds": 252,
        "thumbnailUrl": "https://i.ytimg.com/vi/kPa7bsKwL-c/sddefault.jpg",
        "channelName": "LadyGagaVEVO",
        "channel": {
          "id": "UC07Kxew-cMIaykMOkzqHtBQ",
          "title": "LadyGagaVEVO",
          "url": "https://www.youtube.com/channel/UC07Kxew-cMIaykMOkzqHtBQ"
        }
      }
    ]
  }
}

Billing metadata is returned in response headers: X-Captapi-Credits (credits charged), X-Captapi-Cache (hit or miss), and X-Captapi-Source. Failed requests (4xx/5xx) are never charged. See the full list of error codes in the error reference.

Response structure

A successful call returns success, cached, creditsUsed, and a data object with the following fields:

Top-level fields

  • platformPlatform identifier for this response (matches the endpoint's platform).
  • urlCanonical URL of the item.
  • idStable platform ID for the item.
  • titleTitle of the item.
  • channelNameName of the channel.
  • totalVideosFull playlist size from the header (not the page length).
  • totalReturnedNumber of items returned in this response.

Owner

The owner object contains:

  • idStable platform ID for the item.
  • nameName of the item or account. On profile endpoints: deprecated alias of displayName (one release).
  • urlCanonical URL of the item.
  • handleAccount handle.

Videos

Each item in videos contains:

  • idStable platform ID for the item.
  • urlCanonical URL of the item.
  • titleTitle of the item.
  • publishedAtPublish date (ISO 8601) when the platform exposes an absolute timestamp.
  • publishedTimeTextOriginal relative publish label from the platform when an exact timestamp was not available (e.g. "1 year ago").
  • viewCountView count.
  • durationSecondsLength in seconds for this item (full media length, or a segment span when the endpoint documents a start/end).
  • thumbnailUrlPlaylist cover thumbnail from the sidebar when YouTube exposes one.
  • channelNameName of the channel.
  • channelOwning YouTube channel — id, title, handle, url (same shape as sibling list endpoints).

Parameters

NameTypeRequiredDescription
urlstringYesYouTube playlist URL, e.g. https://youtube.com/playlist?list=ID. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
cachebooleanNoSet true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh. Envelope includes cached + cachedAt on hits.

Authentication: send your key as Authorization: Bearer capt_live_.... A typical call costs 1 credit. Pass cache=true for a free 24h cache hit; default is always fresh.

Using an AI agent? This endpoint is the MCP tool youtube_playlist via @captapi/mcp. Set it up →

How it works

  1. 1. Sign up — get 100 free credits, no card required.
  2. 2. Create a key from your dashboard.
  3. 3. Send one request to /v1/youtube/playlist and parse the JSON response.

Use cases

Content Pipelines

Ingest a channel's catalog in bulk.

Monitoring

Detect new uploads automatically.

Archiving

Snapshot a creator's library — metadata plus CDN media URLs (re-fetch before mediaUrlsExpireAt).

Analytics

Aggregate performance across many videos.

Frequently asked questions

What does the YouTube Playlist API do?+

The YouTube Playlist API lets you list items in bulk with metadata from a public YouTube playlist using one GET request to /v1/youtube/playlist. It returns clean JSON — no OAuth or infrastructure setup required.

How many credits does the YouTube Playlist API cost?+

Each successful call costs 1 credit. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Failed or empty results are never charged.

Do I need a YouTube API key or OAuth?+

No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.

Is the YouTube Playlist API suitable for production use?+

Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h cache (0 credits on hit); default is always fresh. Hits include cached + cachedAt. Selected profile endpoints also accept cacheMaxAge=1d|3d|7d|14d|30d. Use it for analytics, monitoring, and content automation.

More YouTube APIs

Ready to use the YouTube Playlist API?

Sign up, grab your key, and make your first call in 60 seconds.