> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keyapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 搜索频道

> 搜索YouTube频道
只返回频道类型的搜索结果（过滤掉视频、播放列表等）
支持分页获取更多频道

使用流程:
1.首次请求：只传 keyword 参数
2.获取响应中的 continuation_token
3.下次请求：传入 continuation_token（keyword 可选）
4.重复步骤 2-3 直到 has_more 为 false

注意事项:
每页通常返回 10-20 个频道
搜索结果只包含频道，不包含视频、播放列表等
搜索结果的顺序和数量由 YouTube 算法决定

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">3 credits</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">每次请求</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 让 AI 帮你写调用代码</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">点击按钮复制一段结构化提示词，可直接交给 ChatGPT、Claude 或其他 AI 助手生成接口调用代码。</p>
  </div>

  <div className="mt-4">
    <button type="button" className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50" onClick={() => navigator.clipboard.writeText("我想调用 KeyAPI 接口：GET https://api.keyapi.ai/v1/youtube/search_channels\n\n请帮我编写调用代码，并包含必要的错误处理、参数校验和响应处理逻辑。\n\n接口信息：\n\nEndpoint: GET https://api.keyapi.ai/v1/youtube/search_channels\n\nDescription: YouTube 的「频道搜索」接口用于按关键词、地区或筛选条件检索数据，返回匹配结果、核心指标和分页信息。适用于视频分析、频道研究、评论监测和内容发现。可结合接口参数进行筛选或分页查询。\n\nRequired Headers:\n--header 'Authorization: Bearer <YOUR_API_KEY>'\n\nParameters:\n- keyword (Optional): 搜索关键词. Example: Rick Astley\n- continuation_token (Optional): 分页游标，用于继续获取后续数据\n- need_format (Optional): need_format 参数. Example: true\n\nExample Response:\n{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"data\": {\n    \"keyword\": \"Rick Astley\",\n    \"channels\": [\n      {\n        \"channel_id\": \"UCuAXFkgsw1L7xaCfnd5JJOw\",\n        \"title\": \"Rick Astley\",\n        \"handle\": \"@RickAstleyYT\",\n        \"subscriber_count_text\": \"4.46M subscribers\",\n        \"description\": \"2026 UK & Ireland Reflection Tour     🎟️ Tickets are on sale now. New single 'Waiting On You' out now.\",\n        \"thumbnails\": [\n          {\n            \"url\": \"//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s88-c-k-c0x00ffffff-no-rj-mo\",\n            \"width\": 88,\n            \"height\": 88\n          },\n          {\n            \"url\": \"//yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s176-c-k-c0x00ffffff-no-rj-mo\",\n            \"width\": 176,\n            \"height\": 176\n          }\n        ],\n        \"is_subscribed\": false,\n        \"canonical_url\": \"/@RickAstleyYT\",\n        \"channel_url\": \"https://www.youtube.com/@RickAstleyYT\"\n      }\n    ],\n    \"continuation_token\": null,\n    \"has_more\": false,\n    \"total_count\": 1\n  },\n  \"requestId\": \"10380c82-2a7b-4e53-9ef1-65eac3f48652\"\n}\n\n请根据以上信息给出可直接运行的示例代码。")}>
      ✨ 复制给 AI
    </button>
  </div>
</div>


## OpenAPI

````yaml zh/youtube.zh.openapi.json GET /v1/youtube/search_channels
openapi: 3.0.1
info:
  title: YouTube API 中文文档
  description: YouTube API 的中文参考文档，包含接口用途、参数说明、响应状态和示例结构。
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production
security: []
tags: []
paths:
  /v1/youtube/search_channels:
    get:
      tags: []
      summary: 搜索频道
      description: |-
        搜索YouTube频道
        只返回频道类型的搜索结果（过滤掉视频、播放列表等）
        支持分页获取更多频道

        使用流程:
        1.首次请求：只传 keyword 参数
        2.获取响应中的 continuation_token
        3.下次请求：传入 continuation_token（keyword 可选）
        4.重复步骤 2-3 直到 has_more 为 false

        注意事项:
        每页通常返回 10-20 个频道
        搜索结果只包含频道，不包含视频、播放列表等
        搜索结果的顺序和数量由 YouTube 算法决定
      parameters:
        - name: keyword
          in: query
          description: 搜索关键词（首次请求必填）
          required: false
          example: Rick Astley
          schema:
            type: string
            example: Rick Astley
        - name: continuation_token
          in: query
          description: 分页token（可选，用于获取下一页）
          required: false
          schema:
            type: string
        - name: need_format
          in: query
          description: |-
            是否格式化数据（默认 true）
            true: 返回格式化的结构化数据（推荐）
            false: 返回原始的 YouTube API 结构（用于调试）
          required: false
          example: 'true'
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: 请求成功
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  keyword: Rick Astley
                  channels:
                    - channel_id: UCuAXFkgsw1L7xaCfnd5JJOw
                      title: Rick Astley
                      handle: '@RickAstleyYT'
                      subscriber_count_text: 4.46M subscribers
                      description: >-
                        2026 UK & Ireland Reflection Tour     🎟️ Tickets are on
                        sale now. New single 'Waiting On You' out now.
                      thumbnails:
                        - url: >-
                            //yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s88-c-k-c0x00ffffff-no-rj-mo
                          width: 88
                          height: 88
                        - url: >-
                            //yt3.googleusercontent.com/vewxKdtll-rntHAMDPY_Qa6hPac3-J2sCFFUwvGSSR0i7hB4g5rNfF39lCEcjGvsYI0RWx7V1A=s176-c-k-c0x00ffffff-no-rj-mo
                          width: 176
                          height: 176
                      is_subscribed: false
                      canonical_url: /@RickAstleyYT
                      channel_url: https://www.youtube.com/@RickAstleyYT
                  continuation_token: null
                  has_more: false
                  total_count: 1
                requestId: 10380c82-2a7b-4e53-9ef1-65eac3f48652
          headers: {}
        '400':
          description: 请求参数错误，请检查必填字段和参数格式
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 400
                  data: null
                  message: 'Missing required parameter: handle'
        '401':
          description: 鉴权失败，请检查 Authorization Header 中的 Bearer Token 或 API Key 是否有效
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 401
                  data: null
                  message: apiKey is null
        '402':
          description: 账户余额或额度不足
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 402
                  data: null
                  message: apiKey quota is not enough
        '429':
          description: 请求过于频繁，已触发限流
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 429
                  data: null
                  message: qps limit exceeded
        '500':
          description: 服务器内部错误，请稍后重试
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 500
                  data: null
                  message: Internal server error
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/v1/youtube/search_channels?keyword=Rick+Astley&need_format=true' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/youtube/search_channels',
                params={"keyword": "Rick Astley", "need_format": "true"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"keyword": "Rick Astley",
            "need_format": "true"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/youtube/search_channels?${params}`,
            {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            const data = await response.json();

            console.log(data);
components:
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        接口鉴权凭证。请在请求 Header 中传入 `Authorization: Bearer <YOUR_API_KEY>`。
        可在 [Dashboard](https://keyapi.ai/app/dashboard) 获取你的 API Key。

````