Skip to main content

YouTube Channel Videos API

Written by Kadri - RichAPI Support Team

POST /youtube_channel_videos • Credits: 2 credits per call

YouTube Channel Videos takes one YouTube channel URL and returns the most recent videos of that channel. The response holds a data.videos array. Each entry carries the video ID, the title, the view count, the duration, the upload date, and the thumbnail. One call returns up to 50 videos and costs 2 credits, whatever the number of videos in the response.

What does YouTube Channel Videos do?

A creator research task starts with one question: what does this channel publish, and how often? YouTube Channel Videos answers both questions in a single request. The endpoint reads the public /videos tab of the channel and returns the newest videos in one array, newest first. Each entry carries the title, the view count, the duration in seconds, and the upload date. The endpoint needs no YouTube API key, no login, and no cookie. It reads only the pages that a public visitor can open.

Which endpoint does YouTube Channel Videos use?

  • Method: POST

  • URL: https://api.richapi.ai/api/v1/youtube_channel_videos

  • Authentication: x-api-key header

  • Response: Synchronous JSON

  • Credits: 2 credits per call

  • Videos per call: Up to 50, newest first

How to send a YouTube Channel Videos request

  1. Copy your API key from the RichAPI dashboard.

  2. Set the url parameter to the channel URL, for example https://www.youtube.com/@MrBeast.

  3. To accept a cached result, set the cache parameter to true.

  4. Send a POST request to https://api.richapi.ai/api/v1/youtube_channel_videos.

  5. Send the API key in the x-api-key header.

  6. Read the video list from the data.videos array of the response.

CAUTION: Each YouTube Channel Videos call costs 2 credits. A channel with 3 videos and a channel with 50 videos cost the same 2 credits.

cURL

curl -X POST https://api.richapi.ai/api/v1/youtube_channel_videos   
-H "x-api-key: YOUR_API_KEY"
-H "Content-Type: application/json"
-d '{
"url": "https://www.youtube.com/@MrBeast",
"cache": true
}'

Python

import requests

response = requests.post(
"https://api.richapi.ai/api/v1/youtube_channel_videos",
headers={"x-api-key": "YOUR_API_KEY"},
json={
"url": "https://www.youtube.com/@MrBeast",
"cache": True,
},
timeout=120,
)
response.raise_for_status()
data = response.json()["data"]

print(data["channel"], data["total_count"])
for video in data["videos"][:5]:
print(video["publish_date"], video["view_count"], video["title"])

Node.js

const response = await fetch("https://api.richapi.ai/api/v1/youtube_channel_videos", {
method: "POST",
headers: {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
url: "https://www.youtube.com/@MrBeast",
cache: true,
}),
});

const { data } = await response.json();

console.log(data.channel, data.total_count);
for (const video of data.videos.slice(0, 5)) {
console.log(video.publish_date, video.view_count, video.title);
}

Which parameters does YouTube Channel Videos accept?

YouTube Channel Videos accepts two parameters. The request body is flat. No other field is valid, and an unknown field returns a 400 error.

Parameter

Type

Required

Default

Description

url

string

Yes

None

The YouTube channel URL. Send the channel root URL. The endpoint reads the /videos tab of that channel.

cache

boolean

No

false

Set to true to accept a cached result. Set to false to read the live channel page.

What does YouTube Channel Videos return?

The block below is an example response for https://www.youtube.com/@MrBeast. The field names and the structure are exact. The titles, the IDs, the counts, and the timings are illustrative. The example holds four entries, but a full response holds up to 50 entries in the data.videos array.

