↑ ↓ to move ↵ to open
YouTube API · Endpoint

YouTube Channel Shorts API

List a channel's Shorts with their view counts.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • youtube.channel-shorts.list
Response completed
{  "summary": {    "channel_id": "UCX6OQ3DkcsbYNE6H8uQQuVA",    "has_more": true,    "pages": 1,    "tab": "shorts",    "total_items": 30  },  "items": [    {      "headline": "Can We Build an Entire Village?",      "views": "17M views",      "view_count": 17000000,      "accessibility_text": "Can We Build an Entire Village?, 17 million views - play Short",      "entity_id": "shorts-shelf-item-T_SMf9j50uc",      "type": "short",      "video_id": "T_SMf9j50uc",      "view_count_approximate": true,      "thumbnails": [        {          "height": 1920,          "url": "https://i.ytimg.com/vi/T_SMf9j50uc/frame0.jpg",          "width": 1080        }      ]    },    {      "headline": "World’s Largest Tennis Match",      "views": "14M views",      "view_count": 14000000,      "accessibility_text": "World’s Largest Tennis Match, 14 million views - play Short",      "entity_id": "shorts-shelf-item-5mU6SRS2Bxo",      "type": "short",      "video_id": "5mU6SRS2Bxo",      "view_count_approximate": true,      "thumbnails": [        {          "height": 1920,          "url": "https://i.ytimg.com/vi/5mU6SRS2Bxo/frame0.jpg",          "width": 1080        }      ]    }  ]}
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 Public URL of the page to fetch. https://www.youtube.com/@MrBeast
limit integer no Maximum number of results to return. From 1 to 500. Default: 100. 5
max_pages integer no Maximum number of result pages to fetch. From 1 to 100. Default: 5.
Response

Fields it returns

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

FieldTypeWhat it isExample
items[].headline string The short's title. Can We Build an Entire Village?
items[].views string Views as YouTube writes them. 17M views
items[].view_count integer Views as a number, read from what YouTube shows. 17,000,000
items[].accessibility_text string The short's title and views as a screen reader hears them. Can We Build an Entire Village?, 17 million views - play Short
items[].entity_id string shorts-shelf-item-T_SMf9j50uc
items[].thumbnails array Thumbnail images in different sizes. 1 records
items[].thumbnails[].height integer 1920
items[].thumbnails[].url string https://i.ytimg.com/vi/T_SMf9j50uc/frame0.jpg
items[].thumbnails[].width integer 1080
items[].type string What kind of item it is, such as video. short
items[].video_id string YouTube's ID for the video. T_SMf9j50uc
items[].view_count_approximate boolean Whether the view count comes from a rounded figure such as 84K. true
items array The channel's shorts. 3 records
summary object Totals and paging details for this answer. 5 fields
summary.channel_id string YouTube's ID for the channel. UCX6OQ3DkcsbYNE6H8uQQuVA
summary.has_more boolean Whether more items are available. true
summary.pages integer How many pages were read for this answer. 1
summary.tab string Which channel tab the items come from. shorts
summary.total_items integer How many items this answer holds. 30
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-shorts.list",  "input": {    "limit": 5,    "url": "https://www.youtube.com/@MrBeast"  }}'
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

With Upscrape, get the YouTube channel shorts for https://www.youtube.com/@MrBeast. Tell me what it costs before you run it, then show the results as a table.

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

More from the YouTube API

Questions

YouTube Channel Shorts 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 Shorts 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-shorts.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.