Supported URLs
All URL formats- Playlist URL
https://www.youtube.com/playlist?list=PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr - Playlist ID
PL9tY0BWXOZFuFEG_GtOBZ8-8wbkH-NVAr
Body parameters
- type
string- required
true- description
- YouTube: playlist URL or PL… ID.
- TikTok: playlist URL (tiktok.com/@user/playlist/name-id).
- type
integer (1–50)- required
false- default
5- description
Max items to return per page: videos, or the playlists or channels some listing options return.
- type
string- required
false- description
- Opaque pagination cursor from a previous response's
next_cursor(max 256 characters). - Omit for the first page.
- Cursors are scoped to the listing that issued them, so send the same platform and listing options with each page.
- Offset-based sources cannot page past the first 2000 items.
- Opaque pagination cursor from a previous response's
{
"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
- POSTTranscriptText or segments for a YouTube video.
- POSTSearchSearch YouTube with date and length filters.
- POSTChannel VideosList a YouTube channel's videos.
- POSTPlaylistList a playlist's videos, page by page.
- POSTShortsList a channel's Shorts to transcribe.
- POSTChannel MonitorNew uploads from a channel, by webhook.
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.