{
"data": {
"channel": "MrBeast",
"videos": [
{
"video_id": "7xLq3pRb2Kd",
"title": "I Bought An Entire Island For $1",
"view_count": 42817903,
"duration": 1024,
"publish_date": "20260803",
"thumbnail": "https://i.ytimg.com/vi/7xLq3pRb2Kd/hqdefault.jpg"
},
{
"video_id": "Qm9vZ1nWt4A",
"title": "100 Kids Vs 1 Pro Soccer Player",
"view_count": 68204551,
"duration": 862,
"publish_date": "20260727",
"thumbnail": "https://i.ytimg.com/vi/Qm9vZ1nWt4A/hqdefault.jpg"
},
{
"video_id": "Lb2xK8dQ0Yr",
"title": "Last To Leave The Circle Wins $500,000",
"view_count": 91340228,
"duration": 1437,
"publish_date": "20260719",
"thumbnail": "https://i.ytimg.com/vi/Lb2xK8dQ0Yr/hqdefault.jpg"
},
{
"video_id": "3nVpJc7TzWs",
"title": "We Built A House In 24 Hours",
"view_count": 55127640,
"duration": 733,
"publish_date": "20260712",
"thumbnail": "https://i.ytimg.com/vi/3nVpJc7TzWs/hqdefault.jpg"
}
],
"total_count": 50
},
"meta": {
"cache_hit": false,
"execution_time_ms": 8412,
"quality_warning": null
}
}

Which fields does the YouTube Channel Videos response hold?

Field

Type

Description

data

object

The result of the call.

data.channel

string

The display name of the channel.

data.videos

array of objects

The videos of the channel, newest first. The array holds up to 50 entries.

data.videos[].video_id

string

The YouTube video ID. Add it to https://www.youtube.com/watch?v= to build the video URL.

data.videos[].title

string

The title of the video.

data.videos[].view_count

integer or null

The view count of the video. When the channel page carries no count, the value is null.

data.videos[].duration

integer or null

The length of the video in seconds. The value is null for a live stream and for a premiere.

data.videos[].publish_date

string

The upload date in YYYYMMDD form, for example 20260803. When the channel page carries no date, the value is an empty string.

data.videos[].thumbnail

string

The URL of the video thumbnail image.

data.total_count

integer

The number of videos in this response. The value is 50 or lower.

meta

object

The metadata of the call.

meta.cache_hit

boolean

The value is true for a result served from the cache.

meta.execution_time_ms

integer

The duration of the call, in milliseconds.

meta.quality_warning

string or null

A note about a call that returned no videos. The value is null for a normal call.

CAUTION:data.total_count counts the videos in this response, not the lifetime uploads of the channel. A channel with 900 uploads still returns total_count of 50.

How many videos does one YouTube Channel Videos call return?

One YouTube Channel Videos call returns up to 50 videos, sorted newest first. The count is fixed and no parameter changes it. A channel with fewer than 50 public videos returns every public video that it holds. A channel with more than 50 public videos returns the 50 newest ones. The data.total_count field reports the exact number in the response.

Does YouTube Channel Videos support pagination?

No. YouTube Channel Videos accepts no page parameter, no cursor, and no result limit. The request body accepts only url and cache. The response carries no next-page token. One call returns the 50 newest videos of the channel, and a second call to the same channel returns the same 50 videos.

CAUTION: Do not send max_videos, maxResults, page, or limit. The API rejects an unknown field with a 400 error and charges no credit.

How do you measure the upload cadence and the topics of a creator?

An outreach team, a media buyer, and a competitor analyst need the same two facts about a channel. The first fact is the publish frequency. The second fact is the subject of the videos. One YouTube Channel Videos call carries both signals, because publish_date gives the cadence and title gives the topics.

  1. Send a YouTube Channel Videos request with the channel URL as url.

  2. Read the publish_date value of each entry in data.videos.

  3. Sort the dates and subtract each date from the date before it.

  4. Take the median gap in days. That number is the upload cadence of the channel.

  5. Count the repeated words and phrases across the title values to find the topics.

  6. Compare view_count per topic to find the format that performs best.

Fifty entries cover several months of uploads for most channels. That window is long enough to separate a weekly schedule from a monthly one. The whole analysis costs 2 credits, or $0.04, per channel.

How much does YouTube Channel Videos cost?

YouTube Channel Videos costs 2 credits per call. At $0.02 a credit, the rate on the 1,000 and 5,000 credit packs, one call costs $0.04. Larger packs cost less per credit. The price is per call and never per video. A call that returns 50 videos and a call that returns 3 videos both cost 2 credits.

Calls

Credits

Cost

1

2

$0.04

100

200

$4.00

1,000

2,000

$40.00

10,000

20,000

$400.00

A full response of 50 videos works out at $0.0008 per video. RichAPI charges no credit for an error response. An error response carries one of these statuses: 400, 401, 402, 403, 404, 422, 429, 500, 502, 504. A cached result costs the same 2 credits as a live call.

