Skip to main content
GET
/
api
/
aviation
/
v1
/
get-youtube-live-stream-info
GetYoutubeLiveStreamInfo
curl --request GET \
  --url https://api.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info \
  --header 'X-WorldMonitor-Key: <api-key>'
import requests

url = "https://api.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info"

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

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

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

fetch('https://api.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info', 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.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info",
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-WorldMonitor-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.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info"

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

req.Header.Add("X-WorldMonitor-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.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info")
.header("X-WorldMonitor-Key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.worldmonitor.app/api/aviation/v1/get-youtube-live-stream-info")

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

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

response = http.request(request)
puts response.read_body
{
  "channelExists": true,
  "channelName": "WorldMonitor Analyst",
  "error": "example",
  "hlsUrl": "https://example.com/worldmonitor",
  "isLive": true
}
{
"violations": [
{
"field": "<string>",
"description": "<string>"
}
]
}
{
"error": "<string>"
}
{
"error": "<string>",
"requiredTier": 123,
"currentTier": 123,
"planKey": "<string>"
}
{
"message": "<string>"
}
{
"message": "<string>"
}

Authorizations

X-WorldMonitor-Key
string
header
required

User-issued WorldMonitor API key.

Query Parameters

channel
string

YouTube channel handle or ID.

video_id
string

Specific video ID to check.

jmespath
string

Optional JMESPath expression applied server-side to project or reduce the JSON response before it is returned (mirrors the MCP jmespath argument). Invalid expressions, expressions larger than 1024 UTF-8 bytes, or projections that exceed the 256 KB output cap return HTTP 400 with a {_jmespath_error, original_keys} envelope. Grammar and worked examples: https://www.worldmonitor.app/docs/mcp-jmespath.

Response

Successful response

GetYoutubeLiveStreamInfoResponse containing detection results.

videoId
string

Video ID of the live stream (if found).

isLive
boolean

Whether the stream is currently live.

channelExists
boolean

Whether the channel exists.

channelName
string

Human-readable channel name.

hlsUrl
string

HLS manifest URL (if available).

title
string

Stream title.

error
string

Optional error message.