LiveCheck API

Check if YouTube channels are currently live streaming

Base URL: https://check.widecast.live

GET /resolve/:handle

Resolve a YouTube handle (e.g., @StarWars), URL, or channel ID to a channel ID. Responses are cached for 30 days.

Request Examples

JavaScript

const response = await fetch('https://check.widecast.live/resolve/@StarWars');
const data = await response.json();
console.log(data.channelId);

Python

import requests

response = requests.get('https://check.widecast.live/resolve/@StarWars')
data = response.json()
print(data['channelId'])

cURL

curl "https://check.widecast.live/resolve/@StarWars"

Response Example

{
  "channelId": "UCZYTClx2T1of7BRZ86-4fow"
}

GET /:channelId

Check if a YouTube channel is currently live streaming. Returns basic information about the live stream. Responses are cached for 90 seconds.

Request Examples

JavaScript

const channelId = 'UCZYTClx2T1of7BRZ86-4fow';
const response = await fetch(`${'https://check.widecast.live'}/${channelId}`);
const data = await response.json();

if (data.live) {
  console.log('Channel is live!', data.title);
  console.log('Watch at:', data.url);
} else {
  console.log('Channel is not live');
}

Python

import requests

channel_id = 'UCZYTClx2T1of7BRZ86-4fow'
response = requests.get(f'https://check.widecast.live/{channel_id}')
data = response.json()

if data['live']:
    print('Channel is live!', data['title'])
    print('Watch at:', data['url'])
else:
    print('Channel is not live')

cURL

curl "https://check.widecast.live/UCZYTClx2T1of7BRZ86-4fow"

Response Examples

When Live (200 OK)

{
  "live": true,
  "videoId": "dQw4w9WgXcQ",
  "title": "Example Live Stream",
  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "publishedAt": "2024-01-01T12:00:00Z"
}

When Not Live (404 Not Found)

{
  "live": false,
  "videoId": null,
  "title": null,
  "thumbnail": null,
  "url": null,
  "publishedAt": null
}

GET /:channelId/extended

Get extended live stream details including viewer count, start time, chat ID, and multiple thumbnail sizes. Responses are cached for 90 seconds.

Request Examples

JavaScript

const channelId = 'UCZYTClx2T1of7BRZ86-4fow';
const response = await fetch(`${'https://check.widecast.live'}/${channelId}/extended`);
const data = await response.json();

if (data.live) {
  console.log('Title:', data.title);
  console.log('Viewers:', data.concurrentViewers);
  console.log('Started:', data.actualStartTime);
}

Python

import requests

channel_id = 'UCZYTClx2T1of7BRZ86-4fow'
response = requests.get(f'https://check.widecast.live/{channel_id}/extended')
data = response.json()

if data['live']:
    print('Title:', data['title'])
    print('Viewers:', data['concurrentViewers'])
    print('Started:', data['actualStartTime'])

cURL

curl "https://check.widecast.live/UCZYTClx2T1of7BRZ86-4fow/extended"

Response Examples

When Live (200 OK)

{
  "live": true,
  "videoId": "dQw4w9WgXcQ",
  "title": "Example Live Stream",
  "description": "Stream description...",
  "thumbnail": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
  "thumbnails": {
    "default": "https://i.ytimg.com/vi/dQw4w9WgXcQ/default.jpg",
    "medium": "https://i.ytimg.com/vi/dQw4w9WgXcQ/mqdefault.jpg",
    "high": "https://i.ytimg.com/vi/dQw4w9WgXcQ/hqdefault.jpg",
    "standard": "https://i.ytimg.com/vi/dQw4w9WgXcQ/sddefault.jpg",
    "maxres": "https://i.ytimg.com/vi/dQw4w9WgXcQ/maxresdefault.jpg"
  },
  "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ",
  "publishedAt": "2024-01-01T12:00:00Z",
  "channelId": "UCZYTClx2T1of7BRZ86-4fow",
  "channelTitle": "Example Channel",
  "liveBroadcastContent": "live",
  "actualStartTime": "2024-01-01T12:00:00Z",
  "scheduledStartTime": null,
  "actualEndTime": null,
  "concurrentViewers": 12345,
  "activeLiveChatId": "Cg0KC..."
}

When Not Live (404 Not Found)

{
  "live": false,
  "videoId": null,
  "title": null,
  "description": null,
  "thumbnail": null,
  "thumbnails": null,
  "url": null,
  "publishedAt": null,
  "channelId": "UCZYTClx2T1of7BRZ86-4fow",
  "channelTitle": null,
  "liveBroadcastContent": null,
  "actualStartTime": null,
  "scheduledStartTime": null,
  "actualEndTime": null,
  "concurrentViewers": null,
  "activeLiveChatId": null
}