Back to Skills
    šŸ¦ž

    youtube-search

    Search YouTube for videos and channels, search

    By @therohitdas
    View on GitHub
    SKILL.md
    ---
    name: youtube-search
    description: Search YouTube for videos and channels, search within specific channels, then fetch transcripts. Use when the user asks to "find videos about X", "search YouTube for", "look up a channel", "who makes videos about", "find on youtube", or wants to discover YouTube content on a topic.
    homepage: https://transcriptapi.com
    metadata:
      {
        "moltbot":
          {
            "emoji": "šŸ”",
            "requires": { "env": ["TRANSCRIPT_API_KEY"] },
            "primaryEnv": "TRANSCRIPT_API_KEY",
          },
      }
    ---
    
    # YouTube Search
    
    Search YouTube and fetch transcripts via [TranscriptAPI.com](https://transcriptapi.com).
    
    ## Setup
    
    If `$TRANSCRIPT_API_KEY` is not set, help the user create an account (100 free credits, no card):
    
    **Step 1 — Register:** Ask user for their email, generate a secure password.
    
    ```bash
    node ./scripts/tapi-auth.js register --email USER_EMAIL --password SECURE_PASS --json
    ```
    
    → OTP sent to email. Ask user: _"Check your email for a 6-digit verification code."_
    āš ļø **SAVE THE PASSWORD** — you need it again in Step 2!
    
    **Step 2 — Verify:** Once user provides the OTP (use SAME password from Step 1):
    
    ```bash
    node ./scripts/tapi-auth.js verify --email USER_EMAIL --password SECURE_PASS --otp CODE --json
    ```
    
    → Returns `api_key` (starts with `sk_`).
    
    **Step 3 — Save:** Store the key (auto-configures agent + shell):
    
    ```bash
    node ./scripts/tapi-auth.js save-key --key API_KEY --json
    ```
    
    → Ready to use. Agent runtime picks up the key automatically.
    
    Manual option: [transcriptapi.com/signup](https://transcriptapi.com/signup) → Dashboard → API Keys.
    
    ## GET /api/v2/youtube/search — 1 credit
    
    Search YouTube globally for videos or channels.
    
    ```bash
    curl -s "https://transcriptapi.com/api/v2/youtube/search?q=QUERY&type=video&limit=20" \
      -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
    ```
    
    | Param   | Required | Default | Validation            |
    | ------- | -------- | ------- | --------------------- |
    | `q`     | yes      | —       | 1-200 chars (trimmed) |
    | `type`  | no       | `video` | `video` or `channel`  |
    | `limit` | no       | `20`    | 1-50                  |
    
    **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.
    
    ```bash
    curl -s "https://transcriptapi.com/api/v2/youtube/channel/search\
    ?channel_id=UC_CHANNEL_ID&q=iphone+review&limit=30" \
      -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
    ```
    
    | Param        | Required | Validation              |
    | ------------ | -------- | ----------------------- |
    | `channel_id` | yes      | `^UC[a-zA-Z0-9_-]{22}
    
      
        
        
        
        OpenClaw Resources Directory – Skills, Tools, Plugins & Guides | The Claw Guy
        
        
        
        
        
        
        
        
    
        
        
        
        
    
        
        
        
        
        
      
      
    
    
      
         |
    | `q`          | yes      | 1-200 chars             |
    | `limit`      | no       | 1-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 for channel/search:
    
    ```bash
    curl -s "https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@mkbhd" \
      -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
    ```
    
    ## Workflow: Search → Transcript
    
    ```bash
    # 1. Search for videos
    curl -s "https://transcriptapi.com/api/v2/youtube/search\
    ?q=python+web+scraping&type=video&limit=5" \
      -H "Authorization: Bearer $TRANSCRIPT_API_KEY"
    
    # 2. Get transcript from result
    curl -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"
    ```
    
    ## Errors
    
    | Code | Action                                 |
    | ---- | -------------------------------------- |
    | 402  | No credits — transcriptapi.com/billing |
    | 404  | Not found                              |
    | 408  | Timeout — retry once                   |
    | 422  | Invalid channel_id format              |
    
    Free tier: 100 credits, 300 req/min.
    |\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 for channel/search:\n\n```bash\ncurl -s \"https://transcriptapi.com/api/v2/youtube/channel/resolve?input=@mkbhd\" \\\n -H \"Authorization: Bearer $TRANSCRIPT_API_KEY\"\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\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```\n\n## Errors\n\n| Code | Action |\n| ---- | -------------------------------------- |\n| 402 | No credits — transcriptapi.com/billing |\n| 404 | Not found |\n| 408 | Timeout — retry once |\n| 422 | Invalid channel_id format |\n\nFree tier: 100 credits, 300 req/min.","Plugin_Install_Column":"","Plugin_Config_Column":"","Plugin_Readme_Column":""},"similar":[{"slug":"eachlabs-product-visuals-h5400c","category":"DevTools","URL":"https://openclawdir.com/skills/eachlabs-product-visuals-h5400c","Type":"Skill","Title":"eachlabs-product-visuals","Description":"Generate e-commerce product photography and videos.","GitHub_Link":"https://github.com/eftalyurtseven"},{"slug":"bidclub-ec13gg","category":"DevTools","URL":"https://openclawdir.com/skills/bidclub-ec13gg","Type":"Skill","Title":"bidclub","Description":"Post investment ideas to the AI-native investment community.","GitHub_Link":"https://github.com/jasonfdg"},{"slug":"avatar-video-messages-k0dhm6","category":"DevTools","URL":"https://openclawdir.com/skills/avatar-video-messages-k0dhm6","Type":"Skill","Title":"avatar-video-messages","Description":"Generate and send video messages","GitHub_Link":"https://github.com/thewulf7"},{"slug":"apple-hig-lbg7lk","category":"DevTools","URL":"https://openclawdir.com/skills/apple-hig-lbg7lk","Type":"Skill","Title":"apple-hig","Description":"Expert guide for designing iOS, macOS, watchOS, tvOS, and visionOS apps.","GitHub_Link":"https://github.com/kdbhalala"}]}