GitHubLog in
YouTube Playlist API

YouTube Playlist API

Lists the videos in a public YouTube playlist, a page at a time, each with a url the transcript and batch endpoints accept. The playlist is given as its URL or its PL… id. A private or missing playlist answers 404 not_found.

Page of results1 creditHowever many videos it lists
Failed requestsFreeA request that fails costs nothing
Supported URLsplaylist URLplaylist idAll URL formats
POST/api/v2/transcripts/playlistidempotent

Body parameters

YouTube: playlist URL or PL… ID. TikTok: playlist URL (tiktok.com/@user/playlist/name-id).

curl https://transcriptfetch.com/api/v2/transcripts/playlist \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"playlist":"PLrAXtmRdnEQy6nuLMt9H1aZIuhcGOcZQ4","limit":10}'
SuccessExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "video_list",
    "source": "playlist",
    "platform": "youtube",
    "videos": [
      {
        "videoId": "dQw4w9WgXcQ",
        "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
        "title": "Example video",
        "duration": 212,
        "channel": "Example Channel",
        "publishedAt": "2009-10-25T00:00:00Z",
        "stats": {
          "plays": 1600000000
        }
      }
    ],
    "next_cursor": "eyJvIjoxMH0"
  },
  "usage": {
    "credits_spent": 1,
    "balance": 98,
    "bytes": 0
  }
}

Every YouTube endpoint

Frequently asked questions

Is this the YouTube Data API's playlistItems call?

No. It is TranscriptFetch's own endpoint: no Google project, API key, OAuth or quota. One page of a playlist costs 1 credit and the rows are ready for the transcript endpoint.

How do I transcribe a whole playlist?

List it page by page with cursor, collect the rows' urls and send them to the batch endpoint. Caption transcripts cost 1 credit each; videos without captions go to AI Fallback Transcription and are billed on delivery.

What about a channel's podcasts or playlists?

The channel endpoint with tab playlists or tab podcasts answers a playlist_list; each row's url is accepted here unchanged, so a channel's whole catalogue is a listing call followed by one playlist call per playlist.

Why did my playlist answer 404?

The playlist is private, unlisted in a way YouTube will not serve, or does not exist. Only public playlists are reachable, and a 404 costs nothing.