Skill detail

youtube-search

Searches YouTube for videos, channels, playlists, and movies and fetches transcripts via TranscriptAPI.

Needs (stated): Network access

MatchDirectRecommended for YouTube Videos
Sourcezeropointrepo/​youtube-skillsExternal source
Reported installs921Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
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."
version: "1.6.0"
user-invocable: true
compatibility: Requires internet access to reach transcriptapi.com. No additional runtimes or dependencies needed.
required_environment_variables:
  - name: TRANSCRIPT_API_KEY
    prompt: Your TranscriptAPI key (starts with sk_)
    help: Free account at https://transcriptapi.com — 100 credits, no card required. Or let the agent create one for you.
    required_for: all API requests
metadata: {"openclaw":{"emoji":"▶️","requires":{"env":["TRANSCRIPT_API_KEY"]},"primaryEnv":"TRANSCRIPT_API_KEY","homepage":"https://transcriptapi.com"},"hermes":{"tags":["youtube","search","video","channels","discovery","research"],"category":"media"}}
---

# YouTube Search

Search YouTube and fetch transcripts via [TranscriptAPI.com](https://transcriptapi.com).

## Setup

If `$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.

## 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](https://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=20
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
```

| Param          | Required    | Default     | Validation                                                        |
| -------------- | ----------- | ----------- | ------------------------------------------------------------------ |
| `q`            | conditional | —           | 1-200 chars (trimmed), first page                                  |
| `type`         | no          | `video`     | `video`, `channel`, `playlist`, `movie` (first page)               |
| `sort`         | no          | `relevance` | `relevance` or `views` (first page)                                 |
| `upload_date`  | no          | —           | `hour`, `today`, `week`, `month`, `year` — videos, first page      |
| `duration`     | no          | —           | `short` (<4m), `medium` (4-20m), `long` (>20m) — videos, first page |
| `features`     | no          | —           | comma-separated: `hd`, `subtitles`, `cc`, `live`, `4k`, `hdr`, etc. |
| `limit`        | no          | `20`        | 1-50                                                                |
| `continuation` | conditional | —           | 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=month
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
```

**Search for playlists on a topic:**

```http
GET https://transcriptapi.com/api/v2/youtube/search?q=react+tutorial&type=playlist
Authorization: Bearer $TRANSCRIPT_API_KEY
User-Agent: YourAgent/1.0
```

**Video search response:*
Read the full source on GitHub (opens external page)
Context

Related work