社交内容 · 数据 API

Twitch

Twitch API

从频道资料、在播内容和 Clip 短片观察 Twitch,区分主播与剪辑者、累计观看次数与在看人数,按游戏或其他分类整理直播内容。 调用 POST /api/v1/social ;返回结构化 JSON,$1.39 / 千次;失败不计费。

6

个能力

$1.39 / 千次

能力价格

同步

调用模式

1 个

一把 Key 通用 89 个平台

Twitch 能力清单

action必填参数可选参数单次条数模式单价返回字段
searchkeyword—默认 10 · 最多 30同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · banner_url · follower_count · is_partner · is_affiliate · is_live · current_viewers · stream_title · current_game · stream_started_at · last_broadcast_title · last_broadcast_game · last_broadcast_at · created_at · platform
profileusernameinclude_clips, include_videos—同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · banner_url · follower_count · is_partner · is_affiliate · is_live · current_viewers · stream_title · current_game · stream_started_at · last_broadcast_title · last_broadcast_game · last_broadcast_at · created_at · recent_videos · top_clips · platform
clipsusernameperiod默认 10 · 最多 30同步$1.39 / 千次id · title · url · view_count · duration_seconds · game · channel_username · channel_name · curator_username · curator_name · thumbnail_url · created_at · platform
streamsgame—默认 10 · 最多 30同步$1.39 / 千次stream_id · username · display_name · follower_count · title · viewer_count · game · started_at · url · avatar_url · platform
top_streams——默认 10 · 最多 30同步$1.39 / 千次stream_id · username · display_name · follower_count · title · viewer_count · game · started_at · url · avatar_url · platform
top_games——默认 10 · 最多 200同步$1.39 / 千次id · name · viewer_count · broadcaster_count · box_art_url · url · platform

Twitch 每个接口分别做什么

下面逐个解释 action、必填参数、可选筛选项和允许值。 请求都发到 POST /api/v1/social, 切换 action 时,也要按对应接口调整参数。 同名参数在不同平台、不同接口中可能指向不同对象;请以该条说明中的格式和适用范围为准。

下方只展示平台官方资料,用于核对对象与术语,不表示平台对 EveryInfra 的授权或背书。 本接口接受的参数、字段与能力边界以各条说明为准,不与平台官方 API 直接等同。

怎么调用 Twitch 主页或对象详情 API?

profile

使用 platform="twitch"、action="profile" 调用“主页或对象详情”能力;返回单个对象,主要包含 user_id、username、display_name、bio、url、avatar_url 等 22 个字段。

Twitch profile 的参数分别是什么意思?

username必填
profile / clips 的 Twitch 频道登录短名,可带 @,不解析完整 twitch.tv URL。

Twitch 官方分别定义 login、display_name 与 broadcaster_type。这里 username 应使用频道短名,不把显示名或 Partner/Affiliate 类型当作登录凭据;官方用户查询支持的其他参数不自动加入本接口。官方来源:Twitch:登录名、显示名与主播类型来源核查:

include_clips可选
profile 是否附带精选短片信息,布尔值,默认 true;与独立 clips 接口的时间窗不同。
include_videos可选
profile 是否附带近期录像信息,布尔值,默认 true;设 false 可不读取此部分,不能传字符串 "false"。
Twitch 特有返回字段与含义(11)
is_live
当前是否在播。
is_partner
是否为 Twitch 合作伙伴(最高档认证)。
is_affiliate
是否为 Affiliate(初级变现资格,低于 Partner 一档)。
current_game
当前直播的游戏。
current_viewers
当前观看人数。
stream_title
直播标题。
stream_started_at
本场开播时间。
last_broadcast_at
最近一次开播时间。判断主播是否活跃/停更的关键字段。
last_broadcast_title
最近直播标题。
last_broadcast_game
最近直播的游戏。
banner_url
频道横幅。

怎么调用 Twitch 直播切片 API?

clips

使用 platform="twitch"、action="clips" 调用“直播切片”能力;返回列表,默认 10 条、单次最多 30 条,主要包含 id、title、url、view_count、duration_seconds、game 等 13 个字段。

