Get the FREE Ultimate OpenClaw Setup Guide →

youtube-data

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

YouTube Data

YouTube data access via TranscriptAPI.com — lightweight alternative to Google's YouTube Data API.

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.

Video Data (transcript + metadata) — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/transcript\
?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Response:

{
  "video_id": "dQw4w9WgXcQ",
  "language": "en",
  "transcript": [
    { "text": "We're no strangers to love", "start": 18.0, "duration": 3.5 }
  ],
  "metadata": {
    "title": "Rick Astley - Never Gonna Give You Up",
    "author_name": "Rick Astley",
    "author_url": "https://www.youtube.com/@RickAstley",
    "thumbnail_url": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
  }
}

Search Data — 1 credit

curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Video result fields: videoId, title, channelId, channelTitle, channelHandle, channelVerified, lengthText, viewCountText, publishedTimeText, hasCaptions, thumbnails

Channel result fields (type=channel): channelId, title, handle, url, description, subscriberCount, verified, rssUrl, thumbnails

Channel Data

Channel endpoints accept channel — an @handle, channel URL, or UC... ID. No need to resolve first.

Resolve handle to ID (free):

curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Returns: {"channel_id": "UCsT0YIqwnpJCM-mx7-gSA4Q", "resolved_from": "@TED"}

Latest 15 videos with exact stats (free):

curl -s "https://transcriptapi.com/api/v2/youtube/channel/latest?channel=@TED" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Returns: channel info, results array with videoId, title, published (ISO), viewCount (exact number), description, thumbnail

All channel videos (paginated, 1 credit/page):

curl -s "https://transcriptapi.com/api/v2/youtube/channel/videos?channel=@NASA" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Returns 100 videos per page + continuation_token for pagination.

Search within channel (1 credit):

curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
?channel=@TED&q=QUERY&limit=30" \
  -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Playlist Data — 1 credit/page

Accepts playlist — a YouTube playlist URL or playlist ID.

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

Returns: results (videos), playlist_info (title, numVideos, ownerName, viewCount), continuation_token, has_more

Credit Costs

EndpointCostData returned
transcript1Full transcript + metadata
search1Video/channel details
channel/resolvefreeChannel ID mapping
channel/latestfree15 videos + exact stats
channel/videos1/page100 videos per page
channel/search1Videos matching query
playlist/videos1/page100 videos per page

Errors

CodeAction
402No credits — transcriptapi.com/billing
404Not found
408Timeout — retry once
422Invalid param format

Free tier: 100 credits, 300 req/min.

Source

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

Overview

You can fetch YouTube transcripts, video metadata, channel info, and playlists via TranscriptAPI.com. It’s a lightweight alternative to Google’s YouTube Data API that avoids OAuth setup and daily quotas while returning structured data.

How This Skill Works

Authenticate with an API key from TranscriptAPI (register and verify OTP). Then call endpoints like /api/v2/youtube/transcript, /youtube/search, /youtube/channel/*, or /youtube/playlist/videos to obtain JSON data. Each data type is priced by credits (e.g., 1 credit per video data call or per page of results).

When to Use It

  • You need transcripts and metadata for a specific YouTube video (e.g., video_id or video_url).
  • You want search results across YouTube videos or channels without configuring Google API credentials.
  • You need to resolve a channel handle to an ID and fetch latest videos from that channel.
  • You want all videos from a channel or channel-wide search results with pagination.
  • You want to retrieve all videos in a playlist by playlist URL or ID.

Quick Start

  1. Step 1: Register for an API key (email) using the provided script or sign up at transcriptapi.com/signup.
  2. Step 2: Verify your OTP; your API key is saved to your shell profile and agent config.
  3. Step 3: Make your first request, e.g. curl -s "https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_URL&format=json&include_timestamp=true&send_metadata=true" -H "Authorization: Bearer $TRANSCRIPT_API_KEY"

Best Practices

  • Register for an API key first (email, OTP verification) to enable calls.
  • Use the specific endpoints (transcript, search, channel, playlist) to match your data needs.
  • Cache frequent results to minimize credit usage and improve latency.
  • Handle pagination and continuation tokens when listing channel or playlist videos.
  • Validate response fields against your schema (e.g., video_id, title, published, thumbnails) to extract only what you need.

Example Use Cases

  • Fetch transcript and metadata for the Rick Astley video (dQw4w9WgXcQ) to power a lyric-search feature.
  • Search for 'AI tutorials' and display video titles, thumbnails, and view counts in a dashboard.
  • Resolve the @TED channel handle to its ID and pull the latest 15 videos for a feed.
  • Get all NASA channel videos (paginated) to build a historical YouTube performance report.
  • Retrieve videos from a playlist (PL_ID) to assemble a playlist curation page.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers