skills$openclaw/youtube-playlist
therohitdas9.4kā˜…

by therohitdas

youtube-playlist – OpenClaw Skill

youtube-playlist is an OpenClaw Skills integration for coding workflows. Browse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts.

9.4k stars5.0k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameyoutube-playlist
descriptionBrowse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts. OpenClaw Skills integration.
ownertherohitdas
repositorytherohitdas/youtube-playlist
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @therohitdas/youtube-playlist
last updatedFeb 7, 2026

Maintainer

therohitdas

therohitdas

Maintains youtube-playlist in the OpenClaw Skills directory.

View GitHub profile
File Explorer
4 files
.
scripts
tapi-auth.js
23.2 KB
_meta.json
289 B
SKILL.md
4.7 KB
SKILL.md

name: youtube-playlist description: Browse YouTube playlists and fetch video transcripts. Use when the user shares a playlist link, asks "what's in this playlist", "list playlist videos", "browse playlist content", or wants to work with playlist videos and get their transcripts. homepage: https://transcriptapi.com metadata: { "moltbot": { "emoji": "šŸ“‹", "requires": { "env": ["TRANSCRIPT_API_KEY"] }, "primaryEnv": "TRANSCRIPT_API_KEY", }, }

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, generate a secure password.

node ./scripts/tapi-auth.js register --email USER_EMAIL --password SECURE_PASS --json

→ OTP sent to email. Ask user: "Check your email for a 6-digit verification code." āš ļø SAVE THE PASSWORD — you need it again in Step 2!

Step 2 — Verify: Once user provides the OTP (use SAME password from Step 1):

node ./scripts/tapi-auth.js verify --email USER_EMAIL --password SECURE_PASS --otp CODE --json

→ Returns api_key (starts with sk_).

Step 3 — Save: Store the key (auto-configures agent + shell):

node ./scripts/tapi-auth.js save-key --key API_KEY --json

→ Ready to use. Agent runtime picks up the key automatically.

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

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

Paginated playlist video listing (100 per page).

# First page
curl -s "https://transcriptapi.com/api/v2/youtube/playlist/videos?playlist_id=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
playlist_idconditionalstarts with PL, UU, LL, FL, or OL
continuationconditionalnon-empty string

Provide exactly one of playlist_id 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 Tech of 2025",
    "numVideos": "47",
    "description": "My picks for the best tech this year",
    "ownerName": "MKBHD",
    "viewCount": "5000000"
  },
  "continuation_token": "4qmFsgKlARIYVVV1...",
  "has_more": true
}

Pagination flow:

  1. First request: ?playlist_id=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_id=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.

Errors

CodeMeaningAction
400Both or neither paramsProvide exactly one of playlist_id or continuation
402No creditstranscriptapi.com/billing
404Playlist not foundCheck if playlist is public
408TimeoutRetry once
422Invalid playlist_id formatMust start with PL/UU/LL/FL/OL

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

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install youtube-playlist?

Run openclaw add @therohitdas/youtube-playlist in your terminal. This installs youtube-playlist into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/therohitdas/youtube-playlist. Review commits and README documentation before installing.