官方 Clip 文档把 broadcaster 与 creator 分开,并将 view_count 定义为短片观看次数、duration 定义为秒。这里只核对术语,不复制官方起止日期、游标或创建短片参数。官方来源:Twitch:Clip 的创建者、来源频道与播放次数来源核查:

Twitch clips 的参数分别是什么意思?

username必填
profile / clips 的 Twitch 频道登录短名,可带 @,不解析完整 twitch.tv URL。
period可选
clips 的时间窗:LAST_DAY 最近一天、LAST_WEEK 最近一周(默认)、LAST_MONTH 最近一月、ALL_TIME 不限;大小写会归一,非法值回落 LAST_WEEK。
Twitch 特有返回字段与含义(5)
channel_name
频道名。
channel_username
频道用户名。
game
游戏名。
curator_name
剪辑者昵称。
curator_username
剪辑者用户名(Clip 由观众剪出)。

怎么调用 Twitch 直播列表 API?

streams

使用 platform="twitch"、action="streams" 调用“直播列表”能力;返回列表,默认 10 条、单次最多 30 条,主要包含 stream_id、username、display_name、follower_count、title、viewer_count 等 11 个字段。

Twitch streams 的参数分别是什么意思?

game必填
streams 的精确 Twitch 分类名称,例如 Just Chatting;返回该分类正在直播的频道,不是该游戏的历史录像。

官方直播文档区分分类、频道与本场直播,并将 viewer_count 解释为正在观看直播的用户数。它不是 Clip 播放次数、粉丝数或历史总观看;官方 game_id 参数也不替代本页要求的分类名称。官方来源:Twitch:直播所属分类与当前观看人数来源核查:

Twitch 特有返回字段与含义(4)
game
游戏名。
viewer_count
观看人数。
stream_id
本场直播 ID。
started_at
开始时间。

怎么调用 Twitch 热门直播 API?

top_streams

使用 platform="twitch"、action="top_streams" 调用“热门直播”能力;返回列表,默认 10 条、单次最多 30 条,主要包含 stream_id、username、display_name、follower_count、title、viewer_count 等 11 个字段。

Twitch 官方 Get Streams 返回当前直播,并按 viewer_count 从高到低排列;viewer_count 是本场直播当前观看人数,不是累计播放、粉丝数或历史峰值。EveryInfra 的数量、分页和刷新时间仍以自身契约为准。官方来源:Twitch API:直播列表按当前观看人数排序来源核查:

这个能力没有业务参数,只传 platform 与 action。

Twitch 特有返回字段与含义(4)
game
游戏名。
viewer_count
观看人数。
stream_id
本场直播 ID。
started_at
开始时间。

怎么调用 Twitch 热门游戏 API?

top_games

使用 platform="twitch"、action="top_games" 调用“热门游戏”能力;返回列表,默认 10 条、单次最多 200 条,主要包含 id、name、viewer_count、broadcaster_count、box_art_url、url 等 7 个字段。

Twitch 官方 Get Top Games 返回平台直播分类,并按观看该分类直播的观众数量排序;它不是销量榜、游戏评分或长期热度排名,也不证明 EveryInfra 的固定数量或完整分页。官方来源:Twitch API:Top Games 的直播热度顺序来源核查:

这个能力没有业务参数,只传 platform 与 action。

Twitch 特有返回字段与含义(3)
viewer_count
观看人数。
broadcaster_count
主播数量(游戏维度统计用)。
box_art_url
游戏封面图。
Twitch search 调用流程一次 Twitch search 调用的全过程:向 POST /api/v1/social 发送 platform="twitch"、action="search",以及必填参数 keyword;返回结构化 JSON,含 user_id、username、display_name、bio、url 等字段;返回列表,单次最多 30 条,计费 $1.39 / 千次,失败与空结果不计费。1 · 请求POST /api/v1/socialplatform: "twitch"action: "search"keywordEveryInfra$1.39 / 千次2 · 响应 · 列表user_idusernamedisplay_namebiourl
一次 Twitch search 调用的全过程:向 POST /api/v1/social 发送 platform="twitch"、action="search",以及必填参数 keyword;返回结构化 JSON,含 user_id、username、display_name、bio、url 等字段;返回列表,单次最多 30 条,计费 $1.39 / 千次,失败与空结果不计费。

