Skip to content
All YouTube APIs
Posts & videosYouTubeVideo · Detail

YouTube video detail

Read a public YouTube video's title, description, channel, duration, chapters, and view, like, and comment counts by ID.

POST/v1/youtube/videos/detail

Chinese name: YouTube 视频详情 · 视频 · 详情 按视频 ID 读取一条 YouTube 公开视频的标题、简介、频道、时长、章节和播放、点赞、评论数。
youtube.videos.detail@v1

Price per call

¥0.02/ call

Nonempty complete results are charged; empty, partial, and failed results are not.

Current statusAvailableChecking live status
Checking live status

Try it

Sign in and run one real call. The result and charge appear right here.

Security check

Loading the security check…

Checking live execution status…

Execution result

// Result

Request parameters

video_idstringrequired

pattern: "^[A-Za-z0-9_-]{11}$" · minLength: 1 · maxLength: 256

Example: "dQw4w9WgXcQ"

Request JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "video_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "pattern": "^[A-Za-z0-9_-]{11}$"
    }
  },
  "required": [
    "video_id"
  ],
  "additionalProperties": false
}

Code samples

Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.

curl -X POST https://api.dataxapi.com/v1/youtube/videos/detail \
  -H "Authorization: Bearer $DATAXAPI_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"video_id":"dQw4w9WgXcQ"}'

Response example

200 · application/json
{
  "code": 200,
  "request_id": "req_example_youtube_videos_detail",
  "message": "success",
  "data": {
    "item": {
      "video_id": "dQw4w9WgXcQ",
      "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
      "channel_name": "Rick Astley",
      "channel_id": "UCuAXFkgsw1L7xaCfnd5JJOw",
      "published_at": "2009-10-25T06:57:33Z",
      "length_seconds": 213,
      "view_count": 1700000000,
      "like_count": 18000000,
      "comment_count": 2400000
    }
  },
  "page": {
    "next_cursor": null
  },
  "warnings": [],
  "meta": {
    "listing_id": "youtube.videos.detail",
    "version": "v1",
    "catalog_release_id": "catalog-production-2026-09-19.b069be57",
    "price_book_version": "pricebook-production-2026-09-19.4487e352",
    "result_status": "complete",
    "charged_amount": "0.02",
    "balance_after": "49.98",
    "currency": "CNY"
  }
}
Response fields
codenumber
const: 200
request_idstring
messagestring
const: "success"
dataobject
pageobject
warningsarray
metaobject
Response JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "const": 200
    },
    "request_id": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "const": "success"
    },
    "data": {
      "type": "object",
      "properties": {
        "item": {
          "anyOf": [
            {
              "type": "object",
              "properties": {
                "video_id": {},
                "video_url": {},
                "title": {},
                "description": {},
                "channel_name": {},
                "channel_id": {},
                "channel_handle": {},
                "channel_url": {},
                "channel_follower_count": {},
                "channel_is_verified": {},
                "published_at": {},
                "length_seconds": {},
                "duration_string": {},
                "availability": {},
                "live_status": {},
                "age_limit": {},
                "view_count": {},
                "like_count": {},
                "comment_count": {},
                "keywords": {},
                "categories": {},
                "language": {},
                "thumbnail_url": {},
                "caption_count": {},
                "chapters": {}
              },
              "additionalProperties": false
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "item"
      ],
      "additionalProperties": false
    },
    "page": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "type": "null"
        }
      },
      "required": [
        "next_cursor"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "listing_id": {
          "type": "string",
          "const": "youtube.videos.detail"
        },
        "version": {
          "type": "string",
          "const": "v1"
        },
        "catalog_release_id": {
          "type": "string",
          "minLength": 1
        },
        "price_book_version": {
          "type": "string",
          "minLength": 1
        },
        "result_status": {
          "type": "string",
          "enum": [
            "complete",
            "empty",
            "partial"
          ]
        },
        "charged_amount": {
          "type": "string"
        },
        "balance_after": {
          "type": "string"
        },
        "currency": {
          "type": "string",
          "const": "CNY"
        }
      },
      "required": [
        "listing_id",
        "version",
        "catalog_release_id",
        "price_book_version",
        "result_status",
        "charged_amount",
        "balance_after",
        "currency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "code",
    "request_id",
    "message",
    "data",
    "page",
    "warnings",
    "meta"
  ],
  "additionalProperties": false
}

Usage notes

Good for

  • Use it when you have the 11-character video ID (after watch?v=) and need its public details.

Not for

  • Do not use it to download video or captions, or to read comments.

Known limitations

  • Stream URLs are not returned.
  • Some fields can be empty for age-restricted or unlisted videos.
  • Counts are point-in-time public snapshots, not live or historical trends.

Billing

¥0.02 per call. Nonempty complete results are charged; empty, partial, and failed results are not.

See all pricing →