{"openapi":"3.1.0","info":{"title":"API.SH: Twitch","version":"1.0.0","description":"The Twitch API from API.SH: public Twitch data as clean JSON. Every endpoint is a GET with query parameters and your key in the x-api-key header. Calls that run cost the credits shown (x-credits): successes, and lookups that found nothing (404). Refused calls and errors on our side are free. Docs: https://api.sh/docs · Every platform: https://api.sh/openapi.json","contact":{"name":"API.SH support","email":"support@api.sh","url":"https://api.sh/contact"},"termsOfService":"https://api.sh/legal/terms"},"servers":[{"url":"https://api.api.sh"}],"security":[{"apiKey":[]}],"tags":[{"name":"Account","description":"Your balance, usage, logs and past responses. Free."},{"name":"Twitch","description":"16 endpoints (social)","x-slug":"twitch","x-domains":["twitch.tv"]}],"paths":{"/v1/account":{"get":{"operationId":"getAccount","tags":["Account"],"summary":"Balance, plan, spend and spend limits","description":"Credits by bucket (free monthly, plan, pay-as-you-go), the plan, credits spent today and this month (UTC), your spend limits and the key used. Free: costs no credits.","responses":{"200":{"description":"Account","content":{"application/json":{"example":{"success":true,"account":{"id":"8f0c…","status":"active","unlimited":false},"credits":{"total":41250,"free":100,"plan":0,"payg":41150,"free_resets_at":"2026-11-01T00:00:00Z"},"plan":null,"spend":{"today":120,"this_month":3400,"daily_limit":5000,"monthly_limit":null,"period":"UTC"},"key":{"id":"…","name":"production","prefix":"ash_li","created_at":"2026-10-01T00:00:00Z"}}}}},"401":{"description":"Missing, invalid, revoked or expired API key. Not charged. See https://api.sh/docs/errors#401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/account/usage":{"get":{"operationId":"getAccountUsage","tags":["Account"],"summary":"Usage per day and per endpoint","description":"Calls, errors and credits per UTC day, and the top endpoints by credits. Free. Add output=csv for the daily rows as CSV.","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":90,"default":30}},{"$ref":"#/components/parameters/output"}],"responses":{"200":{"description":"Usage","content":{"application/json":{"schema":{"type":"object"}},"text/csv":{"schema":{"type":"string"}}}},"401":{"description":"Missing, invalid, revoked or expired API key. Not charged. See https://api.sh/docs/errors#401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/account/logs":{"get":{"operationId":"listAccountLogs","tags":["Account"],"summary":"Your calls of the last 30 days","description":"Newest first. Filter by status, route prefix, key or time; page with `before` (the `next` value). Add output=csv|ndjson to download (up to 5,000 rows per request; the next cursor is in the x-next-cursor header). Free.","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":50}},{"name":"status","in":"query","required":false,"description":"ok, error, or an HTTP status like 502.","schema":{"type":"string"}},{"name":"route","in":"query","required":false,"description":"Route prefix, e.g. /tiktok/v1","schema":{"type":"string"}},{"name":"key","in":"query","required":false,"description":"Only calls made with this key id.","schema":{"type":"string","format":"uuid"}},{"name":"since","in":"query","required":false,"description":"ISO time.","schema":{"type":"string","format":"date-time"}},{"name":"before","in":"query","required":false,"description":"Cursor from `next`.","schema":{"type":"string"}},{"$ref":"#/components/parameters/output"}],"responses":{"200":{"description":"Calls","content":{"application/json":{"schema":{"type":"object"}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"401":{"description":"Missing, invalid, revoked or expired API key. Not charged. See https://api.sh/docs/errors#401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/results/{request_id}":{"get":{"operationId":"getResult","tags":["Account"],"summary":"Fetch a past response again, free","description":"The exact response a call returned, for 30 days after the call, at no cost. Use the call's x-request-id. Supports output=csv|ndjson.","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The stored response (headers: x-refetch: 1, x-original-time, x-original-route).","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Not found, or not public. A lookup that ran costs the endpoint's price (credits_used says); an unknown route is free.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"410":{"description":"Older than 30 days.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/twitch/v1/categories/top":{"get":{"operationId":"twitchCategoriesTop","summary":"Twitch top categories","description":"Categories by live viewers. Twitch serves logged-out visitors the first page only (its later pages are not public), so `limit` (up to 100) sets the size; `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-categories-top","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"limit","in":"query","required":false,"description":"1-100 (default 30).","schema":{"type":"integer"},"example":"30"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"count":30,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"categories":[{"rank":1,"id":"509658","name":"Just Chatting","slug":"just-chatting","box_art":"https://static-cdn.jtvnw.net/ttv-boxart/509658-{width}x{height}.jpg","viewers":410946,"followers":53306519,"channels_live":3692,"tags":["IRL"]},{"rank":2,"id":"27471","name":"Minecraft","slug":"minecraft","box_art":"https://static-cdn.jtvnw.net/ttv-boxart/27471_IGDB-{width}x{height}.jpg","viewers":89915,"followers":3912486,"channels_live":1794,"tags":["Simulation","Adventure Game","… 3 more"]},"… 28 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/category":{"get":{"operationId":"twitchCategory","summary":"Twitch category","description":"A category (game): viewers, followers, live channels, tags, and its live streams. Twitch serves logged-out visitors the first page only (its later pages are not public), so `limit` (up to 100) sets the size; `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-category","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"slug","in":"query","required":true,"description":"Category slug (minecraft, just-chatting) or directory URL.","schema":{"type":"string"},"example":"minecraft"},{"name":"sort","in":"query","required":false,"description":"viewers (default), viewers_asc, recent or relevance.","schema":{"type":"string","enum":["viewers","viewers_asc","recent","relevance"]}},{"name":"language","in":"query","required":false,"description":"Stream language(s), comma separated (en, es, de...).","schema":{"type":"string"},"example":"en"},{"name":"limit","in":"query","required":false,"description":"1-100 (default 30).","schema":{"type":"integer"},"example":"30"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"27471","slug":"minecraft","name":"Minecraft","description":"Minecraft focuses on allowing the player to explore, interact with, and modify a dynamically-generated map made of one-cubic-meter-sized blo…","box_art":"https://static-cdn.jtvnw.net/ttv-boxart/27471_IGDB-{width}x{height}.jpg","viewers":89324,"followers":3912490,"channels_live":1746,"release_date":"2016-12-19T00:00:00Z","tags":["Simulation","Adventure Game","… 3 more"],"url":"https://www.twitch.tv/directory/category/minecraft","sort":"viewers","count":29,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"streams":[{"id":"319790304471","title":"🟨SPOOKY TIME🟨","viewers":59699,"started_at":"2026-11-04T03:02:30Z","type":"live","language":"EN","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_caseoh_-1280x720.jpg","game":"Minecraft","game_id":"27471","tags":["English"],"channel":{"id":"267160288","login":"caseoh_","name":"caseoh_","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/ef28ba12-c8ed-46d4-838b-a4c95ef5b469-profile_image-300x300.png","followers":9199896,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/caseoh_"},"url":"https://www.twitch.tv/caseoh_"},{"id":"318525969368","title":"🚨 FITNACRAFT 🚨 TAG 3 🚨 2 MONATE 24/7 LIVE 🚨 TAG 25 🚨 NOTY GmbH WG mit @DIMEAX & @NORMAN 🚨 !pmm | Werbung","viewers":4875,"started_at":"2026-11-03T11:59:35Z","type":"live","language":"DE","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_nooreax-1280x720.jpg","game":"Minecraft","game_id":"27471","tags":["Deutsch","Arbeitslos","… 1 more"],"channel":{"id":"172312401","login":"nooreax","name":"nooreax","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/cf4d614e-35d9-43ec-8dc4-63de61989132-profile_image-300x300.png","followers":730794,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/nooreax"},"url":"https://www.twitch.tv/nooreax"},"… 27 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/category/clips":{"get":{"operationId":"twitchCategoryClips","summary":"Twitch category clips","description":"Most viewed clips in a category for a period. Twitch serves logged-out visitors the first page only (its later pages are not public), so `limit` (up to 100) sets the size; `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-category-clips","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"slug","in":"query","required":true,"description":"Category slug.","schema":{"type":"string"},"example":"minecraft"},{"name":"period","in":"query","required":false,"description":"last_day, last_week (default), last_month or all_time.","schema":{"type":"string","enum":["last_day","last_week","last_month","all_time"]}},{"name":"language","in":"query","required":false,"description":"Clip language(s), comma separated.","schema":{"type":"string"},"example":"en"},{"name":"limit","in":"query","required":false,"description":"1-100 (default 30).","schema":{"type":"integer"},"example":"30"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"slug":"minecraft","name":"Minecraft","period":"last_week","count":30,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"clips":[{"id":"1937297970","slug":"ShortHungryButterHassanChop-jCOAouc06cCdmdlP","url":"https://www.twitch.tv/letshugotv/clip/ShortHungryButterHassanChop-jCOAouc06cCdmdlP","title":"ist der dumm","views":22091,"duration_s":6,"created_at":"2026-10-29T16:36:35Z","language":"DE","featured":false,"thumbnail":"https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/65113d84-e41a-4aa0-80df-08dd25924c47/landscape/thumb…","embed_url":"https://clips.twitch.tv/embed?clip=ShortHungryButterHassanChop-jCOAouc06cCdmdlP","channel":"letshugotv","clipped_by":"ltsmexi","vod":{"id":"2913977660","url":"https://www.twitch.tv/videos/2913977660?t=4962s","offset_s":4962}},{"id":"236316219","slug":"FreezingObedientMooseKippa-Jl1_zqoDg5tw50tt","url":"https://www.twitch.tv/mastu/clip/FreezingObedientMooseKippa-Jl1_zqoDg5tw50tt","title":"recap mort d’hctuan","views":11274,"duration_s":60,"created_at":"2026-10-29T20:38:14Z","language":"FR","featured":false,"thumbnail":"https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/b0ea811d-75fa-4039-834c-a04b4160ea21/landscape/thumb…","embed_url":"https://clips.twitch.tv/embed?clip=FreezingObedientMooseKippa-Jl1_zqoDg5tw50tt","channel":"mastu","clipped_by":"lafineflamefleur","vod":{"id":"2913267911","url":"https://www.twitch.tv/videos/2913267911?t=92217s","offset_s":92217}},"… 28 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/category/videos":{"get":{"operationId":"twitchCategoryVideos","summary":"Twitch category videos","description":"Videos in a category. Twitch serves logged-out visitors the first page only (its later pages are not public), so `limit` (up to 100) sets the size; `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-category-videos","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"slug","in":"query","required":true,"description":"Category slug.","schema":{"type":"string"},"example":"minecraft"},{"name":"type","in":"query","required":false,"description":"all (default), archive, highlight, upload or past_premiere.","schema":{"type":"string","enum":["all","archive","highlight","upload","past_premiere"]}},{"name":"sort","in":"query","required":false,"description":"views (default) or time.","schema":{"type":"string","enum":["views","time"]}},{"name":"language","in":"query","required":false,"description":"Video language(s), comma separated.","schema":{"type":"string"},"example":"en"},{"name":"limit","in":"query","required":false,"description":"1-100 (default 30).","schema":{"type":"integer"},"example":"30"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"slug":"minecraft","name":"Minecraft","type":"all","sort":"views","count":30,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"videos":[{"id":"2913267911","url":"https://www.twitch.tv/videos/2913267911","title":"MARATHON 24/24H - ON MEURT, ON RECOMMENCE AU DÉBUT - MINECRAFT HARDCORE 🚨","views":2793997,"duration_s":169160,"published_at":"2026-10-28T19:01:01Z","type":"archive","language":"fr","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d3stzm2eumvgb4/9d55a9196b8ad060eadc_mastu_318138799458_1793214056//thumb/thumb0-640x360.jpg","channel":"mastu"},{"id":"2916554270","url":"https://www.twitch.tv/videos/2916554270","title":"🚨 CRAFTATTACK 14 🚨 16 UHR FITNACRAFT 🚨 2 MONATE 24/7 LIVE 🚨 TAG 23 🚨 NOTY GmbH WG mit @DIMEAX & @NORMAN 🚨 !pmm | Werbung","views":1823515,"duration_s":170120,"published_at":"2026-11-01T09:59:11Z","type":"archive","language":"de","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/598cff97cc36e7dd2dbc_nooreax_320909076318_1793527147//thumb/thumb0-640x360.jpg","channel":"nooreax"},"… 28 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/clip":{"get":{"operationId":"twitchClip","summary":"Twitch clip (with playable MP4)","description":"Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-clip","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"example":"https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"2358589597","slug":"TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","url":"https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","title":"F Shroud","views":563379,"duration_s":28,"created_at":"2023-06-02T11:41:50Z","language":"EN","broadcaster":{"id":"37402112","login":"shroud","display_name":"shroud"},"clipped_by":"pato_bolado","game":"Diablo IV","thumbnail":"https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5696a6a8-e053-4c2e-a54c-5ca62c48102e/landscape/thumb…","embed_url":"https://clips.twitch.tv/embed?clip=TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","vod":{"id":"1835200464","url":"https://www.twitch.tv/videos/1835200464?t=48930s","offset_s":48930},"videos":[{"quality":"1080","fps":null,"url":"https://d1ndex63qxojbr.cloudfront.net/nauth/5696a6a8-e053-4c2e-a54c-5ca62c48102e/landscape/avc/1080/index.mp4?sig=e58f452601035a2dbd3980c000…"},{"quality":"720","fps":null,"url":"https://d1ndex63qxojbr.cloudfront.net/nauth/5696a6a8-e053-4c2e-a54c-5ca62c48102e/landscape/avc/720/index.mp4?sig=e58f452601035a2dbd3980c0006…"},"… 2 more"],"featured":false,"broadcaster_avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-300x300.png","curator":{"id":"165804164","login":"pato_bolado","displayName":"Pato_Bolado","profileImageURL":"https://static-cdn.jtvnw.net/jtv_user_pictures/32755070-71cf-4911-948a-eb6ea0b952e7-profile_image-300x300.png"},"game_info":{"id":"515024","name":"Diablo IV","displayName":"Diablo IV","boxArtURL":"https://static-cdn.jtvnw.net/ttv-boxart/515024-{width}x{height}.jpg"},"vod_info":{"id":"1835200464","title":"HC - 100 INBOUND. (i hope) | @shroud on socials","createdAt":"2023-06-01T22:05:51Z","lengthSeconds":51980},"credits_used":1,"cached":false}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/clip/transcript":{"get":{"operationId":"twitchClipTranscript","summary":"Twitch clip transcript","description":"Every response includes `credits_used`: the credits this call cost.\n\nSpeech-to-text on the clip audio (Whisper).\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-clip-transcript","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string"},"example":"https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"2358589597","slug":"TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","url":"https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","title":"F Shroud","clip_duration_s":28,"source":"ai","model":"@cf/openai/whisper-large-v3-turbo","language":"en","duration_s":27.9466875,"text":"if you want see how much it does another one another one three three three oh my explode guys i'm dead oh wait actually yes i'm dead what wa…","segments":[{"start":0,"end":4.46,"text":"if you want see how much it does another one another one three three three oh my"},{"start":5.16,"end":14.78,"text":"explode guys i'm dead oh wait actually yes i'm dead what was that an explode yeah it was a fear"},"… 2 more"],"credits_used":1,"cached":false}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/profile":{"get":{"operationId":"twitchProfile","summary":"Twitch channel","description":"Also `team`, `chat_settings` (followers-only minutes, slow mode, emote-only, subscribers-only, verified-only, delay, rules), `badges` (the channel's subscriber and bits badges with images) and `emotes` (subscriber emotes with tier and image).\n\nEvery response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-profile","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"example":"shroud"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"37402112","login":"shroud","display_name":"shroud","description":"I'm back baby","created_at":"2012-11-03T15:50:32.87847Z","url":"https://www.twitch.tv/shroud","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-300x300.png","banner":"https://static-cdn.jtvnw.net/jtv_user_pictures/dbee25e8-55b7-4565-87f0-e9d4661dcc66-profile_banner-480.jpeg","offline_image":"https://static-cdn.jtvnw.net/jtv_user_pictures/0e68b939-5868-4ee5-b2b8-fdb51521c84d-channel_offline_image-1920x1080.jpeg","color":"#00ADFF","followers":11291065,"partner":true,"affiliate":false,"language":"EN","category":"Crimson Desert","live":false,"stream":null,"last_broadcast":{"title":"New Crimson Desert DLC ⛵","started_at":"2026-10-30T01:24:18.641149Z","game":"Crimson Desert"},"next_stream":{"start_at":"2026-11-05T19:00:00Z","title":null},"socials":[{"name":"discord","title":"Discord","url":"https://discord.gg/shroud"},{"name":"twitter","title":"Twitter","url":"https://twitter.com/shroud"},"… 2 more"],"panels":[{"title":null,"description":null,"link":"https://load.gg/shroudLogitech","image":"https://panels.twitch.tv/panel-37402112-image-407517f5-8549-42ec-9433-d19837869c09"},{"title":null,"description":null,"link":"https://www.youtube.com/shroud","image":"https://panels.twitch.tv/panel-37402112-image-503ca1b8-22d5-4eab-b610-e673c13860d8"},"… 4 more"],"updated_at":"2026-10-30T00:15:13.00612Z","chat_color":"#1E90FF","avatar_large":"https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-600x600.png","mature":false,"title":"New Crimson Desert DLC ⛵","category_id":"515186","category_box_art":"https://static-cdn.jtvnw.net/ttv-boxart/515186_IGDB-{width}x{height}.jpg","video_count":1616,"staff":null,"extensions_developer":false,"stream_tags":[],"team":{"id":"5467","name":"loadedllc","display_name":"Loaded","url":"https://www.twitch.tv/team/loadedllc"},"chat_settings":{"followers_only_minutes":10,"slow_mode_seconds":null,"emote_only":false,"subscribers_only":false,"unique_chat":false,"verified_accounts_only":false,"delay_ms":0,"rules":[]},"badges":[{"set":"subscriber","version":"2072","title":"6-Year Subscriber","image":"https://static-cdn.jtvnw.net/badges/v1/f9a78cc0-1a2a-4e8a-8084-d6e30e5664c3/3"},{"set":"subscriber","version":"3000","title":"Subscriber","image":"https://static-cdn.jtvnw.net/badges/v1/87b523aa-0f68-4948-b677-78d0c389b896/3"},"… 25 more"],"emotes":[{"id":"emotesv2_a6448ed4eb2a438e99f577bd147e4d75","name":"shroudWave","tier":1,"animated":true,"image":"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_a6448ed4eb2a438e99f577bd147e4d75/animated/dark/3.0"},{"id":"emotesv2_69850ec563f5485480973d572c39e32d","name":"shroudJam","tier":1,"animated":true,"image":"https://static-cdn.jtvnw.net/emoticons/v2/emotesv2_69850ec563f5485480973d572c39e32d/animated/dark/3.0"},"… 72 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/search":{"get":{"operationId":"twitchSearch","summary":"Twitch search","description":"Channels, categories and videos matching the text, plus related live channels. With type=channels, categories or videos, pass `next_cursor` back as `cursor` for more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-search","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"q","in":"query","required":true,"description":"Search text.","schema":{"type":"string"},"example":"minecraft"},{"name":"type","in":"query","required":false,"description":"all (default), channels, categories or videos.","schema":{"type":"string","enum":["all","channels","categories","videos"]}},{"name":"cursor","in":"query","required":false,"description":"Value of `next_cursor` from the previous page (type must not be all).","schema":{"type":"string"}},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"query":"minecraft","type":"all","totals":{"channels":12216,"categories":31,"videos":10000},"next_cursor":null,"channels":[{"id":"172312401","login":"nooreax","name":"nooreax","url":"https://www.twitch.tv/nooreax","description":"name@example.com","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/cf4d614e-35d9-43ec-8dc4-63de61989132-profile_image-300x300.png","followers":730814,"partner":true,"live":true,"viewers":4158,"live_game":"Minecraft","last_live_at":"2026-11-03T11:59:40.901658Z"},{"id":"112568845","login":"minecraft","name":"Minecraft","url":"https://www.twitch.tv/minecraft","description":"Survive the night, or build a work of art. Watch and join us in Minecraft!","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/c6284d38-5148-424b-a6cc-be06d2fc4aec-profile_image-300x300.png","followers":857715,"partner":true,"live":false,"viewers":null,"live_game":null,"last_live_at":"2026-09-26T17:45:50.745278Z"},"… 8 more"],"categories":[{"id":"27471","name":"Minecraft","slug":"minecraft","box_art":"https://static-cdn.jtvnw.net/ttv-boxart/27471_IGDB-{width}x{height}.jpg","viewers":86982,"followers":3912517,"tags":["Simulation","Adventure Game","… 3 more"]},{"id":"2042681592","name":"Minecraft Dungeons II","slug":"minecraft-dungeons-ii","box_art":"https://static-cdn.jtvnw.net/ttv-boxart/2042681592_IGDB-{width}x{height}.jpg","viewers":82,"followers":11854,"tags":["RPG","Action","… 1 more"]},"… 8 more"],"videos":[{"id":"2918701175","url":"https://www.twitch.tv/videos/2918701175","title":"Fitnacraft Tag 3","views":155551,"duration_s":8952,"published_at":"2026-11-03T20:03:52Z","type":"archive","game":"Minecraft","channel":"marli","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d3fi1amfgojobc/a5a5663cf05bd5a38f05_marli_319255280102_1793736227//thumb/thumb0-640x360.jpg"},{"id":"2918407477","url":"https://www.twitch.tv/videos/2918407477","title":"🍟 FITNACRAFT 🍟  🚨 MEGA ZELTALARM 🚨","views":180404,"duration_s":28518,"published_at":"2026-11-03T13:15:35Z","type":"archive","game":"Minecraft","channel":"gleggmire","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d3fi1amfgojobc/bd5caba364ff2e5d3de3_gleggmire_319064183271_1793711729//thumb/thumb0-640x360.jpg"},"… 8 more"],"live_channels":[{"id":"318529867096","title":"🎁LAST CHANCE 4 DROPS🎁 PUSHING 1.9K GS!! 1 YEAR PARTNERVERSARY | !discord !yt","viewers":13,"started_at":"2026-11-04T02:00:07Z","type":"live","language":"EN","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_tergolive-1280x720.jpg","game":"AION 2","game_id":"771448419","tags":["English","drops","… 1 more"],"channel":{"id":"121356219","login":"tergolive","name":"TergoLive","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/01416b34-23fd-470b-a834-772a554de50f-profile_image-300x300.png","followers":21417,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/tergolive"},"url":"https://www.twitch.tv/tergolive"},{"id":"319190568293","title":"NACHTSCHLEIFE 🌙 SUBATHON TAG 521 🌙 FOLLOW +1 MIN | SUB +5 MIN | SPENDEN x3 🌙","viewers":47,"started_at":"2026-11-03T17:03:09Z","type":"live","language":"DE","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_logo-1280x720.jpg","game":"Minecraft","game_id":"27471","tags":["Deutsch","drops","… 5 more"],"channel":{"id":"60185310","login":"logo","name":"LOGO","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/5652d1ff-73f7-43ef-965c-36ceefb74689-profile_image-300x300.png","followers":179861,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/logo"},"url":"https://www.twitch.tv/logo"},"… 2 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/stream":{"get":{"operationId":"twitchStream","summary":"Twitch live status","description":"Is the channel live: title, viewers, game, tags, start time, thumbnail; otherwise the last broadcast. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-stream","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"handle","in":"query","required":true,"description":"Channel login or URL.","schema":{"type":"string"},"example":"kaicenat"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"handle":"kaicenat","name":"KaiCenat","live":false,"stream":null,"followers":21917447,"last_broadcast":{"id":"319778385495","title":"🎮PLAYING EVERY GTA UNTIL I BEAT IT: Grand Theft Auto 3🎮","started_at":"2026-11-03T06:29:49.965574Z","game":"Just Chatting"},"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/streams/top":{"get":{"operationId":"twitchStreamsTop","summary":"Twitch top live streams","description":"The most watched live streams right now. Twitch serves logged-out visitors the first page only (its later pages are not public), so `limit` (up to 100) sets the size; `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-streams-top","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"language","in":"query","required":false,"description":"Stream language(s), comma separated (en, es...).","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1-100 (default 30).","schema":{"type":"integer"},"example":"30"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"language":null,"count":30,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"streams":[{"id":"319785872215","title":"🇺🇸JUDGMENT DAY🇺🇸MIDTERMS!!🇺🇸GUESTS ALL DAY🇺🇸👺BLUENAMI?!👺IS TRUMP GOING TO NUKE IRAN?!  🇺🇸  NEW MERCH DROP !merch !guest","viewers":186454,"started_at":"2026-11-03T18:38:18Z","type":"live","language":"EN","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_hasanabi-1280x720.jpg","game":"Just Chatting","game_id":"509658","tags":["news","politics","… 4 more"],"channel":{"id":"207813352","login":"hasanabi","name":"HasanAbi","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/0347a9aa-e396-49a5-b0f1-31261704bab8-profile_image-300x300.jpeg","followers":3119579,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/hasanabi"},"url":"https://www.twitch.tv/hasanabi"},{"id":"319790304471","title":"🟨SPOOKY TIME🟨","viewers":59699,"started_at":"2026-11-04T03:02:30Z","type":"live","language":"EN","thumbnail":"https://static-cdn.jtvnw.net/previews-ttv/live_user_caseoh_-1280x720.jpg","game":"Minecraft","game_id":"27471","tags":["English"],"channel":{"id":"267160288","login":"caseoh_","name":"caseoh_","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/ef28ba12-c8ed-46d4-838b-a4c95ef5b469-profile_image-300x300.png","followers":9200090,"partner":true,"affiliate":false,"url":"https://www.twitch.tv/caseoh_"},"url":"https://www.twitch.tv/caseoh_"},"… 28 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/team":{"get":{"operationId":"twitchTeam","summary":"Twitch team and members","description":"A Twitch team: name, description, logo, banner, owner, member and live counts, and its member channels (followers, partner or affiliate, live stream with viewers and game). live=true lists only members live now. Pass `next_cursor` back as `cursor`; null on the last page.\n\nEvery response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-team","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"name","in":"query","required":true,"description":"Team name or twitch.tv/team link.","schema":{"type":"string"},"example":"esl"},{"name":"live","in":"query","required":false,"description":"true lists only members live now.","schema":{"type":"boolean"},"example":"false"},{"name":"limit","in":"query","required":false,"description":"Members per page (max 100).","schema":{"type":"integer"},"example":"100"},{"name":"cursor","in":"query","required":false,"description":"Paging cursor from the previous page.","schema":{"type":"string"}},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"17","name":"esl","display_name":"ESL","description":null,"url":"https://www.twitch.tv/team/esl","logo":"https://static-cdn.jtvnw.net/team-assets/esl-e3f9c915cbc646f3ac49546f27fc929e.jpeg","banner":"https://static-cdn.jtvnw.net/team-assets/esl-3d477a00d5af4fd18391f2a335fcfd54.png","background":"https://static-cdn.jtvnw.net/team-assets/esl-e4a2e2267c1d4f15840332f6b8180752.png","owner":{"id":"67834893","login":"esl","name":"ESL"},"members_total":null,"live_total":null,"live_only":false,"count":100,"members":[{"id":"8495441","login":"esltv","name":"ESLtv","url":"https://www.twitch.tv/esltv","description":"Welcome to the qualifiers for DreamLeague Season 26, the last stop of the 2024/2025 EPT! Three action packed days to determine which teams w…","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/ff7e1057-8d68-47c9-af1a-9798a3846552-profile_image-300x300.jpeg","followers":25904,"partner":true,"affiliate":false,"live":false,"stream":null,"title":"LIVE: Winter Bear vs Zone Academy - DreamLeague Season 26 MESWA Closed Qualifiers","category":"Dota 2"},{"id":"23675880","login":"esl_lolc","name":"esl_lolc","url":"https://www.twitch.tv/esl_lolc","description":null,"avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/esl_lolc-profile_image-d56d3c5138e12d2d-300x300.jpeg","followers":16144,"partner":true,"affiliate":false,"live":false,"stream":null,"title":"EPS Season X: Finals LoLPro, Coast & Team8","category":"League of Legends"},"… 98 more"],"next_cursor":"eyJ2IjoxLCJvIjoxMDB9","cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/user/clips":{"get":{"operationId":"twitchUserClips","summary":"Twitch channel clips","description":"The channel's clips (up to 100) for a period. Twitch serves logged-out visitors the first page only (its later pages are not public), so `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-user-clips","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"example":"shroud"},{"name":"period","in":"query","required":false,"description":"last_day, last_week, last_month or all_time.","schema":{"type":"string"},"example":"all_time"},{"name":"cursor","in":"query","required":false,"description":"Value of `next_cursor` from the previous page.","schema":{"type":"string"}},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"handle":"shroud","period":"all_time","count":100,"paging":"first page only: Twitch serves later pages only to browsers that pass its integrity check, so there is no cursor; has_more says whether Twit…","has_more":true,"next_cursor":null,"clips":[{"id":"2358589597","slug":"TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","url":"https://www.twitch.tv/shroud/clip/TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","title":"F Shroud","views":563507,"duration_s":28,"created_at":"2023-06-02T11:41:50Z","game":"Diablo IV","clipped_by":"pato_bolado","thumbnail":"https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/5696a6a8-e053-4c2e-a54c-5ca62c48102e/landscape/thumb…","embed_url":"https://clips.twitch.tv/embed?clip=TangentialBillowingJalapenoYee-ccA2oB1pEYh4CHWJ","language":"EN","featured":false,"game_id":"515024","curator":{"id":"165804164","login":"pato_bolado","displayName":"Pato_Bolado"},"broadcaster":{"id":"37402112","login":"shroud","displayName":"shroud"},"vod":{"id":"1835200464","url":"https://www.twitch.tv/videos/1835200464?t=48930s","offset_s":48930}},{"id":"3663533447","slug":"SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q","url":"https://www.twitch.tv/shroud/clip/SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q","title":"it's gonna be over","views":563174,"duration_s":19,"created_at":"2023-08-05T10:53:38Z","game":"Baldur's Gate 3","clipped_by":"jawnpeed","thumbnail":"https://static-cdn.jtvnw.net/twitch-video-assets/twitch-vap-video-assets-prod-us-west-2/05f80190-90b4-4569-94ce-36a01d87b191/landscape/thumb…","embed_url":"https://clips.twitch.tv/embed?clip=SuccessfulEndearingPidgeonPunchTrees-46KXLAMeuS9kpp5Q","language":"EN","featured":false,"game_id":"512923","curator":{"id":"63640236","login":"jawnpeed","displayName":"JawnPeed"},"broadcaster":{"id":"37402112","login":"shroud","displayName":"shroud"},"vod":{"id":"1890462089","url":"https://www.twitch.tv/videos/1890462089?t=28052s","offset_s":28052}},"… 98 more"],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/user/followers":{"get":{"operationId":"twitchUserFollowers","summary":"Twitch follower count","description":"A channel's follower count. Twitch no longer shows who follows a channel to logged-out visitors, so `followers_list` is empty unless Twitch makes it public again (`list_public`). Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-user-followers","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"username","in":"query","required":true,"description":"Channel login or URL.","schema":{"type":"string"},"example":"shroud"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"37402112","username":"shroud","display_name":"shroud","url":"https://www.twitch.tv/shroud","followers":11291066,"followers_list":[],"list_public":false,"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/user/schedule":{"get":{"operationId":"twitchUserSchedule","summary":"Twitch stream schedule","description":"Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-user-schedule","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"example":"shroud"},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"handle":"shroud","has_schedule":true,"next":{"start_at":"2026-10-24T18:00:00Z","end_at":"2026-10-25T02:00:00Z","title":null},"segments":[{"start_at":"2026-10-18T18:00:00Z","end_at":"2026-10-19T02:00:00Z","title":null,"cancelled":false,"categories":[],"id":"eyJzZWdtZW50SUQiOiI4OTdjMTZjNy1jYTYyLTQ4OGItODI4ZS0wY2Q1OTdjMzEyNzUiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjo0Mn0="},{"start_at":"2026-10-19T18:00:00Z","end_at":"2026-10-20T02:00:00Z","title":null,"cancelled":false,"categories":[],"id":"eyJzZWdtZW50SUQiOiJkNDYzZDJmNy1jNGQ3LTQ0ZTgtYWU0OS01OTlkNjI1Y2RkMTMiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjo0M30="},"… 4 more"],"user_id":"37402112","schedule_id":"schedule-37402112","credits_used":1,"cached":false}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/user/videos":{"get":{"operationId":"twitchUserVideos","summary":"Twitch channel videos (VODs)","description":"Past broadcasts, highlights and uploads (up to 100). Twitch serves logged-out visitors the first page only (its later pages are not public), so `has_more` says whether Twitch has more. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-user-videos","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"handle","in":"query","required":true,"schema":{"type":"string"},"example":"shroud"},{"name":"cursor","in":"query","required":false,"description":"Value of `next_cursor` from the previous page.","schema":{"type":"string"}},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"handle":"shroud","type":"all","sort":"time","count":100,"total":1612,"next_cursor":"2771862411|442272|2026-05-14T16:35:11Z|38098","videos":[{"id":"2907766307","url":"https://www.twitch.tv/videos/2907766307","title":"NEW CONTENT NEW WEEK NEW ME MMO MIKE IS BACK AND","type":"archive","views":194355,"duration_s":35613,"published_at":"2026-10-22T17:14:19Z","game":"AION 2","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255//thumb/thumb0-640x360.jpg","description":null,"language":"en","created_at":"2026-10-22T17:14:19Z","updated_at":"2026-10-23T03:07:56Z","recorded_at":"2026-10-22T17:14:19Z","status":"RECORDED","animated_preview":"https://d2nvs31859zcd8.cloudfront.net/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255/storyboards/2907766307-strip-0.jpg","seek_previews":"https://d2nvs31859zcd8.cloudfront.net/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255/storyboards/2907766307-info.json","game_id":"771448419","owner":{"id":"37402112","login":"shroud","displayName":"shroud"},"tags":[]},{"id":"2906978606","url":"https://www.twitch.tv/videos/2906978606","title":"NEW HARDMODE CONTENT GRINDING PHILO STONES AND PVE BOARDS","type":"archive","views":117945,"duration_s":17928,"published_at":"2026-10-21T18:43:03Z","game":"AION 2","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d2vi6trrdongqn/71720211397064bb10e1_shroud_320854680156_1792608178//thumb/thumb0-640x360.jpg","description":null,"language":"en","created_at":"2026-10-21T18:43:03Z","updated_at":"2026-10-21T23:41:55Z","recorded_at":"2026-10-21T18:43:03Z","status":"RECORDED","animated_preview":"https://d2vi6trrdongqn.cloudfront.net/71720211397064bb10e1_shroud_320854680156_1792608178/storyboards/2906978606-strip-0.jpg","seek_previews":"https://d2vi6trrdongqn.cloudfront.net/71720211397064bb10e1_shroud_320854680156_1792608178/storyboards/2906978606-info.json","game_id":"771448419","owner":{"id":"37402112","login":"shroud","displayName":"shroud"},"tags":[]},"… 98 more"],"credits_used":1,"cached":false}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}},"/twitch/v1/video":{"get":{"operationId":"twitchVideo","summary":"Twitch video","description":"A past broadcast/VOD: title, views, duration, dates, game, channel, tags, chapters and muted segments. With `chat_offset`, the replayed chat from that point. Every response includes `credits_used`: the credits this call cost.\n\nPrice: 1 credit per successful call. Docs: https://api.sh/docs/twitch-video","tags":["Twitch"],"x-credits":1,"parameters":[{"name":"url","in":"query","required":true,"description":"Video URL or id.","schema":{"type":"string"},"example":"https://www.twitch.tv/videos/2907766307"},{"name":"chat_offset","in":"query","required":false,"description":"Seconds into the video: adds `chat_replay` with the chat messages around that point (offset, time, commenter, text, emotes, badges) and `next_offset` for the next stretch.","schema":{"type":"integer"}},{"$ref":"#/components/parameters/raw"},{"$ref":"#/components/parameters/fields"},{"$ref":"#/components/parameters/fresh"},{"$ref":"#/components/parameters/output"},{"$ref":"#/components/parameters/records"}],"responses":{"200":{"description":"The data as JSON (or CSV / NDJSON with `output`).","headers":{"x-request-id":{"$ref":"#/components/headers/x-request-id"},"x-credits-used":{"$ref":"#/components/headers/x-credits-used"},"x-credits-remaining":{"$ref":"#/components/headers/x-credits-remaining"}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true},"example":{"id":"2907766307","url":"https://www.twitch.tv/videos/2907766307","title":"NEW CONTENT NEW WEEK NEW ME MMO MIKE IS BACK AND","description":null,"views":205937,"duration_s":35613,"published_at":"2026-10-22T17:14:19Z","created_at":"2026-10-22T17:14:19Z","recorded_at":"2026-10-22T17:14:19Z","type":"archive","status":"RECORDED","language":"en","thumbnail":"https://static-cdn.jtvnw.net/cf_vods/d2nvs31859zcd8/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255//thumb/thumb0-1280x720.jpg","animated_preview":"https://d2nvs31859zcd8.cloudfront.net/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255/storyboards/2907766307-strip-0.jpg","seek_previews":"https://d2nvs31859zcd8.cloudfront.net/dd0b5fb0a5e005b4bd0b_shroud_319660778839_1792689255/storyboards/2907766307-info.json","game":"AION 2","game_id":"771448419","channel":{"id":"37402112","login":"shroud","name":"shroud","avatar":"https://static-cdn.jtvnw.net/jtv_user_pictures/c754eebf-745b-4e0a-814a-10bcaecaabbc-profile_image-300x300.png"},"tags":[],"chapters":[],"muted_segments":[],"cached":false,"credits_used":1}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}}}},"400":{"$ref":"#/components/responses/E400"},"401":{"$ref":"#/components/responses/E401"},"402":{"$ref":"#/components/responses/E402"},"404":{"$ref":"#/components/responses/E404"},"502":{"$ref":"#/components/responses/E502"},"503":{"$ref":"#/components/responses/E503"}}}}},"components":{"securitySchemes":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Create keys at https://app.api.sh/keys. Authorization: Bearer <key> also works."}},"parameters":{"raw":{"name":"raw","in":"query","required":false,"description":"0 leaves out the bulky `raw` source blocks (often 10-30x smaller).","schema":{"type":"string","enum":["0","1"]}},"fields":{"name":"fields","in":"query","required":false,"description":"Comma-separated fields to return, e.g. `posts.id,posts.title`. Call metadata is always included.","schema":{"type":"string"}},"fresh":{"name":"fresh","in":"query","required":false,"description":"1 skips the 24-hour cache and fetches live.","schema":{"type":"string","enum":["1"]}},"output":{"name":"output","in":"query","required":false,"description":"csv or ndjson returns the response's records (its main list, or the object as one row) as CSV or NDJSON instead of JSON.","schema":{"type":"string","enum":["json","csv","ndjson"]}},"records":{"name":"records","in":"query","required":false,"description":"With output=csv|ndjson: the top-level list to turn into rows (e.g. `reviews`), or `.` for the whole object as one row.","schema":{"type":"string"}}},"schemas":{"Error":{"type":"object","properties":{"success":{"type":"boolean","const":false},"error":{"type":"string"}},"required":["success","error"]}},"responses":{"E400":{"description":"A parameter is missing or invalid. Not charged (unless the call ran and the source rejected the value; credits_used says).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E401":{"description":"Missing, invalid, revoked or expired API key. Not charged. See https://api.sh/docs/errors#401","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E402":{"description":"Not enough credits, a spend limit you set was reached (`spend_limit`), or the key's monthly credit cap was reached (`key_cap`). Not charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E404":{"description":"Not found, or not public. A lookup that ran costs the endpoint's price (credits_used says); an unknown route is free.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E502":{"description":"The source site failed this time; retry. Not charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"E503":{"description":"Endpoint paused or temporarily unavailable; may include retry-after. Not charged.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"headers":{"x-request-id":{"description":"The call's id (logs, re-fetch with /v1/results/{id}).","schema":{"type":"string","format":"uuid"}},"x-credits-used":{"description":"Credits charged for this call.","schema":{"type":"integer"}},"x-credits-remaining":{"description":"Balance after the call.","schema":{"type":"integer"}}}},"externalDocs":{"url":"https://api.sh/docs"}}