Skip to main content
GET
/
v1
/
scrape
/
youtube
/
video
Video/Short Details
curl --request GET \
  --url https://api.sociavault.com/v1/scrape/youtube/video \
  --header 'X-API-Key: <api-key>'
import requests

url = "https://api.sociavault.com/v1/scrape/youtube/video"

headers = {"X-API-Key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};

fetch('https://api.sociavault.com/v1/scrape/youtube/video', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.sociavault.com/v1/scrape/youtube/video",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => [
    "X-API-Key: <api-key>"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.sociavault.com/v1/scrape/youtube/video"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-API-Key", "<api-key>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/youtube/video")
  .header("X-API-Key", "<api-key>")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.sociavault.com/v1/scrape/youtube/video")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "success": true,
  "data": {
    "success": true,
    "id": "zdO3THL0mRo",
    "thumbnail": "https://img.youtube.com/vi/zdO3THL0mRo/maxresdefault.jpg",
    "url": "https://www.youtube.com/watch?v=zdO3THL0mRo",
    "publishDate": "2026-02-08T11:50:51-08:00",
    "type": "video",
    "title": "It’s Super Bowl Sunday… WHO YA GOT",
    "description": null,
    "commentCountText": "65",
    "commentCountInt": 65,
    "likeCountText": "1081",
    "likeCountInt": 1081,
    "viewCountText": "23,093",
    "viewCountInt": 23093,
    "publishDateText": "Feb 8, 2026",
    "collaborators": {},
    "channel": {
      "id": "UCxcTeAKWJca6XyJ37_ZoKIQ",
      "url": "https://www.youtube.com/@ThePatMcAfeeShow",
      "handle": "ThePatMcAfeeShow",
      "title": "The Pat McAfee Show"
    },
    "chapters": {},
    "watchNextVideos": {
      "0": {
        "id": "7iEFiS1yNlI",
        "title": "FULL NFL Countdown | Darnold or Maye: Who takes title? - ESPN on Super Bowl LX: Seahawks vs Patriots",
        "thumbnail": "https://i.ytimg.com/vi/7iEFiS1yNlI/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLBdestUmDFwZKG1OmntSdWf7n0VAA",
        "channel": {
          "title": "Gabriel Ferreira",
          "url": "https://www.youtube.com/@gabferreira_yt",
          "handle": "gabferreira_yt",
          "id": "UC5bk70mGnmnIZQu1lZ9-vjA"
        },
        "publishedTimeText": "7 hours ago",
        "publishedTime": "2026-02-08T22:56:03.666Z",
        "publishDateText": "7 hours ago",
        "publishDate": "2026-02-08T22:56:03.666Z",
        "viewCountText": "29K views",
        "viewCountInt": 29000,
        "lengthText": "31:16",
        "lengthInSeconds": 1876,
        "videoUrl": "https://www.youtube.com/watch?v=7iEFiS1yNlI"
      }
    },
    "keywords": {},
    "genre": "Sports",
    "durationMs": 90000,
    "durationFormatted": "00:01:30",
    "captionTracks": {},
    "transcript": null,
    "transcript_only_text": null
  },
  "credits_used": 1,
  "endpoint": "youtube/video"
}
{
  "error": "Missing required parameter: handle",
  "endpoint": "<string>",
  "credits_required": 123
}
{
  "error": "Invalid API key",
  "docs": "https://docs.sociavault.com/authentication"
}
{
  "error": "Insufficient credits",
  "required": 1,
  "available": 0
}
{
  "error": "Service configuration error"
}
💳 1 credit per request

Authorizations

X-API-Key
string
header
required

API key for authentication. Format: sk_live_xxxxxxxxxxxxx

Get your API key from the Dashboard.

Query Parameters

url
string
required

YouTube video or short URL

language
string

Preferred response language (mapped to Accept-Language header; not guaranteed due to YouTube localization behavior). 2 letter language code, ie 'en', 'es', 'fr' etc.

Example:

"en"

Response

Successful response

Key Response Fields:

  • data.id: YouTube video ID
  • data.title: Video title
  • data.description: Video description (may be null for shorts)
  • data.url: Full YouTube video URL
  • data.thumbnail: Thumbnail image URL
  • data.type: Media type — "video" or "short"
  • data.publishDate: ISO timestamp of publication
  • data.viewCountInt: View count as integer
  • data.likeCountInt: Like count as integer
  • data.commentCountInt: Comment count as integer
  • data.durationMs: Duration in milliseconds
  • data.durationFormatted: Duration as formatted string (e.g., "00:01:30")
  • data.channel.id: Channel ID of the creator
  • data.channel.handle: Creator's @handle
  • data.genre: Video genre/category
  • data.keywords: Associated keywords/tags