{"id":"a2d9a9f4-3623-4735-841f-bf13c735afa6","shortId":"6cq2a7","kind":"skill","title":"youtube-search","tagline":"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 resear","description":"# YouTube Search\n\nSearch YouTube and fetch transcripts via [TranscriptAPI.com](https://transcriptapi.com).\n\n## Setup\n\nIf `$TRANSCRIPT_API_KEY` is not set, read [references/auth-setup.md](references/auth-setup.md) and follow the instructions there to get and store the key.\n\n## Required Headers\n\nEvery request needs two headers:\n\n- **Authorization:** `Bearer $TRANSCRIPT_API_KEY`\n- **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.\n\n## API Reference\n\nFull OpenAPI spec: [transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json) — consult this for the latest parameters and schemas.\n\n## GET /api/v2/youtube/search — 1 credit\n\nSearch YouTube globally for videos or channels.\n\n```bash\ncurl -s \"https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n```\n\n| Param   | Required | Default | Validation            |\n| ------- | -------- | ------- | --------------------- |\n| `q`     | yes      | —       | 1-200 chars (trimmed) |\n| `type`  | no       | `video` | `video` or `channel`  |\n| `limit` | no       | `20`    | 1-50                  |\n\n**Video search response:**\n\n```json\n{\n  \"results\": [\n    {\n      \"type\": \"video\",\n      \"videoId\": \"dQw4w9WgXcQ\",\n      \"title\": \"Rick Astley - Never Gonna Give You Up\",\n      \"channelId\": \"UCuAXFkgsw1L7xaCfnd5JJOw\",\n      \"channelTitle\": \"Rick Astley\",\n      \"channelHandle\": \"@RickAstley\",\n      \"channelVerified\": true,\n      \"lengthText\": \"3:33\",\n      \"viewCountText\": \"1.5B views\",\n      \"publishedTimeText\": \"14 years ago\",\n      \"hasCaptions\": true,\n      \"thumbnails\": [{ \"url\": \"...\", \"width\": 120, \"height\": 90 }]\n    }\n  ],\n  \"result_count\": 20\n}\n```\n\n**Channel search response** (`type=channel`):\n\n```json\n{\n  \"results\": [{\n    \"type\": \"channel\",\n    \"channelId\": \"UCuAXFkgsw1L7xaCfnd5JJOw\",\n    \"title\": \"Rick Astley\",\n    \"handle\": \"@RickAstley\",\n    \"url\": \"https://www.youtube.com/@RickAstley\",\n    \"description\": \"Official channel...\",\n    \"subscriberCount\": \"4.2M subscribers\",\n    \"verified\": true,\n    \"rssUrl\": \"https://www.youtube.com/feeds/videos.xml?channel_id=UC...\",\n    \"thumbnails\": [...]\n  }],\n  \"result_count\": 5\n}\n```\n\n## GET /api/v2/youtube/channel/search — 1 credit\n\nSearch videos within a specific channel. Accepts `channel` — an `@handle`, channel URL, or `UC...` ID.\n\n```bash\ncurl -s \"https://transcriptapi.com/api/v2/youtube/channel/search\\\n?channel=@TED&q=climate+change&limit=30\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n```\n\n| Param     | Required | Validation                                |\n| --------- | -------- | ----------------------------------------- |\n| `channel` | yes      | `@handle`, channel URL, or `UC...` ID     |\n| `q`       | yes      | 1-200 chars                               |\n| `limit`   | no       | 1-50 (default 30)                         |\n\nReturns up to ~30 results (YouTube limit). Same video response shape as global search.\n\n## GET /api/v2/youtube/channel/resolve — FREE\n\nConvert @handle to channel ID:\n\n```bash\ncurl -s \"https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TED\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n```\n\n## Workflow: Search → Transcript\n\n```bash\n# 1. Search for videos\ncurl -s \"https://transcriptapi.com/api/v2/youtube/search\\\n?q=python+web+scraping&type=video&limit=5\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n\n# 2. Get transcript from result\ncurl -s \"https://transcriptapi.com/api/v2/youtube/transcript\\\n?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=true\" \\\n  -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\" \\\n  -H \"User-Agent: YourAgent/1.0\"\n```\n\n## Errors\n\n| Code     | Meaning          | Action                                         |\n| -------- | ---------------- | ---------------------------------------------- |\n| 401      | Bad API key      | Check key                                      |\n| 402      | No credits       | transcriptapi.com/billing                      |\n| 403/1010 | Cloudflare block | Add or fix User-Agent header                   |\n| 404      | Not found        | Resource doesn't exist                         |\n| 408      | Timeout          | Retry once                                     |\n| 422      | Invalid param    | Check param format                             |\n\nFree tier: 100 credits, 300 req/min.","tags":["youtube","search","skills","zeropointrepo","agent-skills","clawdbot","hermes-agent","openclaw","youtube-search","youtube-transcript"],"capabilities":["skill","source-zeropointrepo","skill-youtube-search","topic-agent-skills","topic-clawdbot","topic-hermes-agent","topic-openclaw","topic-youtube-search","topic-youtube-transcript"],"categories":["youtube-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ZeroPointRepo/youtube-skills/youtube-search","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ZeroPointRepo/youtube-skills","source_repo":"https://github.com/ZeroPointRepo/youtube-skills","install_from":"skills.sh"}},"qualityScore":"0.511","qualityRationale":"deterministic score 0.51 from registry signals: · indexed on github topic:agent-skills · 123 github stars · SKILL.md body (4,688 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-02T12:54:57.128Z","embedding":null,"createdAt":"2026-04-18T22:11:56.700Z","updatedAt":"2026-05-02T12:54:57.128Z","lastSeenAt":"2026-05-02T12:54:57.128Z","tsv":"'-200':190,346 '-50':203,351 '/@rickastley':271 '/api/v2/youtube/channel/resolve':369 '/api/v2/youtube/channel/resolve?input=@ted':381 '/api/v2/youtube/channel/search':290,313 '/api/v2/youtube/search':156,405 '/api/v2/youtube/search?q=query&type=video&limit=20':171 '/api/v2/youtube/transcript':434 '/billing':473 '/feeds/videos.xml?channel_id=uc...':284 '/openapi.json](https://transcriptapi.com/openapi.json)':146 '1':157,189,202,291,345,350,397 '1.5':234 '100':503 '1010':134 '120':246 '14':238 '2':425 '20':201,251 '3':231 '30':320,353,357 '300':505 '33':232 '4.2':276 '401':462 '402':468 '403':131 '403/1010':474 '404':484 '408':491 '422':495 '5':288,413 '90':248 'accept':299 'action':461 'add':477 'agent':97,99,112,181,330,391,423,456,482 'ago':240 'alon':114 'also':42 'api':64,93,139,176,325,386,418,451,464 'astley':215,225,265 'author':90,173,322,383,415,448 'b':235 'bad':463 'bare':125 'bash':166,308,376,396 'bearer':91,174,323,384,416,449 'block':136,476 'chang':318 'channel':20,37,165,198,252,256,260,274,298,300,303,314,335,338,374 'channelhandl':226 'channelid':221,261 'channeltitl':223 'channelverifi':228 'char':191,347 'check':466,498 'claudecode/1.0':108 'climat':317 'cloudflar':127,475 'code':133,459 'consult':147 'content':12 'convert':371 'count':250,287 'cover':24 'creator':22 'credit':158,292,470,504 'curl':167,309,377,401,430 'default':126,185,352 'descript':272 'discov':27 'discuss':32 'doesn':488 'dqw4w9wgxcq':212 'e.g':106 'error':132,458 'everi':85 'exist':490 'expert':31 'fetch':56 'find':10,21 'fine':116 'fix':479 'follow':73 'format':439,500 'found':486 'free':370,501 'full':141 'get':78,155,289,368,426 'give':218 'global':161,366 'gonna':217 'h':172,178,321,327,382,388,414,420,447,453 'handl':41,266,302,337,372 'hascapt':241 'header':84,89,121,483 'height':247 'hermesagent/0.11.0':107 'id':307,342,375,438 'includ':441 'instruct':75 'invalid':496 'json':207,257 'key':65,82,94,177,326,387,419,452,465,467 'known':105 'latest':151 'lengthtext':230 'limit':199,319,348,360,412 'look':34 'm':277 'mean':460 'metadata':445 'name':39,101,113 'need':87 'never':216 'offici':273 'omit':119 'openapi':142 'option':111 'param':183,332,497,499 'paramet':152 'proactiv':44 'publishedtimetext':237 'python':407 'q':187,316,343,406 'read':69 'refer':140 'references/auth-setup.md':70,71 'req/min':506 'request':86,138 'requir':83,184,333 'resear':50 'resourc':487 'respons':206,254,363 'result':208,249,258,286,358,429 'retri':493 'return':129,354 'rick':214,224,264 'rickastley':227,267 'rssurl':281 'schema':154 'scrape':409 'search':3,16,52,53,159,205,253,293,367,394,398 'send':123,444 'set':68 'setup':61 'shape':364 'skill' 'skill-youtube-search' 'source-zeropointrepo' 'spec':143 'specif':297 'store':80 'subject':26 'subscrib':278 'subscribercount':275 'talk':29 'ted':315 'text':440 'thumbnail':243,285 'tier':502 'timeout':492 'timestamp':442 'titl':213,263 'topic':15 'topic-agent-skills' 'topic-clawdbot' 'topic-hermes-agent' 'topic-openclaw' 'topic-youtube-search' 'topic-youtube-transcript' 'transcript':57,63,92,175,324,385,395,417,427,450 'transcriptapi.com':59,60,145,170,312,380,404,433,472 'transcriptapi.com/api/v2/youtube/channel/resolve?input=@ted':379 'transcriptapi.com/api/v2/youtube/channel/search':311 'transcriptapi.com/api/v2/youtube/search':403 'transcriptapi.com/api/v2/youtube/search?q=query&type=video&limit=20':169 'transcriptapi.com/api/v2/youtube/transcript':432 'transcriptapi.com/billing':471 'transcriptapi.com/openapi.json](https://transcriptapi.com/openapi.json)':144 'trim':192 'true':229,242,280,443,446 'tutori':28 'two':88 'type':193,209,255,259,410 'uc':306,341 'ucuaxfkgsw1l7xacfnd5jjow':222,262 'url':244,268,304,339,436 'use':4,43 'user':7,47,96,180,329,390,422,455,481 'user-ag':95,179,328,389,421,454,480 'valid':186,334 'verifi':279 'version':103,109 'via':58 'video':18,163,195,196,204,210,294,362,400,411,435,437 'videoid':211 'view':236 'viewcounttext':233 'want':8,48 'web':408 'width':245 'within':295 'workflow':393 'www.youtube.com':270,283 'www.youtube.com/@rickastley':269 'www.youtube.com/feeds/videos.xml?channel_id=uc...':282 'year':239 'yes':188,336,344 'youragent/1.0':182,331,392,424,457 'youtub':2,11,51,54,160,359 'youtube-search':1","prices":[{"id":"5beeb9f3-f63b-4436-a6dc-e73f1e0047d2","listingId":"a2d9a9f4-3623-4735-841f-bf13c735afa6","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ZeroPointRepo","category":"youtube-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:11:56.700Z"}],"sources":[{"listingId":"a2d9a9f4-3623-4735-841f-bf13c735afa6","source":"github","sourceId":"ZeroPointRepo/youtube-skills/youtube-search","sourceUrl":"https://github.com/ZeroPointRepo/youtube-skills/tree/main/skills/youtube-search","isPrimary":false,"firstSeenAt":"2026-04-18T22:11:56.700Z","lastSeenAt":"2026-05-02T12:54:57.128Z"}],"details":{"listingId":"a2d9a9f4-3623-4735-841f-bf13c735afa6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ZeroPointRepo","slug":"youtube-search","github":{"repo":"ZeroPointRepo/youtube-skills","stars":123,"topics":["agent-skills","clawdbot","hermes-agent","openclaw","youtube-search","youtube-transcript"],"license":"mit","html_url":"https://github.com/ZeroPointRepo/youtube-skills","pushed_at":"2026-04-29T18:46:05Z","description":"YouTube Transcript API skills for AI agents. Get transcripts, search videos, browse channels. Works with OpenClaw, Hermes-Agent, Claude Code, Cursor, Windsurf.","skill_md_sha":"0a409452b2a714df91f3cc2c88c3380d79e3050f","skill_md_path":"skills/youtube-search/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ZeroPointRepo/youtube-skills/tree/main/skills/youtube-search"},"layout":"multi","source":"github","category":"youtube-skills","frontmatter":{"name":"youtube-search","description":"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.","compatibility":"Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed."},"skills_sh_url":"https://skills.sh/ZeroPointRepo/youtube-skills/youtube-search"},"updatedAt":"2026-05-02T12:54:57.128Z"}}