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/clips1 credit Failed requests are free
About this endpoint
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.
Twitch Clip API 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.