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"
}YouTube
Video/Short Details
Get complete information about a video or short. To get transcripts, use the dedicated /v1/scrape/youtube/video/transcript endpoint.
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
Query Parameters
YouTube video or short URL
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 IDdata.title: Video titledata.description: Video description (may be null for shorts)data.url: Full YouTube video URLdata.thumbnail: Thumbnail image URLdata.type: Media type —"video"or"short"data.publishDate: ISO timestamp of publicationdata.viewCountInt: View count as integerdata.likeCountInt: Like count as integerdata.commentCountInt: Comment count as integerdata.durationMs: Duration in millisecondsdata.durationFormatted: Duration as formatted string (e.g.,"00:01:30")data.channel.id: Channel ID of the creatordata.channel.handle: Creator's @handledata.genre: Video genre/categorydata.keywords: Associated keywords/tags
⌘I