YouTube Channel shorts API
List a YouTube channel's Shorts by handle or channel ID with cursor pagination, views, and publish timestamps.
Provider network
Providers ranked by traffic
Try it
Make your first request
{
"data": {
"nextCursor": "example",
"shorts": [
{
"contentType": "short",
"createdUtc": 12.5,
"duration": "example",
"id": "a1b2c3d4",
"likes": 12500,
"title": "Example title",
"url": "https://example.com/page",
"views": 12500,
"viewsAvailable": true
}
]
},
"found": true
}interface YoutubeChannelShortsResponse {
data: {
nextCursor: string | null;
shorts: {
contentType: "short";
createdUtc?: number;
duration: string;
id: string;
likes: number;
title?: string;
url: string;
views: number;
viewsAvailable: boolean;
}[];
} | null;
found: boolean;
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
Request, response, and price
Last verified 2026-09-16 · uptime and latency measured over 30dcurl -X POST https://api.getanyapi.com/v1/run/youtube.channel_shorts \
-H "Authorization: Bearer $ANYAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"handle":"@zachking","sort":"latest"}'| Field | Type | Example value |
|---|---|---|
| Request body | ||
| channelId | string | YouTube channel ID beginning with UC. |
| cursor | string | Continuation token from a previous response. |
| handle | string | "@zachking"YouTube channel handle, including or omitting the leading @. |
| sort | enum | "latest"Sort order for the Shorts feed. latest and newest are equivalent. |
| Response | ||
| data | object | The normalized Shorts page, or null when the channel was not found. |
| data.nextCursor | string | Opaque cursor for the next Shorts page, or null when no next page is available. |
| data.shorts | object[] | Short-form videos returned by the provider's dedicated YouTube Shorts endpoint. Populated whenever the provider has data for the entity. |
| data.shorts[].contentType | "short" | Explicit normalized provenance that this item came from a dedicated Shorts feed. |
| data.shorts[].createdUtc | number | UTC epoch timestamp in seconds when supplied by the upstream response. |
| data.shorts[].duration | string | Published duration when supplied by the upstream response. |
| data.shorts[].id | string | Unique YouTube video identifier. Populated whenever the provider has data for the entity. |
| data.shorts[].likes | integer | Public like count when supplied by the upstream response. |
| data.shorts[].title | string | Public title or caption for the Short. Populated whenever the provider has data for the entity. |
| data.shorts[].url | string | Public YouTube URL for the Short. Populated whenever the provider has data for the entity. |
| data.shorts[].views | integer | Public view count when supplied by the upstream response. |
| data.shorts[].viewsAvailable | boolean | Whether views is backed by a public count in the upstream response. |
| found | boolean | Whether the channel Shorts feed was found. |
| Price | ||
| Price per request | USD | $0.0012 |
| Price /1k req | USD | $1.20 |
FAQ
About the YouTube Channel shorts API
The AnyAPI YouTube Channel shorts API returns YouTube channel shorts data as normalized JSON from one POST call to /v1/run/youtube.channel_shorts. List a YouTube channel's Shorts by handle or channel ID with cursor pagination, views, and publish timestamps. AnyAPI routes each request across 2 sources and falls back automatically when one fails. It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.3% of YouTube channel shorts calls through AnyAPI succeeded, with a median response time of 5.8 seconds across 592 measured calls.