YouTube hub

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

1 credit per successful request.

About this endpoint

Sponsorship scanners, clip libraries, and competitor dashboards usually start from a watch link someone pasted into a spreadsheet. They need title, duration, view count, and who uploaded it — not a full HTML scrape of the watch page every time YouTube reshuffles the client.

`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 the source 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.

Pricing is on the credit badge for this operation; 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`. Same API key across the YouTube tag.

YouTube Video API 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. Full parameters and examples are in the API docs.

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.