โ†‘ โ†“ to move โ†ต to open
YouTube API ยท Endpoint

YouTube Channel Live Streams API

List a channel's live streams: live now, scheduled and past.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • youtube.channel-live.list
Response completed
{  "summary": {    "channel_id": "UCSJ4gkVC6NrvII8umztf0Ow",    "has_more": false,    "tab": "live",    "total_items": 25  },  "items": [    {      "title": "24/7 halloween ambience ๐ŸŽƒ spooky lofi to get chills to",      "views": "5.2K watching",      "view_count": 5200,      "is_live": true,      "type": "video",      "video_id": "1-LpQekNa9g",      "view_count_approximate": true    },    {      "title": "24/7 deep sleep music ๐ŸŒŒ calm ambient to sleep & dream to",      "views": "553 watching",      "view_count": 553,      "is_live": true,      "type": "video",      "video_id": "nI725iVsyoQ"    }  ]}
Try it live, free
Input

What you send

The input object of the request, with every field the endpoint accepts.

FieldTypeRequiredWhat it doesExample
url string yes YouTube channel URL, handle, or channel ID @LofiGirl
limit integer no Maximum number of results to return. From 1 to 500. Default: 100. 100
max_pages integer no Maximum number of result pages to fetch. From 1 to 100. Default: 5. 5
Response

Fields it returns

What each record in the response holds, with the values from the sample above.

FieldTypeWhat it isExample
items[].title string The stream's title. 24/7 halloween ambience ๐ŸŽƒ spooky lofi to get chills to
items[].is_live boolean Whether it is live now. true
items[].view_count integer Viewers now, read from what YouTube shows. 5200
items[].video_id string YouTube's ID for the video. 1-LpQekNa9g
items[].views string Viewers as YouTube writes them. 5.2K watching
items[].type string What kind of item it is, such as video. video
items[].view_count_approximate boolean Whether the view count comes from a rounded figure such as 84K. true
items array The channel's live streams. 25 records
summary object Totals and paging details for this answer. 4 fields
summary.channel_id string YouTube's ID for the channel. UCSJ4gkVC6NrvII8umztf0Ow
summary.has_more boolean Whether more items are available. false
summary.tab string Which channel tab the items come from. live
summary.total_items integer How many items this answer holds. 25
REST API ยท MCP server

Call it from your code, or ask your agent

Set UPSCRAPE_API_KEY to your key and copy a working request.

curl --request POST \  --url https://data.upscrape.com/execute \  --header "Authorization: Bearer $UPSCRAPE_API_KEY" \  --header "Content-Type: application/json" \  --header "Prefer: wait=30" \  --data '{  "capability": "youtube.channel-live.list",  "input": {    "limit": 100,    "max_pages": 5,    "url": "@LofiGirl"  }}'
In your AI agent Claude ยท Cursor ยท any MCP client
1Add the Upscrape MCP server
https://data.upscrape.com/mcp
2Ask for the data in plain words

Use Upscrape to list the live streams on the @LofiGirl channel and tell me which ones are live right now.

The agent finds the endpoint, shows you the price, and runs it with your credits.
YouTube

More from the YouTube API

Questions

YouTube Channel Live Streams API FAQ

The short answers. The docs have the long ones.

Still have a question? Talk to the people who build the endpoints.
How much does the YouTube Channel Live Streams API cost?

1 credit per successful call, shown before it runs. You buy credits once, and paid credits never expire.

What do I send?

Send url. The input fields below list every option with its type and limits.

Do I need a YouTube login?

No. It reads public YouTube data; nothing runs on your account.

Can my AI agent call it?

Yes, over MCP: the agent finds youtube.channel-live.list, checks its price and runs it with the same credits as the REST API.

Get started

Your first YouTube call is free.

Up to 100 free credits to start, no card needed.