Why does YouTube Channel Videos cost 2 credits and not 1?

YouTube Search, YouTube Video Details, and YouTube Channel Info each cost 1 credit per call. YouTube Channel Videos costs 2 credits per call. The second credit buys the size of the result set and the heavier extraction behind it.

Endpoint

Credits per call

Records per call

YouTube Channel Videos

2

Up to 50 videos

YouTube Search

1

Up to 20 videos

YouTube Video Details

1

1 video

YouTube Channel Info

1

1 channel

A single Video Details call reads one video page. A Channel Videos call walks the /videos tab of the channel and collects up to 50 records in one pass. The extra work takes longer, so the call costs one more credit.

The arithmetic still favors the list. To build the same 50-video list from Video Details, you send 50 calls and pay 50 credits, or $1.00. YouTube Channel Videos returns the list for 2 credits, or $0.04. Video Details remains the right endpoint for the fields that a channel page never shows, such as the description, the tags, and the like count.

Which channel URL formats does YouTube Channel Videos accept?

YouTube Channel Videos accepts four public channel URL formats. The www. prefix is optional, http:// works as well as https://, and the endpoint adds the /videos tab itself.

Format

Example

Handle

https://www.youtube.com/@MrBeast

Channel ID

https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA

Legacy custom name

https://www.youtube.com/c/MrBeast6000

Legacy user name

https://www.youtube.com/user/MrBeast6000

A video URL, a youtu.be short link, and a mobile m.youtube.com link are not channel URLs. The API rejects all three.

Which errors can YouTube Channel Videos return?

Status

Meaning

What to do

400

The request body failed validation.

Correct the parameter that the message names. Send only url and cache.

401

The API key is missing, wrong or revoked.

Send a valid key in the x-api-key header.

402

The organization has no credits left, or the team reached its monthly spend limit.

Buy credits in the RichAPI dashboard.

403

This API key has no access to this endpoint (Endpoint not available on your plan).

Call GET /api/v1/my-endpoints to see the endpoints that this key can use. Contact support for access.

404

The endpoint name is wrong.

Send the request to /youtube_channel_videos.

422

The url value is not a YouTube channel URL.

Send a channel URL in one of the four accepted formats.

429

The request rate is over the limit.

Wait, then send the request again. For a higher limit, contact support.

500

The API failed.

Send the request again. If the failure repeats, contact support.

502

YouTube did not answer.

Wait a few seconds, then send the request again.

504

The call timed out.

Send the request again.

Frequently asked questions

In what order does YouTube Channel Videos return the videos?

YouTube Channel Videos returns the videos newest first. The first entry in the data.videos array is the most recent public upload of the channel.

Does YouTube Channel Videos charge per video?

No. YouTube Channel Videos charges 2 credits per call, whatever the size of the response. A call that returns 50 videos costs the same 2 credits as a call that returns 3 videos.

Can you page past the 50 newest videos of a channel?

No. YouTube Channel Videos supports no pagination. The request body accepts only url and cache, and the response carries no next-page token. The 50 newest videos are the full reach of the endpoint.

Why is duration a number and not a text value?

The duration field holds the length of the video in whole seconds, for example 1024 for a video of 17 minutes and 4 seconds. Divide by 60 for minutes. The value is null for a live stream and for a premiere.

Does YouTube Channel Videos return the video description or the like count?

No. YouTube Channel Videos returns the video ID, the title, the view count, the duration, the upload date, and the thumbnail. The YouTube Video Details endpoint returns the description, the tags, the like count, and the chapters of one video.

How long does YouTube Channel Videos cache a result?

YouTube Channel Videos caches a channel result for 6 hours. To accept a cached result inside that window, set cache to true. The meta.cache_hit field reports the source. A cached call and a live call both cost 2 credits.

What does YouTube Channel Videos return for a channel with no public videos?

The data.videos array is empty and data.total_count is 0. The meta.quality_warning field then holds the text Channel returned no videos. That response is a 200 response, and it costs 2 credits.

Does YouTube Channel Videos need a YouTube API key or a login?

No. YouTube Channel Videos needs only your RichAPI key in the x-api-key header. The endpoint accepts no YouTube API key, no login, and no cookie.

Related articles

Did this answer your question?