> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/youtube/videos>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/youtube/videos.mdx>

---

# YouTube Video API

Pass a public watch URL (or Shorts link) and get video metadata, uploader channel, and engagement metrics in the shared Social Fetch envelope.

`GET /v1/youtube/videos` takes a required `url` query param. Watch links, `youtu.be` shorts, and Shorts URLs are valid. Optional `language` prefers localized text when YouTube exposes it. On a found lookup you get `data.video` (id, title, description, thumbnail, duration, keywords, paid-promotion flag), `data.channel` (handle, displayName, profileUrl), `data.metrics` (views, likes, comments), plus `chapters`, `captions` track list, and `relatedVideos` when present. Branch on `data.lookupStatus` before you write rows — HTTP 200 alone does not mean the video resolved.

Bill from `meta.creditsCharged`. This route is single-video detail. Spoken text is `GET /v1/youtube/videos/transcript`. Comment threads are the comments routes. Channel upload lists are `GET /v1/youtube/channels/videos`.

## Request

- **Endpoint:** `GET /v1/youtube/videos`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by video URL
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/youtube/videos/get)
- **Platform page:** [/platforms/youtube](https://www.socialfetch.dev/platforms/youtube)

## FAQ

### How do I get YouTube video metadata via API?

Call GET /v1/youtube/videos with your Social Fetch API key (x-api-key) and a public video url query param. Read data.lookupStatus, then data.video, data.channel, and data.metrics. See the API docs for parameters and examples.

### How much does the YouTube video endpoint cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged — that field is the billing source of truth.

### What does the YouTube video response include?

When found: data.video (id, url, title, description, thumbnailUrl, duration, keywords, isPaidPromotion), data.channel, data.metrics (views, likes, comments), chapters, captions track metadata, and relatedVideos when available. Always branch on data.lookupStatus first.

### What URL formats does the YouTube Video API accept?

Public YouTube video URLs: standard watch links, youtu.be short links, and Shorts URLs. Pass one url per request.

### Does a completed lookup always mean the video was found?

No. HTTP 200 means the request finished. Check data.lookupStatus: found means you got video details; not_found means the URL did not resolve. Persist meta.requestId when you need to debug a miss.

### How is this different from the YouTube transcript endpoint?

This route returns video metadata, channel, and engagement metrics. GET /v1/youtube/videos/transcript returns plainText and timed caption segments. Call video detail when you need views and title; call transcript when you need spoken text.

### Can I list every upload from a channel on this route?

No. This endpoint fetches one video by URL. For a channel's upload list use GET /v1/youtube/channels/videos with handle or channelId.
