Youtube Search

zeropointrepo/youtube-skills/clawhub/youtube-search

作者 zeropointrepo4f7994b94e7d無授權條款1K 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫2 天前更新

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.

AI 產生的概覽

透過 TranscriptAPI 服務搜尋 YouTube 影片、頻道、播放清單與電影,並取得影片逐字稿。

功能
此技能說明如何呼叫 TranscriptAPI 端點,在 YouTube 全域或指定頻道內搜尋、將頻道代稱解析為頻道 ID,並取得影片逐字稿。內容列出查詢字串、類型、排序、上傳時間、長度、特性、數量上限與接續權杖等請求參數,並提供範例請求與 JSON 回應結構。也涵蓋必要的請求標頭、錯誤碼,以及先搜尋再取逐字稿的流程。
適用情境
當使用者想尋找某個主題的 YouTube 影片、頻道、播放清單或創作者,依名稱或代稱查詢頻道,或需要以 YouTube 作為來源進行主題研究時使用。不適用於帳號管理,也不適用於只依賴文字資料的研究。
執行需求
需要可連線至 transcriptapi.com 的網路,以及 TRANSCRIPT_API_KEY 環境變數(文中提到有 100 點額度的免費方案)。請求須帶 Authorization bearer 標頭與 User-Agent 標頭。不需要額外的執行環境或相依套件,技能未附任何指令碼,僅附一份關於驗證設定的參考文件。

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.

來源與署名

來源:zeropointrepo/youtube-skills位於clawhub/youtube-search提交4f7994b

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架