> **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/twitch/clips>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/twitch/clips.mdx>

---

# Twitch Clip API

Pass a public Twitch clip URL and get structured clip metadata, broadcaster and curator refs, game tags, and playable quality URLs in the shared Social Fetch envelope.

`GET /v1/twitch/clips` takes a required `url` query param (a public clip link). On a completed 200 response, branch on `data.lookupStatus` first: `found` or `not_found`. When found, `data.clip` can include id, slug, url, embedUrl, title, viewCount, language, durationSeconds, thumbnailUrl, createdAt, isFeatured, videoUrl, game metadata, `broadcaster` and `curator` user refs, and `videoQualities` (quality, frameRate, sourceUrl). `data.relatedClips` is a side list of other clips from the same broadcaster when Twitch exposes them.

This route is one clip by URL. Channel VOD lists are `GET /v1/twitch/profiles/{handle}/videos`. Profile cards are `GET /v1/twitch/profiles/{handle}`. Bill from `meta.creditsCharged`.

## Request

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

## FAQ

### How do I get Twitch clip metadata via API?

Call `GET /v1/twitch/clips` with your Social Fetch API key (`x-api-key`) and a public clip `url` query param. Read `data.lookupStatus`, then `data.clip` when the status is `found`.

### How much does the Twitch Clip API 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 Twitch Clip API return?

On `found`: `data.clip` with id, slug, url, embedUrl, title, viewCount, language, durationSeconds, thumbnailUrl, createdAt, isFeatured, videoUrl, optional game metadata, broadcaster and curator refs, and `videoQualities` when available, plus `data.relatedClips`. On `not_found`: `clip` is null and `relatedClips` is empty. Always branch on `lookupStatus` first.

### What URL formats does the Twitch Clip API accept?

Public Twitch clip links, including `clips.twitch.tv/…` and channel clip paths such as `twitch.tv/{handle}/clip/…`. Pass one `url` per request.

### What does lookupStatus mean on Twitch clips?

`found` means the clip resolved; `not_found` means it did not. HTTP 200 alone does not mean you got clip fields — check `data.lookupStatus` before writing rows. Keep `meta.requestId` when a miss looks wrong.

### Do I need a Twitch client ID or OAuth to look up a clip?

No. You authenticate to Social Fetch with an API key. The route reads public clip data; it does not act on behalf of a logged-in Twitch user.

### How is this different from listing a channel's videos or profile?

This route resolves one clip by URL (metadata, playable URLs, broadcaster/curator). Channel VOD and highlight lists are `GET /v1/twitch/profiles/{handle}/videos`. The channel card is `GET /v1/twitch/profiles/{handle}`. Use clips when your input is a share link, not a login.
