Twitch Clip API: clip data, direct video URLs and transcripts as JSON

You can read a public Twitch clip by sending its URL to one REST endpoint and getting its id, slug, metadata and direct video URLs as JSON, which you can use to download or archive the clip. A second endpoint returns a transcript of the clip: native captions are checked first, and you can ask for an AI transcription when the clip has none. You do not need a Twitch app or OAuth token, and each successful call is billed on its own.

Buy credits

Use cases

Endpoints and cost

EndpointWhat it returnsCredits/callUSD/call (Freelance plan)
/v1/twitch/clipClip1$0.0017
/v1/twitch/clip_captionsClip Transcript1$0.0017

Endpoint details

/v1/twitch/clip

Clip 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesTwitch clip URL
cache_max_agestringnoIf we have a response in the cache that is this many days old or newer, return the cached response (0 credits, with "cached": true and a "cached_at" timestamp).

Sample response (trimmed):

[
 {
  "data": {
   "clip": {
    "id": "387484507",
    "slug": "CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
    "url": "https://clips.twitch.tv/CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
    "embed_url": "https://clips.twitch.tv/embed?clip=CloudySavageMarjoramRuleFive--ErzsYbE7UWvgCMQ",
    "title": "un grande el mesero",
    "view_count": 52441,
    "language": "ES",
    "is_featured": true,
    "assets": [
     {
      "id": "AT-cm|W4NkMPhK87GGxO1Fr4AjEA",
      "aspect_ratio": 1.7777777777777777,
      "type": "SOURCE",
      "created_at": "2024-03-30T21:52:12.134391826Z",
      "creation_state": "CREATED",
      "curator": "{...}",
      "thumbnail_url": "https://clips-media-assets2.twitch.tv/W4NkMPhK87GGxO1Fr4AjEA/AT-cm%7CW4NkMPhK87GGxO1Fr4AjEA-preview-480x272.jpg",
      "video_qualities": [
       "{...}"
      ],
      "portrait_details": null,
      "typename": "ClipAsset"
     }
    ],
    "curator": {
     "id": "192477639",
     "login": "satagul_sy",
     "display_name": "Satagul_SY",
     "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/a7d1cf0c-6482-475c-a7ba-9fedf75f0149-profile_image-70x70.png",
     "typename": "User"
    },
    "game": {
     "id": "509672",
     "name": "IRL",
     "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/509672-52x72.jpg",
     "display_name": "IRL",
     "slug": "irl",
     "typename": "Game"
 

/v1/twitch/clip_captions

Clip Transcript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.

ParameterTypeRequiredDescription
urlstringyesTwitch clip URL
allow_long_transcriptionbooleannoPaid opt-in, enabled only by the literal query value 'true' (allow_long_transcription=true). Defaults to false when omitted; other values do not enable paid mod
use_ai_as_fallbackbooleannoUse paid AI only when native captions are unavailable. Defaults to false. By default, successful AI transcription of videos up to 120 seconds (two minutes, incl

Example: curl

curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/twitch/clip"

Example: Python

import os, requests
r = requests.get("https://api.scrapall.bipsport.com/scapi/v1/twitch/clip",
    headers={"X-Scapi-Key": os.environ["SCAPI_KEY"]})
print(r.json())

FAQ

How do I get the video file of a Twitch clip?

Call the clip endpoint with the public clip URL and your API key in the header. The JSON response contains the clip id, slug, metadata and direct video URLs, so your own code can download or store the video.

Can I get a transcript of a Twitch clip?

Yes. The clip transcript endpoint takes the clip URL and checks the native captions of the clip first. Set use_ai_as_fallback to get a speech-to-text transcript when no captions exist, and allow_long_transcription for long clips.

Do I need a Twitch developer app?

No. Only public clips are read and you only need a Scrapall API key. There is no Twitch app registration, client secret or OAuth flow.

Can I reuse a recent result instead of fetching again?

The clip endpoint accepts cache_max_age, so you decide how old a cached result may be. This keeps repeated lookups of the same clip fast.

How is it billed?

Each successful call is billed from your credit balance. A transcript from native captions and one made by the AI fallback can cost differently; the exact cost per endpoint is shown in the cost table on this page.

How do I pay and get my API key?

Open the Buy page, pick the Freelance plan and pay in USDT on TRC20 or ERC20. The key is shown once, right after the payment is confirmed on-chain.

How many credits does one call use?

The cost table on this page lists credits per call for each endpoint. The Freelance plan is $45 for 27,000 credits per 30 days.

Get an API key and credits

Full reference: all twitch endpoints.