fetchproof.

/v1/twitch/clip

GET

Clip

Get Twitch clip

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
url

Twitch clip URL

query / required

string

cache_max_age

Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.

query / optional

string

Allowed values ["1d","3d","7d","14d","30d"]

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/twitch/clip?url=YOUR_URL' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/twitch/clip?url=YOUR_URL", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/twitch/clip?url=YOUR_URL",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

array

Array items

object

datarequired

object

clipoptional

object

idrequired

string

slugrequired

string

urlrequired

string

embedURLrequired

string

titlerequired

string

viewCountrequired

integer

languagerequired

string

isFeaturedrequired

boolean

assetsrequired

array

Array items

object

idrequired

string

aspectRatiorequired

number

typerequired

string

createdAtrequired

string

{
  "format": "date-time"
}
creationStaterequired

string

curatorrequired

object

idrequired

string

loginrequired

string

displayNamerequired

string

profileImageURLrequired

string

__typenamerequired

string

thumbnailURLrequired

string

videoQualitiesrequired

array

Array items

object

frameRaterequired

number

qualityrequired

string

sourceURLrequired

string

__typenamerequired

string

portraitMetadatarequired

null

__typenamerequired

string

curatorrequired

object

idrequired

string

loginrequired

string

displayNamerequired

string

profileImageURLrequired

string

__typenamerequired

string

gamerequired

object

idrequired

string

namerequired

string

boxArtURLrequired

string

displayNamerequired

string

slugrequired

string

__typenamerequired

string

broadcastrequired

object

idrequired

string

titlerequired

null

__typenamerequired

string

broadcasterrequired

object

idrequired

string

loginrequired

string

displayNamerequired

string

primaryColorHexrequired

string

isPartnerrequired

boolean

profileImageURLrequired

string

followersrequired

object

totalCountrequired

integer

__typenamerequired

string

streamrequired

null

lastBroadcastrequired

object

idrequired

string

startedAtrequired

string

{
  "format": "date-time"
}
__typenamerequired

string

selfrequired

null

__typenamerequired

string

thumbnailURLrequired

string

createdAtrequired

string

{
  "format": "date-time"
}
isPublishedrequired

boolean

durationSecondsrequired

integer

champBadgerequired

null

playbackAccessTokenrequired

object

signaturerequired

string

valuerequired

string

__typenamerequired

string

videorequired

null

videoOffsetSecondsrequired

null

videoQualitiesrequired

array

Array items

object

sourceURLrequired

string

__typenamerequired

string

isViewerEditRestrictedrequired

boolean

suggestedCroppingrequired

null

__typenamerequired

string

videoURLrequired

string

useroptional

object

idrequired

string

clipsrequired

object

pageInforequired

object

hasNextPagerequired

boolean

__typenamerequired

string

edgesrequired

array

Array items

object

cursorrequired

null

noderequired

object

idrequired

string

slugrequired

string

urlrequired

string

embedURLrequired

string

titlerequired

string

viewCountrequired

integer

languagerequired

string

curatorrequired

object

idrequired

string

loginrequired

string

displayNamerequired

string

__typenamerequired

string

gamerequired

object

idrequired

string

slugrequired

string

namerequired

string

boxArtURLrequired

string

__typenamerequired

string

broadcasterrequired

object

idrequired

string

loginrequired

string

displayNamerequired

string

profileImageURLrequired

string

primaryColorHexrequired

string

rolesrequired

object

isPartnerrequired

boolean

__typenamerequired

string

__typenamerequired

string

thumbnailURLrequired

string

createdAtrequired

string

{
  "format": "date-time"
}
durationSecondsrequired

integer

champBadgerequired

null

isFeaturedrequired

boolean

guestStarParticipantsrequired

object

guestsrequired

array

sessionIdentifierrequired

string

__typenamerequired

string

__typenamerequired

string

__typenamerequired

string

__typenamerequired

string

__typenamerequired

string

extensionsrequired

object

durationMillisecondsrequired

integer

operationNamerequired

string

requestIDrequired

string

401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited