Youtube Search

ZeroPointRepo/youtube-skills/skills/youtube-search

by ZeroPointRepo4f7994b94e7d5e250c3b51102d609992e04d5d0dNo license1K starsListed Oct 9, 2026Updated Oct 9, 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 via the TranscriptAPI service and can fetch video transcripts.

What it does
This skill provides instructions for calling the TranscriptAPI YouTube endpoints: global search across videos, channels, playlists and movies, search within a specific channel, and resolving an @handle to a channel ID. It documents query parameters such as type, sort, upload date, duration and features, plus pagination with continuation tokens, and describes the JSON response shapes. It also outlines a search-then-transcript workflow and lists error codes and credit costs.
When to use it
Use it when a user wants to find YouTube content on a topic, locate creators or channels covering a subject, discover tutorials, talks or expert discussions, or look up a channel by name or handle. It is also intended for proactive use when researching a topic where YouTube is a good source.
Requirements
Internet access to reach transcriptapi.com and a TRANSCRIPT_API_KEY environment variable (a free tier with 100 credits is mentioned). No additional runtimes or dependencies are needed, and the skill ships no scripts, only reference documents.

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.

http
GET https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20Authorization: Bearer $TRANSCRIPT_API_KEYUser-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:

http
GET https://transcriptapi.com/api/v2/youtube/search?q=innovation&sort=views&duration=long&upload_date=monthAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Search for playlists on a topic:

http
GET https://transcriptapi.com/api/v2/youtube/search?q=react+tutorial&type=playlistAuthorization: Bearer $TRANSCRIPT_API_KEYUser-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.

http
GET https://transcriptapi.com/api/v2/youtube/channel/search?channel=@TED&q=climate+change&limit=30Authorization: Bearer $TRANSCRIPT_API_KEYUser-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:

http
GET https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@TEDAuthorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0

Workflow: Search → Transcript

http
# 1. Search for videosGET https://transcriptapi.com/api/v2/youtube/search?q=python+web+scraping&type=video&limit=5Authorization: Bearer $TRANSCRIPT_API_KEYUser-Agent: YourAgent/1.0
# 2. Get transcript from resultGET https://transcriptapi.com/api/v2/youtube/transcript?video_url=VIDEO_ID&format=text&include_timestamp=true&send_metadata=trueAuthorization: Bearer $TRANSCRIPT_API_KEYUser-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.

Copy-paste examples

Every request in this file as a ready-to-run one-liner: references/curl-examples.md [blocked]

Source and attribution

Source:ZeroPointRepo/youtube-skillsinskills/youtube-searchat commit4f7994b

License: No license

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

Report or request removal