Twitch Data API 数据集概述
基本信息
- 数据集名称: Twitch Data API
- 提供商: elis-lab
- 类别: Social
- 版本: 1.0.0 (current)
- 概述: 实时Twitch数据——直播流、游戏、频道、剪辑和视频点播(VODs)。无需OAuth。
订阅计划与定价
- BASIC: $0.00 / 月
- PRO: $12.00 / 月
- ULTRA: $39.00 / 月
- MEGA: $99.00 / 月
端点 (Endpoints)
| 方法 |
路径 |
描述 |
| GET |
/streams |
按观众数获取热门直播流 |
| GET |
/streams/game/{name} |
获取特定游戏的直播流 |
| GET |
/games |
按观众数获取热门游戏/类别 |
| GET |
/games/{name} |
按名称获取游戏信息 |
| GET |
/channels/{login} |
获取频道资料和直播状态 |
| GET |
/channels/{login}/clips |
获取频道剪辑(可按周期/排序过滤) |
| GET |
/channels/{login}/videos |
获取频道视频点播、精彩时刻和上传内容 |
| GET |
/clips/{slug} |
通过slug查找单个剪辑 |
| GET |
/search |
搜索频道和/或游戏 |
参数参考
/streams
| 参数 |
类型 |
必需 |
默认值 |
描述 |
| first |
integer |
否 |
20 |
每页结果数 (1–100) |
| after |
string |
否 |
— |
分页游标 |
| language |
string |
否 |
— |
按语言代码过滤 (EN, ES, FR等) |
/streams/game/{name}
| 参数 |
类型 |
必需 |
默认值 |
描述 |
| name |
string (path) |
是 |
— |
游戏名称(区分大小写,例如 Fortnite) |
| first |
integer |
否 |
20 |
每页结果数 (1–100) |
| after |
string |
否 |
— |
分页游标 |
/games
| 参数 |
类型 |
必需 |
默认值 |
描述 |
| first |
integer |
否 |
20 |
每页结果数 (1–100) |
| after |
string |
否 |
— |
分页游标 |
/games/{name}
| 参数 |
类型 |
必需 |
描述 |
| name |
string (path) |
是 |
游戏名称 (例如 Fortnite) |
/channels/{login}
| 参数 |
类型 |
必需 |
描述 |
| login |
string (path) |
是 |
频道用户名 (例如 ninja) |
/channels/{login}/clips
| 参数 |
类型 |
必需 |
默认值 |
值 |
| login |
string (path) |
是 |
— |
频道用户名 |
| first |
integer |
否 |
20 |
1–100 |
| after |
string |
否 |
— |
分页游标 |
| period |
string |
否 |
LAST_WEEK |
LAST_DAY, LAST_WEEK, LAST_MONTH, ALL_TIME |
| sort |
string |
否 |
VIEWS_DESC |
VIEWS_DESC, CREATED_AT_ASC |
/channels/{login}/videos
| 参数 |
类型 |
必需 |
默认值 |
值 |
| login |
string (path) |
是 |
— |
频道用户名 |
| first |
integer |
否 |
20 |
1–100 |
| after |
string |
否 |
— |
分页游标 |
| type |
string |
否 |
ARCHIVE |
ARCHIVE (VODs), HIGHLIGHT, UPLOAD |
| sort |
string |
否 |
TIME |
TIME, VIEWS |
/clips/{slug}
| 参数 |
类型 |
必需 |
描述 |
| slug |
string (path) |
是 |
来自URL的剪辑slug (例如 ProudElatedNostrilPeanu...) |
/search
| 参数 |
类型 |
必需 |
默认值 |
值 |
| query |
string |
是 |
— |
搜索词 |
| type |
string |
否 |
all |
channels, games, all |
响应字段示例
直播流 (Stream) 对象
json
{
"id": "317313813975",
"title": "Valorant Streamer Tourney",
"viewersCount": 65553,
"language": "EN",
"createdAt": "2026-04-04T17:03:49Z",
"previewImageUrl": "https://static-cdn.jtvnw.net/previews-ttv/live_user_jynxzi-440x248.jpg",
"tags": ["FPS", "English"],
"broadcaster": {
"id": "411377640",
"login": "jynxzi",
"displayName": "Jynxzi",
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/..."
},
"game": {
"id": "516575",
"name": "VALORANT"
}
}
频道 (Channel) 对象
json
{
"id": "19571641",
"login": "ninja",
"displayName": "Ninja",
"description": "Just want to make people happy.",
"profileImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/...",
"offlineImageUrl": "https://static-cdn.jtvnw.net/jtv_user_pictures/...",
"createdAt": "2011-01-16T04:31:20Z",
"isAffiliate": false,
"isPartner": true,
"primaryColorHex": "1F69FF",
"stream": null,
"lastBroadcast": {
"title": "PLAYING EVERY MAP",
"startedAt": "2026-04-02T19:07:34Z"
}
}
分页
- 所有列表端点都支持基于游标的分页。
- 要获取下一页,请检查
pagination.hasNextPage 是否为 true,并将 pagination.cursor 作为 after 查询参数传递。
错误代码
| 状态码 |
含义 |
| 200 |
成功 |
| 404 |
资源未找到(频道、游戏或剪辑不存在) |
| 422 |
验证错误(参数值无效) |
| 502 |
上游错误(从Twitch获取数据失败) |
使用提示
- 游戏名称区分大小写:使用
Fortnite, VALORANT, Just Chatting, League of Legends。
- 频道登录名为小写:
ninja, xqc, pokimane。
- 剪辑slug位于Twitch剪辑URL中:
twitch.tv/{channel}/clip/{slug}。
- 当频道离线时,
stream 为 null。
- 预览图像由Twitch CDN每约5分钟刷新一次。
- 在
/streams 上使用 ?language=EN 可仅过滤英语直播流。