All questionsYouTube

Is there an API for YouTube Shorts?

Not a dedicated one from Google. The YouTube Data API returns Shorts, but as normal videos. It has no Shorts endpoint and no Shorts filter in search, and nothing on a video says it is a Short. A short length does not prove it either.

Openhandle reads Shorts directly. GET /v1/youtube/profiles/@{handle}/shorts lists a channel’s Shorts tab. GET /v1/youtube/search/posts?q={query}&type=short searches Shorts only. Every video in every answer has a type of video, short, or live.

Checked October 2026 · request and response run against the API · no affiliate links

GET /v1/youtube/profiles/@{handle}/shorts
curl "https://api.openhandle.dev/v1/youtube/profiles/@synthetic_youtube/shorts" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
TypeScript SDK
import { OpenHandle } from '@openhandle/sdk';

const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
const page = await openhandle.youtube.profile('synthetic_youtube').shorts.list();

for (const short of page.data) console.log(short.url, short.metrics.views);
200 OK
{
  "platform": "youtube",
  "resource": "post",
  "capturedAt": "2026-10-26T18:33:16Z",
  "source": "live",
  "data": [
    {
      "id": "synthvid001",
      "type": "short",
      "title": "Synthetic video 1",
      "url": "https://www.youtube.com/shorts/synthvid001",
      "approximateCreatedAt": "2026-10-25",
      "duration": 30,
      "thumbnail": { "url": "https://media.openhandle.dev/…", "width": 1080, "height": 1920 },
      "metrics": { "views": 1200000, "isApproximate": true }
    }
  ],
  "meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}

Trimmed to one Short and the fields this question needs. The channel is in the Test dataset, so you can run it on a free Test key.

What the YouTube Data API gives you

  • —No Shorts field. The video resource has no field that says a video is a Short.
  • —No Shorts search. search.list has a duration filter. "short" means under four minutes, which is not the same as a Short.
  • —Mixed uploads. A channel’s uploads playlist holds videos and Shorts together.

What Openhandle gives you

JobOpenhandle call
A channel’s ShortsGET /v1/youtube/profiles/@handle/shorts
Shorts by keywordGET /v1/youtube/search/posts?q=term&type=short
One Short with exact countsGET /v1/youtube/posts/{videoId}
Comments on a ShortGET /v1/youtube/posts/{videoId}/comments
Other Shorts with the same soundGET /v1/youtube/posts/{videoId}/sound-posts

Start from a Shorts link? POST /v1/urls/fetch accepts youtube.com/shorts/ URLs and returns the Short with its id. Shorts lists show rounded view counts with isApproximate: true. Read the Short for the exact count.

When this does not work

These answers are definitive. Store them, do not retry them.

SituationStatusCode
The channel does not exist404PROFILE_NOT_FOUND
The Short does not exist404POST_NOT_FOUND
The cursor came from another channel400CURSOR_MISMATCH
404 Not Found
{
  "error": {
    "code": "PROFILE_NOT_FOUND",
    "message": "This profile was not found.",
    "requestId": "req_01m5…",
    "retryable": false
  }
}

Every new workspace starts with 100 free live requests, no card needed.

Read next

More YouTube questions

Send your agent ahead.

Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.

For agents

100 free requests. No card needed.