Twitch 原始字段名

EveryInfra 统一字段名

左边是 Twitch 数据里原本的字段名,右边是我们统一后的。点任意一行看对应关系。89 个平台复用通用字段命名,减少重复适配; 切换平台仍需核对参数、字段集合、类型与空值含义。这里展示映射关系,不是目标的实时返回数据。

Twitch 的独有字段名(当前目录)

全站 89 个平台的当前目录中,这 17 个字段名只在 Twitch 出现。 这是字段命名的分布,不代表其他平台没有同类信息,也不保证每次响应都含这些字段;具体含义和返回条件仍需逐接口核对。

  • is_partner
  • is_affiliate
  • current_viewers
  • stream_title
  • current_game
  • stream_started_at
  • last_broadcast_title
  • last_broadcast_game
  • last_broadcast_at
  • top_clips
  • game
  • curator_username
  • curator_name
  • stream_id
  • viewer_count
  • broadcaster_count
  • box_art_url

返回字段含义

通用字段采用统一命名;切换平台时仍需核对目标格式、字段是否存在、类型、空值与平台特有含义。 机器可读版:/api/v1/social/fields

user_id
用户在原平台的唯一 ID。
username
用户名(@handle)。
display_name
显示名,可能与 username 不同。
bio
个人简介,账号自己填写的文本。可能含换行和 emoji。
url
该记录在原平台上的可访问链接。
avatar_url
头像图片链接。部分平台给的是带尺寸参数的 CDN 链接,可能有时效。
banner_url
频道横幅。
follower_count
粉丝数。null 表示不公开,不等于 0。
is_partner
是否为 Twitch 合作伙伴(最高档认证)。
is_affiliate
是否为 Affiliate(初级变现资格,低于 Partner 一档)。
is_live
当前是否在播。
current_viewers
当前观看人数。
stream_title
直播标题。
current_game
当前直播的游戏。
stream_started_at
本场开播时间。
last_broadcast_title
最近直播标题。
last_broadcast_game
最近直播的游戏。
last_broadcast_at
最近一次开播时间。判断主播是否活跃/停更的关键字段。
created_at
创建时间,格式同 posted_at。
platform
数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
id
该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
title
标题。平台无标题概念时(如纯文本帖)为 null。
view_count
浏览/播放数。null 表示不公开,不等于 0。
duration_seconds
时长,单位秒。非视频/音频内容为 null。
game
游戏名。
channel_username
频道用户名。
channel_name
频道名。
curator_username
剪辑者用户名(Clip 由观众剪出)。
curator_name
剪辑者昵称。
thumbnail_url
缩略图链接,分辨率低于 image_url。
stream_id
本场直播 ID。
viewer_count
观看人数。
started_at
开始时间。
name
名称。用于账号/商品/商家类能力,指该对象本身的名字。
broadcaster_count
主播数量(游戏维度统计用)。
box_art_url
游戏封面图。

当前目录另列出 recent_videos · top_clips,这些字段尚无逐项释义;请先核对 Twitch 对应接口的用例与实际响应,不按字段名猜测类型或含义。

请求填写示例

这里使用频道检索词;直播状态与视频列表不等同于搜索结果。

以下为填写格式示意,并非成功调用记录。请替换 API Key 和尖括号中的目标,确认可选筛选项后再调用;示例不保证目标当前有数据。

twitch_search.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer omg_你的KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"twitch","action":"search","params":{"keyword":"chess"}}'

记录字段预览(非真实响应)

仅展示 search 的记录字段,不包含外层响应、计费或任务状态。null 只作展示占位,不表示字段类型或实际空值;完整响应须以接口文档与实际调用为准。

fields.preview.json
{
  "user_id": null,
  "username": null,
  "display_name": null,
  "bio": null,
  "url": null,
  "avatar_url": null,
  "banner_url": null,
  "follower_count": null,
  "is_partner": null,
  "is_affiliate": null,
  "is_live": null,
  "current_viewers": null,
  "stream_title": null,
  "current_game": null,
  "stream_started_at": null,
  "last_broadcast_title": null,
  "last_broadcast_game": null,
  "last_broadcast_at": null,
  "created_at": null,
  "platform": null
}

常见用例

