Youtube Search

zeropointrepo/youtube-skills/clawhub/youtube-search

by zeropointrepo4f7994b94e7dNo license1K starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 2 days ago

Use when the user wants to find YouTube content on any topic: searching for videos or channels, finding creators who cover a subject, discovering tutorials, talks, or expert discussions, or looking up a channel by name or handle. Also use proactively when the user wants to research a topic and YouTube is a good source. Not for account management or written-source-only research.

Instructions onlyResearch & Analysis
AI-generated overview

Searches YouTube for videos, channels, playlists and movies, and fetches video transcripts through the TranscriptAPI service.

What it does
The skill documents how to call TranscriptAPI endpoints to search YouTube globally or within a specific channel, resolve a channel handle to a channel ID, and retrieve video transcripts. It lists request parameters such as query, type, sort, upload date, duration, features, limit and continuation, and shows example requests and JSON response shapes. It also covers required headers, error codes and a search-then-transcript workflow.
When to use it
Use it when a user wants to find YouTube videos, channels, playlists or creators on a topic, look up a channel by name or handle, or research a subject where YouTube is a useful source. It is not intended for account management or for research limited to written sources.
Requirements
Internet access to transcriptapi.com and a TRANSCRIPT_API_KEY environment variable (a free tier with 100 credits is mentioned). Requests need an Authorization bearer header and a User-Agent header. No additional runtimes or dependencies are required, and the skill ships no scripts; it includes a reference document on auth setup.

YouTube Search

Search YouTube and fetch transcripts via TranscriptAPI.com.

Setup

If $TRANSCRIPT_API_KEY is not set, read references/auth-setup.md [blocked] and follow the instructions there to get and store the key.

Required Headers

Every request needs two headers:

  • Authorization: Bearer $TRANSCRIPT_API_KEY
  • User-Agent: your agent's name and version if known (e.g. HermesAgent/0.11.0, ClaudeCode/1.0). Version is optional — agent name alone is fine. Do not omit this header or send a bare default — Cloudflare will return a 403 (error code 1010) and block the request.

API Reference

Full OpenAPI spec: transcriptapi.com/openapi.json — consult this for the latest parameters and schemas.

GET /api/v2/youtube/search — 1 credit/page

Search YouTube globally for videos, channels, playlists, or movies.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredDefaultValidation
qconditional—1-200 chars (trimmed), first page
typenovideovideo, channel, playlist, movie (first page)
sortnorelevancerelevance or views (first page)
upload_dateno—hour, today, week, month, year — videos, first page
durationno—short (<4m), medium (4-20m), long (>20m) — videos, first page
featuresno—comma-separated: hd, subtitles, cc, live, 4k, hdr, etc.
limitno201-50
continuationconditional—token from a previous response (subsequent pages)

Provide exactly one of q (first page) or continuation (next pages) — the token already encodes the filters. sort/upload_date/duration/features apply to the first page only.

Find recent, most-viewed videos:

bash
curl -s "https://transcriptapi.com/api/v2/youtube/search\?q=innovation&sort=views&duration=long&upload_date=month" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"

Search for playlists on a topic:

bash
curl -s "https://transcriptapi.com/api/v2/youtube/search?q=react+tutorial&type=playlist" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"

Video search response:

json
{  "results": [    {      "type": "video",      "videoId": "dQw4w9WgXcQ",      "title": "Rick Astley - Never Gonna Give You Up",      "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",      "channelTitle": "Rick Astley",      "channelHandle": "@RickAstley",      "channelVerified": true,      "lengthText": "3:33",      "viewCountText": "1.5B views",      "publishedTimeText": "14 years ago",      "hasCaptions": true,      "thumbnails": [{ "url": "...", "width": 120, "height": 90 }]    }  ],  "result_count": 20}

Channel search response (type=channel):

json
{  "results": [{    "type": "channel",    "channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",    "title": "Rick Astley",    "handle": "@RickAstley",    "url": "https://www.youtube.com/@RickAstley",    "description": "Official channel...",    "subscriberCount": "4.2M subscribers",    "verified": true,    "rssUrl": "https://www.youtube.com/feeds/videos.xml?channel_id=UC...",    "thumbnails": [...]  }],  "result_count": 5}

GET /api/v2/youtube/channel/search — 1 credit

Search videos within a specific channel. Accepts channel — an @handle, channel URL, or UC... ID.

bash
curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\?channel=@TED&q=climate+change&limit=30" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
ParamRequiredValidation
channelyes@handle, channel URL, or UC... ID
qyes1-200 chars
limitno1-50 (default 30)

Returns up to ~30 results (YouTube limit). Same video response shape as global search.

GET /api/v2/youtube/channel/resolve — FREE

Convert @handle to channel ID:

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

Workflow: Search → Transcript

bash
# 1. Search for videoscurl -s "https://transcriptapi.com/api/v2/youtube/search\?q=python+web+scraping&type=video&limit=5" \  -H "Authorization: Bearer $TRANSCRIPT_API_KEY" \  -H "User-Agent: YourAgent/1.0"
# 2. Get transcript from resultcurl -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" \  -H "User-Agent: YourAgent/1.0"

Errors

CodeMeaningAction
401Bad API keyCheck key
402No creditstranscriptapi.com/billing
403/1010Cloudflare blockAdd or fix User-Agent header
404Not foundResource doesn't exist
408TimeoutRetry once
422Invalid paramCheck param format

Free tier: 100 credits, 300 req/min.

Source and attribution

Source:zeropointrepo/youtube-skillsinclawhub/youtube-searchat commit4f7994b

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal