youtube-playlist

Review·Scanned 2/18/2026

This skill fetches YouTube playlist video lists and transcripts from transcriptapi.com and includes an auth helper script. It instructs running node ./scripts/tapi-auth.js and saving TRANSCRIPT_API_KEY into ~/.clawdbot/moltbot.json, various shell rc files, and ~/.transcriptapi.

from clawhub.ai·v501f2aa·28.0 KB·0 installs
Scanned from 1.3.2 at 501f2aa · Transparency log ↗
$ vett add clawhub.ai/therohitdas/youtube-playlistReview findings below

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.