以下是基于现有接口的接入思路,不是开箱即用的分析或告警功能。字段以实际返回为准,缺失值不按零处理。

按 Twitch 频道关键词寻找主播候选

用 search 找频道,而不是搜索历史录像或直播聊天记录。

查看 search 的 keyword 参数 →
  • keyword 是频道检索词;返回 user_id、username、display_name 与 url 后核对身份,username 是登录短名而不是密码或显示昵称。需要某个游戏分类的在播频道时,应另用 streams。
  • is_live / current_viewers / current_game 描述取得时的状态,last_broadcast_at 是另一项最近直播信息;离线时不能把旧标题当成当前直播。is_partner、is_affiliate 和 follower_count 也不等于观看人数或活跃聊天人数。

核对 Twitch 频道状态,并区分录像和精选短片开关

用 profile 看一个频道,不把 VOD、Clip 和正在直播当成同一内容。

查看 profile 的 include_videos 参数 →
  • username 填频道登录短名,可带 @,不填完整 twitch.tv 链接。include_videos / include_clips 是布尔值,默认 true;要关闭应传 false 而不是字符串 false,前者控制近期录像,后者控制精选短片。
  • current_viewers、stream_started_at 与 last_broadcast_at 分开记录。当前字段列表未列出近期录像与精选短片的嵌套字段,不能将 include_videos 与 include_clips 解释为保证取得完整历史 VOD;需要按时间窗查短片时使用独立 clips。

按频道和时间窗读取 Twitch Clip,区分主播与剪辑者

用 clips 整理已存在的短片,不把短片播放次数当作直播在线人数。

查看 clips 的 period 参数 →
  • username 填频道短名;period 可按文档填 LAST_DAY、LAST_WEEK、LAST_MONTH、ALL_TIME,默认 LAST_WEEK,大小写会归一,非法值回落默认。本接口没有任意起止日期、创建短片或下载视频的操作。
  • channel_username / channel_name 是被剪辑的频道,curator_username / curator_name 是创建短片的人,二者可能不同;duration_seconds 是秒,view_count 是短片被观看的次数。url 指向短片页面,不保证原始 VOD 仍然存在。

按 Twitch 精确分类名查正在直播的频道

用 streams 观察一个游戏或非游戏分类的当前在播内容。

查看 streams 的 game 参数 →
  • game 是精确分类名称,例如 Just Chatting,不是任意直播标题关键词,也不填分类数字 ID。keyword 只是低优先级兼容字段,公开必填项仍是 game;不由这一步读取历史录像。
  • stream_id 标识本场直播,username 标识频道;viewer_count 是取得时的在看人数,started_at 是开播时间,follower_count 是频道关注数。直播列表会变化,本接口没有保证完整快照或逐观众身份名单。

查看 Twitch 热门在播频道的当前截面

用 top_streams 获取热门直播候选,不把一次列表当成全天收视榜。

查看 top_streams 接口说明 →
  • top_streams 不需要指定频道或游戏;返回 stream_id、username、game 与 url 描述具体在播内容。它不是全站历史直播搜索,也不是长期保持不变的频道排名。
  • viewer_count 是当前观看人数,started_at 是该场开播时刻;不同时间取得的记录不应直接相加为独立观众。这个 action 没有历史峰值、平均观看、直播收入或聊天记录字段。

用 Twitch 热门分类判断直播数量与观看规模

用 top_games 看分类层面,而不是把结果中的 ID 当主播 ID。

查看 top_games 接口说明 →
  • top_games 不需要指定频道或游戏;id / name 对应游戏或分类,不只包含传统电子游戏。要进一步查看某分类的在播频道,将 name 传给 streams 的 game,而不是直接传 id。
  • viewer_count 是分类观看人数,broadcaster_count 是该分类的主播数,box_art_url 是分类封面;这里没有市场销量、游戏玩家总数或历史热度曲线。排序和计数只按取得时结果使用,不承诺全量分类覆盖。

Twitch API 常见问题

Twitch API 怎么调用?

调用 POST /api/v1/social,请求体传 platform="twitch"、action 和 params。以 search 为例,必填 keyword,没有可选参数。这里使用频道检索词;直播状态与视频列表不等同于搜索结果。 Twitch 共 6 个 action,鉴权用 Authorization: Bearer <API Key>,同一把 Key 通 89 个平台。

