Get the FREE Ultimate OpenClaw Setup Guide →
t

Youtube Playlist

Verified

@therohitdas

npx machina-cli add skill @therohitdas/youtube-playlist --openclaw
Files (1)
SKILL.md
5.1 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 ~/.openclaw/openclaw.json. See File Writes below for details. Existing file is backed up before modification.

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

File Writes

The verify and save-key commands save the API key to ~/.openclaw/openclaw.json (sets skills.entries.transcriptapi.apiKey and enabled: true). Existing file is backed up to ~/.openclaw/openclaw.json.bak before modification.

To use the API key in terminal/CLI outside the agent, add to your shell profile manually: export TRANSCRIPT_API_KEY=<your-key>

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://clawhub.ai/therohitdas/youtube-playlistView on GitHub

Overview

Youtube Playlist lets you browse YouTube playlists and fetch video transcripts via TranscriptAPI. It supports listing playlist videos and retrieving transcripts for individual videos, enabling study, indexing, or repurposing of playlist content. Use it when a user shares a playlist link or asks what's in a playlist.

How This Skill Works

Call the API endpoint /api/v2/youtube/playlist/videos with a playlist URL or ID to list videos (paginated at 100 per page). Include your TRANSCRIPT_API_KEY for authentication. The response returns video metadata and a continuation token to fetch subsequent pages; after selecting videos, fetch transcripts for chosen video IDs as needed.

When to Use It

  • When a user shares a playlist link and asks what's in it
  • When you want to list all videos in a playlist
  • When you need to browse or programmatically inspect playlist content
  • When you aim to obtain transcripts for videos in a playlist
  • When dealing with large playlists and you need to paginate through results

Quick Start

  1. Step 1: Ensure TRANSCRIPT_API_KEY is set and saved (e.g., in ~/.openclaw/openclaw.json).
  2. Step 2: List playlist videos with a URL or ID, e.g., ?playlist=PL_PLAYLIST_ID; handle pagination with continuation tokens.
  3. Step 3: Fetch transcripts for any desired video IDs returned in the listing.

Best Practices

  • Authenticate with a TRANSCRIPT_API_KEY and store it securely (conform to the described ~/.openclaw/openclaw.json workflow).
  • Provide exactly one of playlist or continuation in a request to avoid conflicts.
  • Fetch results page-by-page (up to 100 videos) and handle the continuation_token for more data.
  • Cache listing results when possible to reduce API calls and improve responsiveness.
  • After listing videos, fetch transcripts for selected video IDs as needed, respecting rate limits

Example Use Cases

  • A teacher uses the playlist endpoint to see all videos in a 'JavaScript Essentials' playlist and then pulls transcripts for selected lessons.
  • A content manager analyzes a TED playlist by listing videos and extracting transcripts for keyword research.
  • A content creator builds a study guide from a 'Top Science Talks' playlist by listing videos and obtaining transcripts for note-taking.
  • A researcher collects transcripts from all videos in a playlist for language or sentiment analysis.
  • A developer creates an app that indexes playlist videos and their transcripts for quick search and reference.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers