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.
| Endpoint | What it returns | Credits/call | USD/call (Freelance plan) |
|---|---|---|---|
/v1/twitch/clip | Clip | 1 | $0.0017 |
/v1/twitch/clip_captions | Clip Transcript | 1 | $0.0017 |
/v1/twitch/clipClip 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | Twitch clip URL |
cache_max_age | string | no | If 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_captionsClip Transcript 1,000 calls = 1,000 credits = $1.67 on the Freelance plan.
| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | yes | Twitch clip URL |
allow_long_transcription | boolean | no | Paid 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_fallback | boolean | no | Use 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 |
curl -H "X-Scapi-Key: $SCAPI_KEY" "https://api.scrapall.bipsport.com/scapi/v1/twitch/clip"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())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.
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.
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.
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.
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.
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.
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.
Full reference: all twitch endpoints.