Get the FREE Ultimate OpenClaw Setup Guide →

youtube-playlist

Scanned
npx machina-cli add skill ZeroPointRepo/youtube-skills/youtube-playlist --openclaw
Files (1)
SKILL.md
4.5 KB

YouTube Playlist

Browse playlists and fetch transcripts via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, help the user create an account (100 free credits, no card):

Step 1 — Register: Ask user for their email.

node ./scripts/tapi-auth.js register --email USER_EMAIL

→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code."

Step 2 — Verify: Once user provides the OTP:

node ./scripts/tapi-auth.js verify --token TOKEN_FROM_STEP_1 --otp CODE

API key saved to your shell profile and agent config. Ready to use.

Manual option: transcriptapi.com/signup → Dashboard → API Keys.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.

GET /api/v2/youtube/playlist/videos — 1 credit/page

Paginated playlist video listing (100 per page). Accepts playlist — a YouTube playlist URL or playlist ID.

# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# Next pages
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?continuation=TOKEN" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
ParamRequiredValidation
playlistconditionalPlaylist URL or ID (PL/UU/LL/FL/OL prefix)
continuationconditionalnon-empty string

Provide exactly one of playlist or continuation, not both.

Accepted playlist ID prefixes:

  • PL — user-created playlists
  • UU — channel uploads playlist
  • LL — liked videos
  • FL — favorites
  • OL — other system playlists

Response:

{
  "results": [
    {
      "videoId": "abc123xyz00",
      "title": "Playlist Video Title",
      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "channelTitle": "Channel Name",
      "channelHandle": "@handle",
      "lengthText": "10:05",
      "viewCountText": "1.5M views",
      "thumbnails": [{ "url": "...", "width": 120, "height": 90 }],
      "index": "0"
    }
  ],
  "playlist_info": {
    "title": "Best Science Talks",
    "numVideos": "47",
    "description": "Top science presentations",
    "ownerName": "TED",
    "viewCount": "5000000"
  },
  "continuation_token": "4qmFsgKlARIYVVV1...",
  "has_more": true
}

Pagination flow:

  1. First request: ?playlist=PLxxx — returns first 100 videos + continuation_token
  2. Next request: ?continuation=TOKEN — returns next 100 + new token
  3. Repeat until has_more: false or continuation_token: null

Workflow: Playlist → Transcripts

# 1. List playlist videos
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist=PL_PLAYLIST_ID" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

# 2. Get transcript from a video in the playlist
curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Extract playlist ID from URL

From https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf, the playlist ID is PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf. You can also pass the full URL directly to the playlist parameter.

Errors

CodeMeaningAction
400Both or neither paramsProvide exactly one of playlist or continuation
402No creditstranscriptapi.com/billing
404Playlist not foundCheck if playlist is public
408TimeoutRetry once
422Invalid playlist formatMust be a valid playlist URL or ID

1 credit per page. Free tier: 100 credits, 300 req/min.

Source

git clone https://github.com/ZeroPointRepo/youtube-skills/blob/main/skills/youtube-playlist/SKILL.mdView on GitHub

Overview

This skill lets you list videos in a YouTube playlist and retrieve transcripts for each video via TranscriptAPI.com. It’s ideal for quickly understanding playlist content, indexing videos, and generating searchable transcripts. Operates with playlist URLs or IDs and supports paginated results.

How This Skill Works

Use GET /api/v2/youtube/playlist/videos with a playlist parameter (URL or ID) to fetch a page of videos (up to 100). Then fetch a video transcript via /api/v2/youtube/transcript by supplying video_url and optional formatting (text, timestamps, metadata). Use the continuation_token to paginate until has_more is false.

When to Use It

  • When a user shares a YouTube playlist link and wants to see what’s inside.
  • When the user asks 'what's in this playlist' or wants to list playlist videos.
  • When you need to browse the playlist content page by page.
  • When transcripts are needed for videos in the playlist for study or quoting.
  • When building a searchable index or material from a playlist’s transcripts.

Quick Start

  1. Step 1: List playlist videos using the API with the playlist parameter set to the YouTube playlist URL or ID.
  2. Step 2: Pick a video and fetch its transcript via the transcript endpoint using video_url and format=text, include_timestamp=true, send_metadata=true.
  3. Step 3: If more results exist, use the provided continuation_token to fetch the next page until has_more is false.

Best Practices

  • Ensure you provide either playlist or continuation_token, not both.
  • Remember to account for 1 credit per page of playlist results.
  • Use continuation tokens to paginate through large playlists (up to 100 videos per page).
  • Specify video_url when requesting transcripts and consider include_timestamp and send_metadata options.
  • Handle has_more or continuation_token being null to know when you’ve reached the end.

Example Use Cases

  • List the first page of a TED Talk playlist to review video titles and durations.
  • Select a video from a playlist and fetch its transcript to quote exact wording.
  • Iterate through all videos in a long playlist to build a full transcript index.
  • Combine playlist listing with transcripts to create study guides or course materials.
  • Extract transcripts with timestamps for creating searchable content dashboards.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers