Every stream on a YouTube channel's Live tab, up to 100 channels per run: live now with viewers watching, scheduled with the start time, and past streams with views and duration. One row per stream, in YouTube's order. No viewer or chat data. Pay per delivered stream.
One stream delivered. Channels that fail or have no Live tab are never charged.
ACTOR=steadydata~youtube-channel-live URL="https://api.apify.com/v2/acts/$ACTOR/run-sync-get-dataset-items" curl -X POST "$URL?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"channels": ["@NASA"], "maxStreamsPerChannel": 30, "language": "en"}' # rows come straight back as JSON, one object per delivered row
| Field | Name | What it does |
|---|---|---|
channelsrequired | Channels | One per row, up to 100: an @handle, a channel id (UC...) or a channel URL. |
maxStreamsPerChannel | Max streams per channel | Cost ceiling per channel; YouTube lists newest first. |
statuses | Statuses to include | Any of live, upcoming, past. Empty includes all three. |
language | Language | Two-letter code for labels. |
country | Country | Two-letter code. |
{
"channelId": string | null,
"channelUrl": string | null,
"channelName": string | null,
"position": integer | null,
"videoId": string | null,
"url": string | null,
"title": string | null,
"status": string | null,
"viewerCount": integer | null,
"viewCount": integer | null,
"scheduledStartAt": string | null,
"streamedText": string | null,
"durationSeconds": integer | null,
"thumbnailUrl": string | null,
"input": string | null,
"errorCode": string | null,
"error": string | null,
"streamStatus": string | null
}| Field | Type |
|---|---|
channelId | string, null |
channelUrl | string, null |
channelName | string, null |
position | integer, null |
videoId | string, null |
url | string, null |
title | string, null |
status | string, null |
viewerCount | integer, null |
viewCount | integer, null |
scheduledStartAt | string, null |
streamedText | string, null |
durationSeconds | integer, null |
thumbnailUrl | string, null |
input | string, null |
errorCode | string, null |
error | string, null |
streamStatus | string, null |
Channel profiles for up to 500 YouTube channels per run, by handle, id or URL: name, handle, subscribers, exact total views and video count, country, description, verified badge, external links, avatar and banner. No e-mail addresses. Pay only for delivered channels.
$2.50 per 1,000 · Channel fetchedFind YouTube channels by keyword: channel id, name, handle, subscriber count, video count, verified badge and thumbnail, ranked as YouTube ranks them. Up to 200 keywords per run. No email addresses or contact details. Only delivered channels are charged.
$1.00 per 1,000 · Channel listedTranscripts for the recent videos of a YouTube channel in one run, up to 50 channels: give a handle or channel URL, get one row per video with full transcript text, language, duration and views. Videos without captions cost nothing. Pay per transcript.
$2.50 per 1,000 · Transcript fetched