Skip to main content
GET
/
v1
/
scrape
/
youtube
/
channel
/
lives
Channel Lives
curl --request GET \
  --url https://api.sociavault.com/v1/scrape/youtube/channel/lives \
  --header 'X-API-Key: <api-key>'
import requests

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

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/channel/lives', 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/channel/lives",
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/channel/lives"

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/channel/lives")
.header("X-API-Key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

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

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,
    "videos": {},
    "channels": {},
    "playlists": {},
    "shorts": {},
    "shelves": {},
    "lives": {
      "0": {
        "type": "live",
        "id": "B97EEG4ZMBM",
        "url": "https://www.youtube.com/watch?v=B97EEG4ZMBM",
        "title": "irl stream at World Cup Opening Game⚽️🌎",
        "thumbnail": "https://i.ytimg.com/vi/B97EEG4ZMBM/hqdefault.jpg?sqp=-oaymwEnCNACELwBSFryq4qpAxkIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB&rs=AOn4CLBlo8B8S6pFhgEPYAz5lmmMwJX9dw",
        "channel": {
          "id": null,
          "title": null,
          "handle": null,
          "thumbnail": null
        },
        "viewCountText": "54 waiting",
        "viewCountInt": 54,
        "publishedTimeText": "Scheduled for 6/12/26, 5:00 PM",
        "publishedTime": "2026-06-11T10:06:01.243Z",
        "lengthText": "Upcoming",
        "lengthSeconds": null,
        "badges": {}
      },
      "1": {
        "type": "live",
        "id": "tALs77Qv7Jw",
        "url": "https://www.youtube.com/watch?v=tALs77Qv7Jw",
        "title": "WORLD TALENT SHOW🌎 LIVE NOW !!! (100k Giveaway) (Presented by CashApp)",
        "thumbnail": "https://i.ytimg.com/vi/tALs77Qv7Jw/hqdefault.jpg?sqp=-oaymwFBCNACELwBSFryq4qpAzMIARUAAIhCGAHYAQHiAQoIGBACGAY4AUAB8AEB-AH-CYAC0AWKAgwIABABGHIgSig7MA8=&rs=AOn4CLD1zvfvjC6fsYetyoLDsCHaMQAhjw",
        "channel": {
          "id": null,
          "title": null,
          "handle": null,
          "thumbnail": null
        },
        "viewCountText": "1.2M",
        "viewCountInt": 1200000,
        "publishedTimeText": "Streamed 3d ago",
        "publishedTime": "2026-06-11T10:06:01.243Z",
        "lengthText": "2:13:29",
        "lengthSeconds": 8009,
        "badges": {}
      }
    },
    "continuationToken": "4qmFsgKdCxIYVUNXc0RGY0loWTJEQmkzR0I1dXlrR1hBGoALOGdhY0NCcVpDSEtXQ0RxVENBb2tObU15T0dJME9HUXRNREF3TUMweU1qY3dMVGxqWkRNdE5UZ3lOREk1WVRZMU5XWmpFdWdIUVZObFIwSjVkVUp1TTNoV1dXRk1jbUpHTkdGQ0xYQjBUbTE2UlVGMFJtUkVNSFJMYURabk1ESjViMmxqUTJod2NIRnJialJWY1RZMU0yNXNjMnd0WjNaM2IwSm1NR3BMYkhCRVMweGxaRmRTUTNFeFpHNDJjVkZsU0U1aGQyZDZjemROVWtJNVV6bFlZMkl3TlZoVFlrazNaamxvUzNscmEyRjVXRTkxTkRCQlMyeFRUekUwWVhwcFkwb3haSGxpVW1aRU5uUk5iVWt6YTAxdVZFOU9TRXQyUzNvM1REUnZTM1JxWjNWd09XcEpUbEJwZVhCNE4wZFZSMWhQWlVKNE0wNXdWRVJhZVVOaFN6WnhXWEphTTB4bVFsUkhVa0pEV0ZWblpUWlVTRGhvTm1wU1ZFVkJWVnBVZG10eFRVMDRNbWhHWjNsNU5FZEpOMWhpY1V0RlRtcEZiV2hLV0U5bU1YbE1URlZYZVVzeWR6UXpibUZoYWtWSmExRlhhbHBYV1dsT1oyVmFNVVJwUlhKZlVUUjBTR2d4UTNvMVoyRXhVa1YxVDNwcmFtWndXa0l3VTFrMVQxaENSRkJrYm5KRE9HRktXSE5JUVZCak1rUnBkVVpDVWxKNVowNDFNVXRqZUdOWlRFUjRXRFpLVUc5RlpEQXRabmhCV201R2VGaFNSVmRqVGxWRWRWaGtOMjkwZUhreVdGQlJUekYyZFhwM1QyZG1ZWE5SWVVFd2JVbERZV2hEZUZoc1IwZDJOMHhaTUV3ME5qZERZbDk2VmtwUFdYb3phRGh1YWpCRlJWOUtXbU10U3pVeGRHOVlaRkZDWHpSTVkxVnJXbFpSUzFSWFgzSllaRTFPYlhKeVJrYzRRMGRWU2toMVlXcFpaa1JCZW5aMlgwTkRWblpZZUdZM2NqSldURkF4TkMwNGVWbGtOMkZLZHpabVEzSlNiR3gxZGxkWmQwazBaM0ZTZFRGdlVEaExNRGN6U25CbFlUTlhiSFpJZGpjMVRUWlpNMjF1TVd0S1dsWjVWbVpRYkZaeFExWlhTVlF6V1VORVozQjJUMEZNTnpjdGRIYzJhR3hFVEc0NFJqRm9kV1l3Y0VSWlJHa3lOSGs0UlVJelR6ZzNhRFU1WWtKdVJrVXlXbWhaTkVOTE1GUlBjRTlMT1RSc2JIVktXVWxHVG1WUFkwcFRNakJGTFdZMFdFNDBlblZ1Y1ZaZmJqSndlalEzT0hONE5FSnRWbWxsUlVWTVowaFBTM1JpTVdKSmEzSktXRkZXTkVoeWJVNWtlWGhYUTJkSlNYVlJZbk4zVlhkRFdYaEVObFJ5YVhwcFUyTjFlVTVQYXpJeGJYSjRVMHBvWVY5dVVVMHdRak40WjNaUk0xOWlXWEV5VVZObmRHeHVZbEZFV2s1UWRUSXdXazVpWDNGWFQyaGhORk5DV25oeFlrVTRhbFkxTjA1U2JWaFNiRVpSWkROSFdFVnlRelV4Tkc1a2RsazRSMVJFWVVKbU0wVndUbkIxVjJsSlJtUmZkVTlvUW5sWGFXTTFWUzEwVW01bFkwSnhielpTWVc5TGJXVnhiSGhMY25wUGVWUkRjVXhIYTFSaGFYRTRkVzh0VHpCMU1pMXROR3B3TWs5bFQxQkhjVjlWWDBWTWF6RkxPVkpUVVMxcWJsOTVXRlEyVkhZMlYwcE1hRVJMUjFWaGJGSmZNVlJWTFZocVRERmpSVFZ6VkUxclRtSktlVU56U1hKUVJ6ZGhkMTlIVFd4MWQzTk5NekZLV2hnTQ%3D%3D"
  },
  "credits_used": 1,
  "endpoint": "youtube/channel/lives"
}
{
"error": "Either channelId or handle is required"
}
{
"error": "Insufficient credits",
"required": 1,
"available": 0
}
💳 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

channelId
string

YouTube channel ID

Example:

"UCWsDFcIhY2DBi3GB5uykGXA"

handle
string

YouTube channel handle

Example:

"IShowSpeed"

continuationToken
string

Continuation token to get more lives. Get 'continuationToken' from previous response.

Response

Successful response containing channel live streams

Key Response Fields:

  • lives[].id: YouTube video ID
  • lives[].url: Full URL to the live stream
  • lives[].title: Live stream title
  • lives[].thumbnail: Thumbnail image URL
  • lives[].viewCountText: Formatted view/waiting count (e.g. "54 waiting", "1.2M")
  • lives[].viewCountInt: Numeric view count
  • lives[].publishedTimeText: Human-readable publish or schedule time
  • lives[].lengthText: Duration label (e.g. "2:13:29" or "Upcoming")
  • lives[].lengthSeconds: Duration in seconds (null for upcoming streams)
  • continuationToken: Token to fetch the next page of live streams (null if no more pages)