↑ ↓ to move ↵ to open
YouTube API · Endpoint

YouTube Channel Videos API

List a channel's videos, newest first, with title, views and length, page by page.

  • 1 credit per call
  • Failed calls are free
  • Updated
  • youtube.channel-videos.list
Response completed
{  "summary": {    "channel_id": "UCLA_DiR1FfKNvjuUpBHmylQ",    "has_more": true,    "tab": "videos",    "total_items": 65  },  "items": [    {      "title": "Planetary Defenders: This Is Not an Exercise",      "views": "84K views",      "view_count": 84000,      "duration": "20:15",      "duration_seconds": 1215,      "type": "video",      "video_id": "5b3n-u_0QAI",      "view_count_approximate": true    },    {      "title": "NASA's SpaceX Crew-13 Mission (Official NASA Trailer)",      "views": "102K views",      "view_count": 102000,      "duration": "1:02",      "duration_seconds": 62,      "type": "video",      "video_id": "ErAqN6gXqZQ",      "view_count_approximate": true    }  ]}
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 The channel's link, handle or ID. @NASA
limit integer no How many videos to return. 65
max_pages integer no How many pages to read in this call. A smaller number answers faster. 3
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 video's title. Planetary Defenders: This Is Not an Exercise
items[].view_count integer Views as a number, read from what YouTube shows. 84,000
items[].duration_seconds integer The video's length, in seconds. 1215
items[].video_id string YouTube's ID for the video. 5b3n-u_0QAI
items[].views string Views as YouTube writes them. 84K views
items[].duration string The video's length as YouTube shows it. 20:15
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 videos. 65 records
summary object Totals and paging details for this answer. 4 fields
summary.channel_id string YouTube's ID for the channel. UCLA_DiR1FfKNvjuUpBHmylQ
summary.has_more boolean Whether more items are available. true
summary.tab string Which channel tab the items come from. videos
summary.total_items integer How many items this answer holds. 65
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-videos.list",  "input": {    "limit": 65,    "max_pages": 3,    "url": "@NASA"  }}'
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

Using Upscrape, list NASA's latest YouTube videos with views and length, and tell me which ten got the most views.

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

More from the YouTube API

Same data, other platforms

The same data from other platforms

Questions

YouTube Channel Videos 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 Videos 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-videos.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.