Streamer and channel research
Mit Twitch-Endpunkten verwandelst du streamer and channel research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Turn Twitch's public channel, stream, clip, and team data into structured JSON — live status and viewer counts, top games, clips, VODs, and team rosters — as normalized JSON. Credential-free.
Collect Twitch channel, live stream, clips, videos, search, top games, and team data through documented Crawlora API endpoints.
Endpunkt-Familien
6
Dokumentierte Parameter
24
Beispiele
9
Live-Katalog-Snapshot
Aktive Endpunkte
9
Methoden
GET
Pflichtparameter
17
Schema-Referenzen
9
{
"platform": "Twitch",
"endpoint": "twitch-channel",
"method": "GET",
"path": "/twitch/channel",
"auth": "apiKey"
}Use Cases
Collect Twitch channel, live stream, clips, videos, search, top games, and team data through documented Crawlora API endpoints.
Mit Twitch-Endpunkten verwandelst du streamer and channel research in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Twitch-Endpunkten verwandelst du live viewership and category tracking in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Mit Twitch-Endpunkten verwandelst du esports team and org monitoring in wiederholbare API-Requests mit dokumentierten Inputs und JSON-Antworten.
Managed Execution
Jede Zahl unten stammt direkt aus dem Live-Twitch-Endpunktkatalog — 9 Endpunkte, 24 dokumentierte Request-Parameter und 9 veröffentlichte Response-Schemas — demselben Katalog, gegen den auch Docs und Playground laufen.
9 documented Twitch endpoints, grouped into 9 request families — Channel, Clips and Schedule, plus 6 more.
24 request parameters are documented across those Twitch endpoints, 17 of them required — the full input contract is public before you write any integration code.
9 of the 9 Twitch endpoints ship a recorded example response, and 9 carry a documented response schema — you can code against the real JSON before the first request.
Twitch endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
9 hosted MCP tools back the Twitch endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Abdeckungskarte
Diese Karten werden aus dem aktiven Endpunktkatalog generiert, damit die Landingpage dieselbe API-Oberfläche widerspiegelt, die auch Docs und Playground nutzen.
/twitch/channel
/twitch/clips
/twitch/schedule
/twitch/search
/twitch/streams
/twitch/team
Endpunktkatalog
/twitch/channelReturns a Twitch channel's profile (partner status, team, last broadcast title) plus its current live status (started time and game/category, when live). Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `is_live`/`stream` reflect the channel's live status at request time. `stream` is omitted when the channel is offline. - `stream.game` is the game/category the channel is currently streaming under — pass its `slug` to [`/twitch/streams`](twitch-streams.md) to see other live streams in the same category. - Live viewer count is not available from this endpoint — see [`/twitch/streams`](twitch-streams.md), which only exposes viewer counts on the per-category listing shape. - An unknown login returns `404`. A missing `login` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "92038375", "login": "caedrel", "is_partner": true, "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/483a37ac-58fd-4e2f-8dc3-2c68a0164112-profile_image-70x70.png", "primary_color_hex": "8205B3", "primary_team": { "id": "1366421358", "name": "Yume Talent" }, "last_broadcast_title": "LCK T1 VS DK - T1 HOMEGROUND", "is_live": true, "stream": { "id": "317457454434", "started_at": "2026-08-14T07:18:46Z", "game": { "id": "21779", "slug": "league-of-legends", "name": "League of Legends" } } } } ```
MCP-Tool twitch_channel
/twitch/streamsReturns the top currently-live streams for a Twitch game/category, ranked by viewer count: title, viewer count, broadcaster, and tags. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `streams` is ordered by `viewers_count` descending — Twitch's own default directory sort. - `tags` are the stream's freeform tags (language, event, etc.) as Twitch itself surfaces them, not a curated taxonomy. - An unknown game/category slug returns `404`. A missing `game` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "game": "league-of-legends", "count": 20, "streams": [ { "id": "317457454434", "title": "LCK T1 VS DK - T1 HOMEGROUND", "viewers_count": 59142, "preview_image_url": "https://static-cdn.jtvnw.net/previews-ttv/live_user_caedrel-640x360.jpg", "broadcaster": { "id": "92038375", "login": "caedrel", "display_name": "Caedrel", "is_partner": true }, "tags": ["English", "LCK", "Worlds", "Esports"] } ] } } ```
MCP-Tool twitch_streams
/twitch/clipsReturns a Twitch channel's clips (last 7 days), most-viewed first: title, view count, duration, curator, and the game it was recorded under. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `clips` is ordered by view count descending, scoped to clips created in the last 7 days — Twitch's own default clips-tab window and sort. - `curator` is the user who created the clip, which is often a viewer, not the broadcaster. - An unknown login returns `404`. A missing `login` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "login": "caedrel", "count": 20, "clips": [ { "id": "3804362741", "url": "https://www.twitch.tv/caedrel/clip/LitigiousChillyBaboonCclamChamp-hhXP4-A8YhevOQRo", "title": "ROAMER LOCKE PENTA KILL ends the game", "view_count": 5370, "duration_seconds": 42, "created_at": "2026-08-07T10:59:22Z", "thumbnail_url": "https://static-cdn.jtvnw.net/twitch-video-assets/.../thumb-0000000000-1920x1080.jpg", "game": { "id": "21779", "slug": "league-of-legends", "name": "League of Legends" }, "curator": { "id": "29221067", "login": "daniel0527", "display_name": "凡人" } } ] } } ```
MCP-Tool twitch_clips
/twitch/videosReturns a Twitch channel's past-broadcast videos (VODs), ranked by view count: title, view count, length, publish date, and the game it was recorded under. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `videos` is ordered by view count descending — Twitch's own "Popular" sort for the videos tab, scoped to `ARCHIVE`-type broadcasts (past livestreams), not highlights or uploads. - An unknown login returns `404`. A missing `login` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "login": "lck", "count": 20, "videos": [ { "id": "1443936760", "title": "T1 vs GEN | 2022 LCK Spring FINALS", "view_count": 2800795, "length_seconds": 20818, "published_at": "2022-04-02T07:10:16Z", "thumbnail_url": "https://static-cdn.jtvnw.net/cf_vods/.../thumb0-320x180.jpg", "game": { "id": "21779", "slug": "league-of-legends", "name": "League of Legends" }, "owner": { "id": "124425501", "login": "lck", "display_name": "LCK", "is_partner": true } } ] } } ```
MCP-Tool twitch_videos
/twitch/searchReturns mixed category and channel matches for a query -- live channels include current viewer count and stream title. Sourced from Twitch's own search-typeahead surface (a capped suggestion list, not a fully paginated results page).
Hinweise zur Response
- This endpoint is sourced from Twitch's own search **typeahead** surface (what powers the suggestions dropdown as you type in the site's search box), not a fully paginated `/search` results page — results are capped to a small, ranked suggestion list rather than paginated. It still returns complete, real category and channel data. - Each `results` entry has `type` set to either `category` or `channel`, with only the matching field (`category` or `channel`) populated. - A `channel` entry's `viewers_count`, `stream_title`, and `game_name` are only populated when `is_live` is `true`. - A missing `query` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "valorant", "count": 10, "results": [ { "type": "category", "text": "VALORANT", "category": { "id": "516575", "slug": "valorant", "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/516575-60x80.jpg" } }, { "type": "channel", "text": "VALORANT_Pacific", "channel": { "id": "610457628", "login": "valorant_pacific", "is_live": true, "viewers_count": 3433, "stream_title": "FS vs QTD / TS vs XIP - VCT Pacific - Stage 2 - Play Ins - Day 2", "game_name": "VALORANT", "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/abba2816-c2e0-44b2-9841-49ad1660465b-profile_image-50x50.png" } } ] } } ```
MCP-Tool twitch_search
/twitch/top-gamesReturns the top games/categories site-wide, ranked by total current viewers across all live streams under each one. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `games` is ordered by `viewers_count` descending — Twitch's own default directory sort, matching the unfiltered `twitch.tv/directory` page. - `viewers_count` is the sum across every live stream currently under that game, not a single stream's count — use [`/twitch/streams`](twitch-streams.md) for per-stream viewer counts within a game. Example response: ```json { "code": 200, "msg": "OK", "data": { "count": 20, "games": [ { "id": "29595", "slug": "dota-2", "name": "Dota 2", "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/29595-285x380.jpg", "viewers_count": 390201, "tags": ["Strategy", "MOBA", "Action"] }, { "id": "21779", "slug": "league-of-legends", "name": "League of Legends", "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/21779-285x380.jpg", "viewers_count": 206554, "tags": ["RPG", "Strategy", "MOBA", "Action"] } ] } } ```
MCP-Tool twitch_top_games
/twitch/teamReturns a Twitch team's full member roster, with live status and viewer count for whoever is currently live, plus team-level metadata (banner, logo, description, owner). Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- `member_count` is the team's total member count; `members` lists every member with `is_live`/`viewers_count` populated for whoever is currently streaming. - Team-level metadata (`display_name`, `description`, `logo_url`, `banner_url`, `owner_login`) comes from a second upstream call. If that call fails, the response still succeeds with the member roster populated and metadata fields omitted — the roster is the primary payload. - An unknown team slug returns `404`. A missing `team` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "1366421358", "name": "yumetalent", "display_name": "Yume Talent", "logo_url": "https://static-cdn.jtvnw.net/team-assets/yumetalent-726f49791ba64632b59c99061780353f.jpeg", "banner_url": "https://static-cdn.jtvnw.net/team-assets/yumetalent-c01a9fe59fed40579144aaf79ba5edd1.jpeg", "owner_login": "yumetalent", "member_count": 5, "members": [ { "id": "92038375", "login": "caedrel", "display_name": "Caedrel", "profile_image_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/483a37ac-58fd-4e2f-8dc3-2c68a0164112-profile_image-50x50.png", "is_live": true, "viewers_count": 38800 }, { "id": "35739604", "login": "rekkles", "display_name": "Rekkles", "is_live": true, "viewers_count": 1186 } ] } } ```
MCP-Tool twitch_team
/twitch/scheduleReturns a Twitch channel's upcoming broadcast schedule -- planned segments with title, start/end time, and game/category -- starting today. A channel with no schedule configured returns an empty segments list, not an error. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- A channel with no schedule configured returns a `200` with an empty `segments` list, not an error. - `next_segment_id`/`next_segment_at` identify the next upcoming segment (which may be outside the requested `weeks` window if the window starts mid-gap). - Each segment's `categories` lists the game(s) planned for that broadcast; a segment can have zero categories if none was set. - An unknown channel login returns `404`. A missing `channel` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "channel": "caedrel", "count": 5, "next_segment_id": "eyJzZWdtZW50SUQiOiJkYjgzMmNiYi1lMmUzLTQzODUtOTRiYS1iNTQ4MTk2M2E4ODkiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjozM30=", "next_segment_at": "2026-08-15T12:00:00Z", "segments": [ { "id": "eyJzZWdtZW50SUQiOiI3YmJmYzA3OC00Nzg3LTQzMWEtOWQ4Yy0xNDRjYmI3YWRkOWIiLCJpc29ZZWFyIjoyMDI2LCJpc29XZWVrIjozM30=", "title": "LEC", "start_at": "2026-08-10T12:00:00Z", "end_at": "2026-08-10T19:00:00Z", "is_cancelled": false, "categories": [ { "id": "21779", "slug": "league-of-legends", "name": "League of Legends", "box_art_url": "https://static-cdn.jtvnw.net/ttv-boxart/21779-144x192.jpg" } ] } ] } } ```
MCP-Tool twitch_schedule
/twitch/vod-commentsReturns one page of a Twitch VOD's chat replay (past-broadcast chat messages), starting at a given point in the video's timeline. Paginate forward by re-requesting with the last returned comment's offset_seconds. Public data sourced from Twitch's own GraphQL API.
Hinweise zur Response
- Pagination is offset-based only: use the last returned comment's `offset_seconds` (or `next_offset_seconds`) as the next request's `offset` to page forward. Twitch's own cursor-based paging mode for this operation requires a device-integrity token this endpoint does not carry, so it is not exposed here. - `message` is the comment's flattened plain text; `fragments` breaks it into text/emote runs, with `emote_id` set on emote fragments. - `has_more` reflects whether Twitch has additional comments after this page's last offset. - A video with no chat replay data (or that never had chat) returns a `200` with an empty `comments` list. - An unknown video id returns `404`. A missing `video` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "video_id": "2845804307", "offset_seconds": 0, "count": 55, "has_more": true, "next_offset_seconds": 140, "comments": [ { "id": "d19286b9-dd9c-45b7-91eb-1fff28926f2c", "commenter": { "id": "271911711", "login": "mrfluffernuts", "display_name": "mrfluffernuts" }, "offset_seconds": 53, "created_at": "2026-08-14T07:19:45.217Z", "message": "I'm going to spend my 50million during game 5 of worlds so you have to end stream @caedrel", "fragments": [ { "text": "I'm going to spend my 50million during game 5 of worlds so you have to end stream @caedrel" } ] } ] } } ```
MCP-Tool twitch_vod_comments
Verwandte APIs
Social & Creator Platforms
Build creator intelligence, video research, transcript, and audience-comment workflows without maintaining YouTube scrapers.
Social & Creator Platforms
Track creator, content, hashtag, music, trend, and public ad creative signals from TikTok with production-ready API routes.
Social & Creator Platforms
Turn Instagram public data into structured inputs for social listening and creator research.
Unternehmensabdeckung
Amazon.com, Inc. · AMZN
Twitch wird von Amazon.com, Inc. (AMZN) betrieben. Crawloras SEC-Endpunkte nutzen dieselbe CIK dieses Unternehmens, sodass Filings, Finanzdaten, Insider-Transaktionen und 13F-Beteiligungen mit demselben API-Key wie die Twitch-Endpunkte oben abrufbar sind.
SEC-Filings & Finanzdaten-API →So scrapst du Twitch
Crawlora's Twitch endpoints return channel, stream, clip, video, and team data as structured JSON with one API key — no Twitch account or OAuth required.
Pass a channel login to /twitch/channel for profile, partner status, team, and current live status.
Pass a game/category slug to /twitch/streams for the top live streams, ranked by viewer count.
Use /twitch/clips and /twitch/videos for a channel's clips and past-broadcast videos.
Use /twitch/search for mixed category/channel matches, or /twitch/top-games for the site-wide top games directory.
Pass a team slug to /twitch/team for the full member roster with live status and viewer counts.
FAQ
Send a channel login to Crawlora's /twitch/channel endpoint and get profile and live-status data as structured JSON — no Twitch account required.
Yes — /twitch/streams returns the top live streams for a game/category, ranked by viewer count.
No Twitch login or OAuth token is required from the caller — only your Crawlora API key.
Yes — /twitch/team returns a team's full member roster, with live status and viewer count for whoever is currently live.
Collecting publicly accessible channel, stream, and clip data is generally permissible if you respect Twitch's terms of use, robots directives, rate limits, and applicable law. This is for public data you are authorized to collect.