Streamer and channel research
Twitchエンドポイントを使えば、「Streamer and channel research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
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.
エンドポイントファミリー
6
ドキュメント化されたパラメータ
24
サンプル数
9
ライブカタログスナップショット
稼働エンドポイント
9
メソッド
GET
必須パラメータ
17
スキーマ参照
9
{
"platform": "Twitch",
"endpoint": "twitch-channel",
"method": "GET",
"path": "/twitch/channel",
"auth": "apiKey"
}ユースケース
Collect Twitch channel, live stream, clips, videos, search, top games, and team data through documented Crawlora API endpoints.
Twitchエンドポイントを使えば、「Streamer and channel research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Twitchエンドポイントを使えば、「Live viewership and category tracking」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Twitchエンドポイントを使えば、「Esports team and org monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のTwitchエンドポイントカタログから取得しています(エンドポイント9件、ドキュメント化されたリクエストパラメータ24個、公開レスポンススキーマ9件)。DocsとPlaygroundが参照しているカタログと同じものです。
Twitchのエンドポイントは9件、9つのリクエストファミリーに分類されています(Channel、Clips、Scheduleほか6件)。
これらのTwitchエンドポイントには24個のリクエストパラメータがドキュメント化されており、うち17個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
9件のTwitchエンドポイントのうち9件が実際のサンプルレスポンスを、9件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Twitchのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、429、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Twitchのエンドポイントは9個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/twitch/channel
/twitch/clips
/twitch/schedule
/twitch/search
/twitch/streams
/twitch/team
エンドポイントカタログ
/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.
レスポンスに関する注記
- `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ツール 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.
レスポンスに関する注記
- `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ツール 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.
レスポンスに関する注記
- `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ツール 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.
レスポンスに関する注記
- `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ツール 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).
レスポンスに関する注記
- 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ツール 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.
レスポンスに関する注記
- `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ツール 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.
レスポンスに関する注記
- `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ツール 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.
レスポンスに関する注記
- 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ツール 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.
レスポンスに関する注記
- 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ツール twitch_vod_comments
関連API
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.
対象企業
Amazon.com, Inc. · AMZN
Twitchを運営するのはAmazon.com, Inc.(AMZN)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のTwitchエンドポイントと同じAPIキーで取得できます。
SEC提出書類・財務API →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.