FrameFetch
For agents → Try it free
YouTube

Shorts API

Pull data from YouTube Shorts with one URL: metadata, engagement insights, transcript (captions or Whisper), frames at any sampling rate, and the on-screen text burned into them. Same clean JSON schema as long-form YouTube.

Read the docs Pricing

What you get

For Shorts, FrameFetch returns metadata, insights, transcript, parametric frames, and on-screen text (OCR) per frame. One JSON response, billed per call — every response includes a cost block.

Quickstart
curl -X POST https://framefetch.net/v1/extract \
  -H "Authorization: Bearer <your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://www.youtube.com/shorts/VIDEO_ID",
    "fields": ["metadata", "transcript"]
  }'

Get a key with POST /v1/keys (free credit). Full reference in the docs. Agents can pay per call with x402 (USDC) — no account.

Use it from an AI agent (MCP)

FrameFetch ships an MCP server at POST https://framefetch.net/mcp with the tools framefetch_extract and framefetch_platform_capabilities — point your agent at a YouTube URL directly. See the MCP setup guide for a working Claude Desktop / Cursor config.

FAQ
Is a Shorts URL different from a normal YouTube URL?

The path differs (/shorts/ID) but FrameFetch handles both — just pass the URL.

Can I sample one frame per second of a Short?

Yes — set frames.mode = "fps" with frames.fps = 1.

Can I read the on-screen captions of a Short?

Yes — add text_overlay alongside frames to run OCR and get back the on-screen text, per frame, with confidence and position.