YouTube API

YouTube Channel shorts API

List a YouTube channel's Shorts by handle or channel ID with cursor pagination, views, and publish timestamps.

$1.20/1k req, pay per request, no subscription.

What the API returnedshorts[0]
{
"id": "wF3xR9pL2qT",
"url": "https://www.youtube.com/shorts/wF3xR9pL2qT",
"title": "The vanishing suitcase trick",
"views": 24800000,
"viewsAvailable": true,
"likes": 1920000,
"duration": "0:14",
"createdUtc": 1758758400,
... 2 more fields
}
Uptime
99.64%
30d · 6,450 calls
Requests
6,454
30d · weekly, last 12 wks
Response
6.7s
median · 30d

Pricing and providers

YouTube Channel shorts API pricing: one API, 2 interchangeable providers

The cheapest provider serves first. If it fails, the next one takes over in the same call.

You pay
$12.00
$1.20/1k req, only for what you use. No monthly plan.
Your first 83 requests are free with the $0.10 starting balance.

Try it

Get YouTube channel shorts in one request

Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.

This sample shows 14 of 15 fields. See every field

{
  "found": true,
  "data": {
    "nextCursor": "Eg0SC1phY2hraW5nMUKAAQE",
    "shorts": [
      {
        "id": "wF3xR9pL2qT",
        "url": "https://www.youtube.com/shorts/wF3xR9pL2qT",
        "title": "The vanishing suitcase trick",
        "views": 24800000,
        "viewsAvailable": true,
        "likes": 1920000,
        "duration": "0:14",
        "createdUtc": 1758758400,
        "contentType": "short",
        "image": "https://i.ytimg.com/vi/wF3xR9pL2qT/hqdefault.jpg"
      },
      {
        "id": "xG4yS0qM3rU",
        "url": "https://www.youtube.com/shorts/xG4yS0qM3rU",
        "title": "Teleporting through a mirror",
        "views": 18300000,
        "viewsAvailable": true,
        "likes": 1410000,
        "duration": "0:19",
        "createdUtc": 1758585600,
        "contentType": "short",
        "image": "https://i.ytimg.com/vi/xG4yS0qM3rU/hqdefault.jpg"
      },
      {
        "id": "yH5zT1rN4sV",
        "url": "https://www.youtube.com/shorts/yH5zT1rN4sV",
        "title": "Turning a skateboard into a magic carpet",
        "views": 9600000,
        "viewsAvailable": true,
        "likes": 742000,
        "duration": "0:22",
        "createdUtc": 1758412800,
        "contentType": "short",
        "image": "https://i.ytimg.com/vi/yH5zT1rN4sV/hqdefault.jpg"
      }
    ]
  }
}

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-10-31 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • channelIdstring

    YouTube channel ID beginning with UC.

  • cursorstring

    Continuation token from a previous response.

  • handlestring

    @warpstitchmagic

    YouTube channel handle, including or omitting the leading @.

  • sortenum

    latest

    Sort order for the Shorts feed. latest and newest are equivalent.

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

datadata

The normalized Shorts page, or null when the channel was not found.

  • nextCursorstring

    Eg0SC1phY2hraW5nMUKAAQE

    Opaque cursor for the next Shorts page, or null when no next page is available.

each shortdata.shorts[]

Short-form videos returned by the provider's dedicated YouTube Shorts endpoint. Populated whenever the provider has data for the entity.

  • contentType"short"

    short

    Explicit normalized provenance that this item came from a dedicated Shorts feed.

  • createdUtcnumber

    1758758400

    UTC epoch timestamp in seconds when supplied by the upstream response.

  • durationstring

    0:14

    Published duration when supplied by the upstream response.

  • idstring

    wF3xR9pL2qT

    Unique YouTube video identifier. Populated whenever the provider has data for the entity.

  • imagestring

    https://i.ytimg.com/vi/wF3xR9pL2qT/hqdefault.jpg

    URL of the short thumbnail image, tracking query parameters stripped.

  • likesinteger

    1920000

    Public like count, or null when the serving source does not report it.

  • titlestring

    The vanishing suitcase trick

    Public title or caption for the Short. Populated whenever the provider has data for the entity.

  • urlstring

    https://www.youtube.com/shorts/wF3xR9pL2qT

    Public YouTube URL for the Short. Populated whenever the provider has data for the entity.

  • viewsinteger

    24800000

    Public view count when supplied by the upstream response.

  • viewsAvailableboolean

    true

    Whether views is backed by a public count in the upstream response.

top level
  • foundboolean

    true

    Whether the channel Shorts feed was found.

  • 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.

You get back. Named, typed fields in the same shape whichever source answers.

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.6% of YouTube channel shorts calls through AnyAPI succeeded, with a median response time of 6.7 seconds across 6,450 measured calls.

It costs from $1.20 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

List a YouTube channel's Shorts by handle or channel ID with cursor pagination, views, and publish timestamps. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 99.6% of YouTube channel shorts calls through AnyAPI succeeded, with a median response time of 6.7 seconds across 6,450 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 83 YouTube Channel shorts calls at $0.0012 each.

AnyAPI asks the next of its 2 sources in the same request, cheapest first, so one source going down does not fail your call.

Send a POST request to https://api.getanyapi.com/v1/run/youtube.channel_shorts with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.