Streamer and channel research
Usa los endpoints de Twitch para convertir streamer and channel research en solicitudes API repetibles con inputs documentados y respuestas JSON.
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.
Familias de endpoints
6
Parámetros documentados
24
Ejemplos
9
Snapshot en vivo del catálogo
Endpoints activos
9
Métodos
GET
Parámetros obligatorios
17
Referencias de esquema
9
{
"platform": "Twitch",
"endpoint": "twitch-channel",
"method": "GET",
"path": "/twitch/channel",
"auth": "apiKey"
}Casos de uso
Collect Twitch channel, live stream, clips, videos, search, top games, and team data through documented Crawlora API endpoints.
Usa los endpoints de Twitch para convertir streamer and channel research en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Twitch para convertir live viewership and category tracking en solicitudes API repetibles con inputs documentados y respuestas JSON.
Usa los endpoints de Twitch para convertir esports team and org monitoring en solicitudes API repetibles con inputs documentados y respuestas JSON.
Ejecución gestionada
Cada cifra de abajo se lee directamente del catálogo de endpoints en vivo de Twitch — 9 endpoints, 24 parámetros de solicitud documentados y 9 esquemas de respuesta publicados — el mismo catálogo contra el que corren Docs y Playground.
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.
Mapa de cobertura
Estas tarjetas se generan a partir del catálogo de endpoints activo, así que la landing page refleja la misma superficie de API que usan Docs y Playground.
/twitch/channel
/twitch/clips
/twitch/schedule
/twitch/search
/twitch/streams
/twitch/team
Catálogo de endpoints
/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.
Notas de la respuesta
- `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" } } } } ```
Herramienta MCP 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.
Notas de la respuesta
- `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"] } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- `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": "凡人" } } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- `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 } } ] } } ```
Herramienta MCP 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).
Notas de la respuesta
- 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" } } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- `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"] } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- `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 } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- 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" } ] } ] } } ```
Herramienta MCP 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.
Notas de la respuesta
- 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" } ] } ] } } ```
Herramienta MCP twitch_vod_comments
APIs relacionadas
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.
Cobertura de la empresa
Amazon.com, Inc. · AMZN
Twitch es operado por Amazon.com, Inc. (AMZN). Los endpoints SEC de Crawlora usan el mismo CIK de esa empresa, así que los filings, datos financieros, transacciones de insiders y participaciones 13F provienen de la misma API key que los endpoints de Twitch de arriba.
API de filings y datos financieros SEC →Cómo hacer scraping de 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.
Preguntas frecuentes
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.