YouTube Channel videos API
List a channel’s uploads by handle or channelId with cursor pagination: title, views, length and publish time.
$0.80/1k req, pay per request, no subscription.
{"id": "5EWaxmWgQMI","url": "https://www.youtube.com/watch?v=5EWaxmWgQMI","title": "The cheapest flagship phone, reviewed","views": 4120000,"lengthText": "12:48","publishedTime": "2 weeks ago","createdUtc": number,"image": string}
Pricing and providers
YouTube Channel videos API pricing: one API, 3 interchangeable providers
The cheapest provider serves first. If it fails, the next one takes over in the same call.
Try it
Get YouTube channel videos in one request
This sample shows 10 of 13 fields. See every field
{
"found": true,
"data": {
"nextCursor": "4qmFsgLlFhIYV",
"videos": [
{
"id": "5EWaxmWgQMI",
"url": "https://www.youtube.com/watch?v=5EWaxmWgQMI",
"title": "The cheapest flagship phone, reviewed",
"views": 4120000,
"lengthText": "12:48",
"publishedTime": "2 weeks ago"
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-11-06 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- channelIdstring
YouTube channel ID.
- cursorstring
Continuation token from a previous response for pagination.
- handlestring
@mkbhd
YouTube channel handle.
- requireFieldsarray
Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `views`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a video that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted. A source that returns only a rounded or shortened value for a field does not count as returning it.
- sortenum
Sort order.
Response
JSON, one example value per field.
- nextCursorstring
4qmFsgLlFhIYV
Opaque cursor for the next page of videos, or null when this lane has no more. Pass it back as cursor to continue.
Populated whenever the provider has data for the entity.
- createdUtcnumber
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- idstring
5EWaxmWgQMI
Populated whenever the provider has data for the entity.
- imagestring
URL of the video thumbnail image, tracking query parameters stripped.
- lengthTextstringcan require
12:48
Video length as YouTube shows it, such as 11:56, or null when the serving source does not report it.
- publishedTimestring
2 weeks ago
Populated whenever the provider has data for the entity.
- titlestring
The cheapest flagship phone, reviewed
Populated whenever the provider has data for the entity.
- urlstring
https://www.youtube.com/watch?v=5EWaxmWgQMI
Populated whenever the provider has data for the entity.
- viewsintegercan require
4120000
Number of views. Some sources round large counts (6.4M instead of 6,474,059); name `views` in requireFields to be served only by a source that returns the exact count.
- foundboolean
true
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the YouTube Channel videos API
The AnyAPI YouTube Channel videos API returns YouTube channel videos data as normalized JSON from one POST call to /v1/run/youtube.channel_videos. List a channel’s uploads by handle or channelId with cursor pagination: title, views, length and publish time. AnyAPI routes each request across 3 sources and falls back automatically when one fails. It costs from $0.80 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.9% of YouTube channel videos calls through AnyAPI succeeded, with a median response time of 1.5 seconds across 18,764 measured calls.