Skip to content
youtubeapi.io
All endpoints

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_idstringrequired

    11-character YouTube video ID (dQw4w9WgXcQ) or full YouTube URL. Also accepts id, videoId, or url.

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

FieldTypeSample / Notes
codeintegerExample: 0
providerstringExample: https://youtubeapi.io
statusstringExample: ok
msgstringExample: success
dataVideoData
kind"video" | "short" | "live"
videoIdstring11-character YouTube video ID.
videoType"video" | "short" | "live"
urlstringCanonical YouTube video or Shorts URL.
titlestringVideo title.
descriptionstringFull video description including timestamps and links.
channelIdstringChannel ID (UC...).
channelTitlestringChannel display name.
channelHandlestringnullChannel handle without @ (e.g. mrbeast).
lengthSecondsintegerVideo duration in seconds.
viewCountintegerTotal view count.
likeCountintegerTotal like count.
commentCountintegerTotal comment count.
publishDatestringnullISO 8601 publish timestamp.
publishedTextstringnullRelative or formatted publish date text.
categorystringnullYouTube video category.
isLiveContentboolean
isShortboolean
isFamilySafeboolean
thumbnailUrlstringnullHigh-resolution thumbnail URL.
keywordsarray of string
hasTranscriptbooleanTrue if captions/transcripts are available.
metaResponseMeta
request_idstringUnique UUID for tracing and support.
endpointstringCanonical endpoint path.
cachedbooleanTrue if served from L1 Redis or L2 PostgreSQL 16 asset sink.
sourcestringData source tier (redis, pg, upstream_primary, upstream_fallback, oembed).
items_countintegerNumber of records returned in data.
credits_chargedintegerCredits deducted for this request ($1 = 10,000 Credits).
has_morebooleanWhether additional pages are available via next_cursor.
next_cursorstringnullContinuation cursor for the next page.
latency_msintegerEnd-to-end gateway latency in milliseconds.

Status Codes

200
Successful video metadata response