Get Full YouTube Video or Shorts Metadata & Engagement Stats
GET/v1/youtube/video
Returns rich video metadata including title, full description, views, likes, comment count, duration, publish timestamp, tags/keywords, channel info, and caption availability. Cost: 10 Credits ($0.001) per video.
Query Parameters
video_idstringrequired11-character YouTube video ID (
dQw4w9WgXcQ) or full YouTube URL. Also acceptsid,videoId, orurl.
Example Request (cURL / Python / JavaScript)
curl "https://api.youtubeapi.io/v1/youtube/video?video_id=dQw4w9WgXcQ" \
-H "x-api-key: yt_live_your_api_key"Live Response Preview
{
"code": 0,
"provider": "https://youtubeapi.io",
"status": "ok",
"msg": "success",
"data": {
"kind": "video",
"videoId": "dQw4w9WgXcQ",
"videoType": "video",
"url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
"title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster)",
"description": "The official video for “Never Gonna Give You Up” by Rick Astley.",
"channelId": "UCuAXFkgsw1L7xaCfnd5JJOw",
"channelTitle": "Rick Astley",
"channelHandle": "rickastleyyt",
"lengthSeconds": 213,
"viewCount": 1618420000,
"likeCount": 18100000,
"commentCount": 2410000,
"publishDate": "2009-10-25T06:57:33.000Z",
"publishedText": "2009-10-25",
"category": "Music",
"isLiveContent": false,
"isShort": false,
"isFamilySafe": true,
"thumbnailUrl": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg",
"keywords": [
"rick astley",
"never gonna give you up",
"80s music"
],
"hasTranscript": true
},
"meta": {
"request_id": "1a2b3c4d-1111-2222-3333-444455556666",
"endpoint": "/v1/youtube/video",
"cached": true,
"source": "pg",
"items_count": 1,
"credits_charged": 10,
"latency_ms": 5
}
}Response Fields
Successful video metadata response
| Field | Type | Sample / Notes |
|---|---|---|
code | integer | Example: 0 |
provider | string | Example: https://youtubeapi.io |
status | string | Example: ok |
msg | string | Example: success |
data | VideoData | |
kind | "video" | "short" | "live" | |
videoId | string | 11-character YouTube video ID. |
videoType | "video" | "short" | "live" | |
url | string | Canonical YouTube video or Shorts URL. |
title | string | Video title. |
description | string | Full video description including timestamps and links. |
channelId | string | Channel ID (UC...). |
channelTitle | string | Channel display name. |
channelHandle | stringnull | Channel handle without @ (e.g. mrbeast). |
lengthSeconds | integer | Video duration in seconds. |
viewCount | integer | Total view count. |
likeCount | integer | Total like count. |
commentCount | integer | Total comment count. |
publishDate | stringnull | ISO 8601 publish timestamp. |
publishedText | stringnull | Relative or formatted publish date text. |
category | stringnull | YouTube video category. |
isLiveContent | boolean | |
isShort | boolean | |
isFamilySafe | boolean | |
thumbnailUrl | stringnull | High-resolution thumbnail URL. |
keywords | array of string | |
hasTranscript | boolean | True if captions/transcripts are available. |
meta | ResponseMeta | |
request_id | string | Unique UUID for tracing and support. |
endpoint | string | Canonical endpoint path. |
cached | boolean | True if served from L1 Redis or L2 PostgreSQL 16 asset sink. |
source | string | Data source tier (redis, pg, upstream_primary, upstream_fallback, oembed). |
items_count | integer | Number of records returned in data. |
credits_charged | integer | Credits deducted for this request ($1 = 10,000 Credits). |
has_more | boolean | Whether additional pages are available via next_cursor. |
next_cursor | stringnull | Continuation cursor for the next page. |
latency_ms | integer | End-to-end gateway latency in milliseconds. |
Status Codes
- 200
- Successful video metadata response