> ## 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视频详情信息，返回原始完整数据（包含 playerResponse 和 initialData）

<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/get_video_info\n\n请帮我编写调用代码，并包含必要的错误处理、参数校验和响应处理逻辑。\n\n接口信息：\n\nEndpoint: GET https://api.keyapi.ai/v1/youtube/get_video_info\n\nDescription: YouTube 的「视频详情」接口用于根据指定标识查询完整信息，返回基础资料、统计指标以及示例中的扩展字段。常用必填参数包括 video_id。\n\nRequired Headers:\n--header 'Authorization: Bearer <YOUR_API_KEY>'\n\nParameters:\n- video_id (Required): 视频 ID. Example: oaSNBz4qMQY\n- language_code (Optional): language_code 参数. Example: zh-CN\n- need_format (Optional): need_format 参数. Example: true\n\nExample Response:\n{\n  \"code\": 0,\n  \"message\": \"success\",\n  \"data\": {\n    \"video_id\": \"oaSNBz4qMQY\",\n    \"title\": \"\",\n    \"description\": \"Today, we've moved into a sorcerer village! This village hides a dark secret... a terrible monster sealed away in a cursed painting! We can't let it get loose, we have to find a way to take it down and save the village!\\n\\nWe hope you enjoy our videos! Have a great day! \\n\\nMaizen Merchandise ► https://shop-maizen.myspreadshop.com/\",\n    \"length_seconds\": \"\",\n    \"keywords\": null,\n    \"thumbnails\": [],\n    \"author\": \"Maizen\",\n    \"channel_id\": \"UCJHBJ7F-nAIlMGolm0Hu4vg\",\n    \"channel_handle\": \"@maizenofficial\",\n    \"channel_url\": \"https://www.youtube.com/channel/UCJHBJ7F-nAIlMGolm0Hu4vg\",\n    \"channel_avatar_thumbnails\": [\n      {\n        \"url\": \"https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s48-c-k-c0x00ffffff-no-rj\",\n        \"width\": 48,\n        \"height\": 48\n      },\n      {\n        \"url\": \"https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s88-c-k-c0x00ffffff-no-rj\",\n        \"width\": 88,\n        \"height\": 88\n      },\n      {\n        \"url\": \"https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s176-c-k-c0x00ffffff-no-rj\",\n        \"width\": 176,\n        \"height\": 176\n      }\n    ],\n    \"subscriber_count_text\": \"1610万位订阅者\",\n    \"is_verified\": true,\n    \"badge_tooltip\": \"已验证\",\n    \"view_count\": \"\",\n    \"view_count_text\": \"1,666,377次观看\",\n    \"short_view_count\": \"166万次观看\",\n    \"like_count\": \"\",\n    \"like_count_text\": \"1万\",\n    \"comment_count\": \"957\",\n    \"publish_date\": \"\",\n    \"upload_date\": \"\",\n    \"date_text\": \"2026年1月9日\",\n    \"relative_date_text\": \"1个月前\",\n    \"category\": \"\",\n    \"super_title\": null,\n    \"is_live_content\": false,\n    \"is_private\": false,\n    \"is_unlisted\": false,\n    \"is_family_safe\": null,\n    \"is_shorts_eligible\": null,\n    \"is_crawlable\": null,\n    \"allow_ratings\": null,\n    \"available_countries\": null,\n    \"captions\": null,\n    \"chapters\": null,\n    \"endscreen\": null,\n    \"merchandise\": [\n      {\n        \"title\": \"Mikey Plush\",\n        \"price\": \"US$34.99\",\n        \"vendor_name\": \"Juniper\",\n        \"thumbnails\": [\n          {\n            \"url\": \"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcSx2_7BAHeg38-wwtroU_fBkxRHIUOd2gqzSU5uuA9ImeKbIG8HK9fqnBXtcZ8MNLUB810zV5c\",\n            \"width\": 128,\n            \"height\": 128\n          },\n          {\n            \"url\": \"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcRO_4gUShjDmyjUFTg84VZVExeSuptTefXMzm9RVFZQYXmqkC0IDLD7Ng_hBFhsIkXG7Lg3WwmY\",\n            \"width\": 256,\n            \"height\": 256\n          },\n          {\n            \"url\": \"https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcTrZMSLEwOZTT-ZrIpixYD3V5_YWbACztfiZKjFxzFKmJBL5GnA6A3yhmvf4Z3O-smnfp7oJ1d5\",\n            \"width\": 512,\n            \"height\": 512\n          }\n        ],\n        \"buy_url\": \"https://maizen.hellojuniper.com/p/7925971943615?srsltid=AfmBOooBhpu4Z073e6HGy3D-MFqpLIS242qPB-PwEA_KjOOTq7cBYr-jWZI&utm_content=YT3-Q921kxaDB_lY9syZ3s5W_IgzybbWdtKa5cfjIIY8BPb0JQpp3683rrXLtS02NU_7RuKTEbndZ8mlAOwn86I-bgnW&utm_term=UCJHBJ7F-nAIlMGolm0Hu4vg&utm_medium=product_shelf&utm_source=youtube\"\n      },\n      {\n        \"title\": \"JJ Plush\",\n        \"price\": \"US$27.99\",\n        \"vendor_name\": \"Juniper\",\n        \"thumbnails\": [\n          {\n            \"url\": \"https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcRmxAQQ0n_PUFHULkJ4eH77c1d8tdgQ_Eti8OWKlfF0j2C-op-3QmLubwVxuGAFCHAOZ6mkohWt\",\n            \"width\": 128,\n            \"height\": 128\n          },\n          {\n            \"url\": \"https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQX9GC3oeG6uYAppZ9LR9KjZMqRnoW32uMXKKSTre1xQOfg-tmDNxTzQuoAZYc7zt8Dqtonh8vS\",\n            \"width\": 256,\n            \"height\": 256\n          },\n          {\n            \"url\": \"https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcR4sThe7hhuWeN9BOJgj0bh-WOOFIqJFW-PHEEx3sxc3YjvePJb33cqK89wDDX3AXMvpI8CfjdC\",\n            \"width\": 512,\n            \"height\": 512\n          }\n        ],\n        \"buy_url\": \"https://maizen.hellojuniper.com/p/7925971288255?srsltid=AfmBOoqvx4_CIYpwC-8Ge5WVySiwVTsCDEek-SYugdTp-2QXe7js522UoC0&utm_content=YT3-cW5jNvizbEWWG-uoGKPFqAQk6oGm-Rd-bKWdgcyGAuut6Fnjza6h0_iChM8HdeYoODWilCpnEBNEFikIUXzmdG4t&utm_term=UCJHBJ7F-nAIlMGolm0Hu4vg&utm_medium=product_shelf&utm_source=youtube\"\n      }\n    ],\n    \"storyboard_spec\": null,\n    \"embed_url\": \"\",\n    \"video_url\": \"https://www.youtube.com/watch?v=oaSNBz4qMQY\",\n    \"owner_profile_url\": \"\",\n    \"playability_status\": \"LOGIN_REQUIRED\"\n  },\n  \"requestId\": \"9a121156-46b4-4fff-9bc1-0dda7589139b\"\n}\n\n请根据以上信息给出可直接运行的示例代码。")}>
      ✨ 复制给 AI
    </button>
  </div>
