---
title: "Paginated playlist videos"
method: GET
path: "/api/v2/youtube/playlist/videos"
tags: ["YouTube playlist"]
---

# Paginated playlist videos

`GET /api/v2/youtube/playlist/videos`

List videos in a playlist (paginated, ~100 per page).

First request: provide `playlist` (YouTube playlist URL or playlist ID). Subsequent requests: provide `continuation` token.

**Credit cost:** 1 credit per page.

## Query parameters

- `playlist` string, nullable — Playlist identifier: YouTube playlist URL or playlist ID (PL..., UU..., etc.)
- `continuation` string, nullable — Continuation token from previous page

## Response `200`

Successful Response

- PlaylistVideosResponse
  - `results` PlaylistVideoResult[]
    - `videoId` string, nullable
    - `title` string, nullable
    - `channelId` string, nullable
    - `channelTitle` string, nullable
    - `channelHandle` string, nullable
    - `lengthText` string, nullable
    - `viewCountText` string, nullable
    - `thumbnails` Thumbnail[]
      - `url` string, required
      - `width` integer, nullable
      - `height` integer, nullable
    - `index` string, nullable
  - `playlist_info` PlaylistInfo
    - `title` string, nullable
    - `numVideos` string, nullable
    - `description` string, nullable
    - `ownerName` string, nullable
    - `viewCount` string, nullable
  - `continuation_token` string, nullable
  - `has_more` boolean

## Other responses

- `400` — **Bad Request** - Invalid parameter combination. Provide either `playlist` or `continuation`, not both.
- `401` — Unauthorized - invalid Authorization format or API key
- `402` — Payment Required - inactive plan or exhausted credits
- `404` — **Not Found** - Playlist does not exist. **Do not retry.**
- `408` — **Request Timeout / Retry** - Temporary failure (bot detection, network issues). **Safe to retry** after a short delay (1-5 seconds).
- `422` — **Validation Error** - Invalid playlist identifier. Must be a playlist URL or ID starting with `PL`, `UU`, `LL`, `FL`, or `OL`. **Do not retry** with the same input.
- `429` — **Too Many Requests** - Rate limit exceeded. **Retry after** the delay in `Retry-After` header.
- `500` — **Internal Server Error** - Unexpected error. May retry, but if persistent, contact support.
- `503` — **Service Unavailable** - Service temporarily down or initializing. **Retry** after a short delay.

---

[API](https://skmtc.dev/transcriptapi/apis/youtube-transcript-api-public.md) · [All operations](https://skmtc.dev/transcriptapi/apis/youtube-transcript-api-public/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/transcriptapi/youtube-transcript-api-public/revisions/3203c2d6486c/schema)
