Youtube Playlist
Verified@therohitdas
npx machina-cli add skill @therohitdas/youtube-playlist --openclawYouTube 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"
| Param | Required | Validation |
|---|---|---|
playlist | conditional | Playlist URL or ID (PL/UU/LL/FL/OL prefix) |
continuation | conditional | non-empty string |
Provide exactly one of playlist or continuation, not both.
Accepted playlist ID prefixes:
PL— user-created playlistsUU— channel uploads playlistLL— liked videosFL— favoritesOL— 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:
- First request:
?playlist=PLxxx— returns first 100 videos +continuation_token - Next request:
?continuation=TOKEN— returns next 100 + new token - Repeat until
has_more: falseorcontinuation_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
| Code | Meaning | Action |
|---|---|---|
| 400 | Both or neither params | Provide exactly one of playlist or continuation |
| 402 | No credits | transcriptapi.com/billing |
| 404 | Playlist not found | Check if playlist is public |
| 408 | Timeout | Retry once |
| 422 | Invalid playlist format | Must be a valid playlist URL or ID |
1 credit per page. Free tier: 100 credits, 300 req/min.
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
- Step 1: Ensure TRANSCRIPT_API_KEY is set and saved (e.g., in ~/.openclaw/openclaw.json).
- Step 2: List playlist videos with a URL or ID, e.g., ?playlist=PL_PLAYLIST_ID; handle pagination with continuation tokens.
- 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.