</div>


## OpenAPI

````yaml zh/youtube.zh.openapi.json GET /v1/youtube/get_video_info
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/get_video_info:
    get:
      tags: []
      summary: 获取视频详情
      description: 获取YouTube视频详情信息，返回原始完整数据（包含 playerResponse 和 initialData）
      parameters:
        - name: video_id
          in: query
          description: >-
            视频ID

            获取方式: 从视频URL中提取，例如
            https://www.youtube.com/watch?v=oaSNBz4qMQY，video_id 就是 oaSNBz4qMQY
          required: true
          example: oaSNBz4qMQY
          schema:
            type: string
            example: oaSNBz4qMQY
        - name: language_code
          in: query
          description: |-
            设置语言偏好
            可选值: "zh-CN", "en-US", "ja-JP", "ko-KR" 等
          required: false
          example: zh-CN
          schema:
            type: string
            default: zh-CN
        - name: need_format
          in: query
          description: 是否需要清洗数据，提取关键内容，移除冗余数据
          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:
                  video_id: oaSNBz4qMQY
                  title: ''
                  description: >-
                    Today, we've moved into a sorcerer village! This village
                    hides a dark secret... a terrible monster sealed away in a
                    cursed painting! We can't let it get loose, we have to find
                    a way to take it down and save the village!


                    We hope you enjoy our videos! Have a great day! 


                    Maizen Merchandise ► https://shop-maizen.myspreadshop.com/
                  length_seconds: ''
                  keywords: null
                  thumbnails: []
                  author: Maizen
                  channel_id: UCJHBJ7F-nAIlMGolm0Hu4vg
                  channel_handle: '@maizenofficial'
                  channel_url: https://www.youtube.com/channel/UCJHBJ7F-nAIlMGolm0Hu4vg
                  channel_avatar_thumbnails:
                    - url: >-
                        https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s48-c-k-c0x00ffffff-no-rj
                      width: 48
                      height: 48
                    - url: >-
                        https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s88-c-k-c0x00ffffff-no-rj
                      width: 88
                      height: 88
                    - url: >-
                        https://yt3.ggpht.com/jtaYDxDtMB2WZp9dOXCCcX4xuaJNkl5iEZPlzjMLuiVqkyUM851nBUArs0wDSBGIWvUfny2uYw=s176-c-k-c0x00ffffff-no-rj
                      width: 176
                      height: 176
                  subscriber_count_text: 1610万位订阅者
                  is_verified: true
                  badge_tooltip: 已验证
                  view_count: ''
                  view_count_text: 1,666,377次观看
                  short_view_count: 166万次观看
                  like_count: ''
                  like_count_text: 1万
                  comment_count: '957'
                  publish_date: ''
                  upload_date: ''
                  date_text: 2026年1月9日
                  relative_date_text: 1个月前
                  category: ''
                  super_title: null
                  is_live_content: false
                  is_private: false
                  is_unlisted: false
                  is_family_safe: null
                  is_shorts_eligible: null
                  is_crawlable: null
                  allow_ratings: null
                  available_countries: null
                  captions: null
                  chapters: null
                  endscreen: null
                  merchandise:
                    - title: Mikey Plush
                      price: US$34.99
                      vendor_name: Juniper
                      thumbnails:
                        - url: >-
                            https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcSx2_7BAHeg38-wwtroU_fBkxRHIUOd2gqzSU5uuA9ImeKbIG8HK9fqnBXtcZ8MNLUB810zV5c
                          width: 128
                          height: 128
                        - url: >-
                            https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcRO_4gUShjDmyjUFTg84VZVExeSuptTefXMzm9RVFZQYXmqkC0IDLD7Ng_hBFhsIkXG7Lg3WwmY
                          width: 256
                          height: 256
                        - url: >-
                            https://encrypted-tbn0.gstatic.com/shopping?q=tbn:ANd9GcTrZMSLEwOZTT-ZrIpixYD3V5_YWbACztfiZKjFxzFKmJBL5GnA6A3yhmvf4Z3O-smnfp7oJ1d5
                          width: 512
                          height: 512
                      buy_url: >-
                        https://maizen.hellojuniper.com/p/7925971943615?srsltid=AfmBOooBhpu4Z073e6HGy3D-MFqpLIS242qPB-PwEA_KjOOTq7cBYr-jWZI&utm_content=YT3-Q921kxaDB_lY9syZ3s5W_IgzybbWdtKa5cfjIIY8BPb0JQpp3683rrXLtS02NU_7RuKTEbndZ8mlAOwn86I-bgnW&utm_term=UCJHBJ7F-nAIlMGolm0Hu4vg&utm_medium=product_shelf&utm_source=youtube
                    - title: JJ Plush
                      price: US$27.99
                      vendor_name: Juniper
                      thumbnails:
                        - url: >-
                            https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcRmxAQQ0n_PUFHULkJ4eH77c1d8tdgQ_Eti8OWKlfF0j2C-op-3QmLubwVxuGAFCHAOZ6mkohWt
                          width: 128
                          height: 128
                        - url: >-
                            https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcQX9GC3oeG6uYAppZ9LR9KjZMqRnoW32uMXKKSTre1xQOfg-tmDNxTzQuoAZYc7zt8Dqtonh8vS
                          width: 256
                          height: 256
                        - url: >-
                            https://encrypted-tbn3.gstatic.com/shopping?q=tbn:ANd9GcR4sThe7hhuWeN9BOJgj0bh-WOOFIqJFW-PHEEx3sxc3YjvePJb33cqK89wDDX3AXMvpI8CfjdC
                          width: 512
                          height: 512
                      buy_url: >-
                        https://maizen.hellojuniper.com/p/7925971288255?srsltid=AfmBOoqvx4_CIYpwC-8Ge5WVySiwVTsCDEek-SYugdTp-2QXe7js522UoC0&utm_content=YT3-cW5jNvizbEWWG-uoGKPFqAQk6oGm-Rd-bKWdgcyGAuut6Fnjza6h0_iChM8HdeYoODWilCpnEBNEFikIUXzmdG4t&utm_term=UCJHBJ7F-nAIlMGolm0Hu4vg&utm_medium=product_shelf&utm_source=youtube
                  storyboard_spec: null
                  embed_url: ''
                  video_url: https://www.youtube.com/watch?v=oaSNBz4qMQY
                  owner_profile_url: ''
                  playability_status: LOGIN_REQUIRED
                requestId: 9a121156-46b4-4fff-9bc1-0dda7589139b
          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/get_video_info?video_id=oaSNBz4qMQY&language_code=zh-CN&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/get_video_info',
                params={"video_id": "oaSNBz4qMQY", "language_code": "zh-CN", "need_format": "true"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"video_id": "oaSNBz4qMQY",
            "language_code": "zh-CN", "need_format": "true"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/youtube/get_video_info?${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。

````