YouTube video detail
Read a public YouTube video's title, description, channel, duration, chapters, and view, like, and comment counts by ID.
/v1/youtube/videos/detailChinese 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.
Checking live statusTry it
This API is coming soon
We are running launch checks. Once live, you can try it right here at the price shown above; nothing is charged before then. You can already read the parameters and response example.
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_idstringrequiredpattern: "^[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"}'import { ExactApiClient } from "@dataxapi/sdk";
const client = new ExactApiClient({
baseUrl: "https://api.dataxapi.com",
apiKey: process.env.DATAXAPI_API_KEY,
});
const result = await client.call("youtube_videos_detail_v1", {
"video_id": "dQw4w9WgXcQ"
});
console.log(result.data);import os
from dataxapi import ExactApiClient
client = ExactApiClient("https://api.dataxapi.com", os.environ["DATAXAPI_API_KEY"])
result = client.call("youtube_videos_detail_v1", {
"video_id": "dQw4w9WgXcQ",
})
print(result["data"])[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"Response example
{
"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_idstringmessagestring- const: "success"
dataobjectpageobjectwarningsarraymetaobject
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 →