Twitch API 怎么收费?

$1.39 / 千次,Twitch 全部 6 个能力同价。按本页最高能力单价、每次单目标估算,$1 免费额度约可用于 719 次 Twitch 调用。费用按所选能力与目标数量计算,多目标请求不要按单目标估算;参数错误、鉴权失败和空结果不计费。

Twitch API 一次能返回多少条数据?

Twitch 有 5 个列表接口,包括 search、clips、streams、top_streams、top_games。其余 1 个接口返回单个对象;对象内仍可能包含数组。数量参数要逐接口区分目标数、页数和记录数,不能将目录数值直接当作保证返回的条数;具体限制见对应参数与用例,不保证完整历史。

Twitch API 返回哪些字段?

当前目录为 search 列出 user_id、username、display_name、bio、url、avatar_url 等 20 个字段名。按全站当前目录统计,17 个字段名只在 Twitch 出现;这不表示其他平台没有同类信息。字段不保证每次齐全,嵌套位置、类型与空值须按各接口说明核对,同名字段不代表语义可互换。

「按 Twitch 频道关键词寻找主播候选」怎样接入 Twitch API?

用 search 找频道,而不是搜索历史录像或直播聊天记录。 keyword 是频道检索词;返回 user_id、username、display_name 与 url 后核对身份,username 是登录短名而不是密码或显示昵称。需要某个游戏分类的在播频道时,应另用 streams。 is_live / current_viewers / current_game 描述取得时的状态,last_broadcast_at 是另一项最近直播信息;离线时不能把旧标题当成当前直播。is_partner、is_affiliate 和 follower_count 也不等于观看人数或活跃聊天人数。

「核对 Twitch 频道状态,并区分录像和精选短片开关」怎样接入 Twitch API?

用 profile 看一个频道,不把 VOD、Clip 和正在直播当成同一内容。 username 填频道登录短名,可带 @,不填完整 twitch.tv 链接。include_videos / include_clips 是布尔值,默认 true;要关闭应传 false 而不是字符串 false,前者控制近期录像,后者控制精选短片。 current_viewers、stream_started_at 与 last_broadcast_at 分开记录。当前字段列表未列出近期录像与精选短片的嵌套字段,不能将 include_videos 与 include_clips 解释为保证取得完整历史 VOD;需要按时间窗查短片时使用独立 clips。

「按频道和时间窗读取 Twitch Clip,区分主播与剪辑者」怎样接入 Twitch API?

用 clips 整理已存在的短片,不把短片播放次数当作直播在线人数。 username 填频道短名;period 可按文档填 LAST_DAY、LAST_WEEK、LAST_MONTH、ALL_TIME,默认 LAST_WEEK,大小写会归一,非法值回落默认。本接口没有任意起止日期、创建短片或下载视频的操作。 channel_username / channel_name 是被剪辑的频道,curator_username / curator_name 是创建短片的人,二者可能不同;duration_seconds 是秒,view_count 是短片被观看的次数。url 指向短片页面,不保证原始 VOD 仍然存在。

「按 Twitch 精确分类名查正在直播的频道」怎样接入 Twitch API?

用 streams 观察一个游戏或非游戏分类的当前在播内容。 game 是精确分类名称,例如 Just Chatting,不是任意直播标题关键词,也不填分类数字 ID。keyword 只是低优先级兼容字段,公开必填项仍是 game;不由这一步读取历史录像。 stream_id 标识本场直播,username 标识频道;viewer_count 是取得时的在看人数,started_at 是开播时间,follower_count 是频道关注数。直播列表会变化,本接口没有保证完整快照或逐观众身份名单。

可以先免费试用 Twitch API 吗?

可以。注册免费,加微信领邀请码可得 $1 免费额度(≈720 次数据调用)。请先选择 Twitch 的目标接口,用单目标请求核对结果;实际可调用次数取决于能力价格与目标数量,不保证覆盖全部 6 个能力。无需信用卡。

开始调用 Twitch API

加微信领 $1 免费额度,先选一个 Twitch 接口验证结果。实际可调用次数取决于能力价格与目标数量。

免费开始