Steam 游戏查询 API
Steam 游戏详情、价格、搜索与实时在线人数;配置 ITAD_API_KEY 后附带史低价
数据来源:Steam Web API / IsThereAnyDeal
返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。
查询 Steam 游戏详情与当前价格(配置 ITAD_API_KEY 时附带史低价)
GET /api/steam/app
请求参数
id(必填):Steam AppID,示例730cc:商店地区代码(决定价格货币),例如 cn、us、hk,示例cnl:语言,例如 schinese、tchinese、english,示例schinese
返回字段
id(number):Steam AppIDtype(string):应用类型,上游原样返回。常见值:game 游戏,dlc 追加内容,demo 试玩版,music 原声音乐,video 视频,mod 模组,hardware 硬件name(string):名称(语言由参数 l 决定,没有该语言时为原名)isFree(boolean):是否为本体免费的游戏(如免费游玩的网游)。限时 100% 折扣的游戏这里仍为 false,要看 price.discountPercentshortDescription(string):简短介绍(纯文本,已去掉 HTML 标签,语言由参数 l 决定);没有介绍时为空字符串headerImage(string|null):460×215 头图链接;上游没有时为 nullcapsuleImage(string|null):231×87 小封面图链接;上游没有时为 nullwebsite(string|null):游戏官网链接;开发者未填写时为 nulldevelopers(array):开发商名称(字符串数组),可能为空数组publishers(array):发行商名称(字符串数组),可能为空数组price(object|null):当前地区(参数 cc)的价格;本体免费、尚未发售或该地区不可购买时为 nullprice.currency(string):货币代码(ISO 4217,如 CNY、USD),由参数 cc 决定price.initial(number):原价,单位为货币主单位(人民币即元,不是分),如 298 表示 ¥298.00price.final(number):现价(折后价),单位为货币主单位(人民币即元,不是分),如 178.8 表示 ¥178.80;限时免费时为 0price.discountPercent(number):折扣百分比,0~100 的整数,表示减免的比例(40 表示减 40%,即打六折);0 表示未打折price.initialFormatted(string|null):原价的格式化字符串,带货币符号,如 ¥ 298.00;未打折时 Steam 不给原价文本,此时与 finalFormatted 相同price.finalFormatted(string|null):现价的格式化字符串,带货币符号,如 ¥ 178.80;上游没有给出时为 nullplatforms(object):支持的操作系统;上游没有给出时为空对象 {}platforms.windows(boolean):是否支持 Windowsplatforms.mac(boolean):是否支持 macOSplatforms.linux(boolean):是否支持 Linux / SteamOSmetacritic(number|null):Metacritic 媒体评分(0~100);没有评分时为 nullrecommendations(number|null):Steam 用户评测总数(上游 recommendations.total);没有数据时为 nullgenres(array):游戏类型(字符串数组,语言由参数 l 决定,如 动作、角色扮演),可能为空数组categories(array):功能分类(字符串数组,语言由参数 l 决定,如 单人、多人、Steam 成就),可能为空数组releaseDate(string|null):发行日期,Steam 按语言 l 显示的原文(如 l=schinese 时为 2022 年 2 月 25 日),不是标准日期格式,未发售的游戏可能是"即将推出"之类的文字;上游为空时为 nullcomingSoon(boolean):是否尚未发售:true 为即将推出,false 为已发售screenshots(array):截图原图链接(字符串数组,通常为 1920×1080),最多 8 张,可能为空数组supportedLanguages(string|null):支持的语言,逗号分隔,带 * 的表示有完整音频支持(如 英语*, 简体中文*, 日语*);上游没有给出时为 nullurl(string):Steam 商店页面链接,如 https://store.steampowered.com/app/1245620/
按关键词搜索 Steam 商店
GET /api/steam/search
请求参数
q(必填):搜索关键词,示例艾尔登法环cc:商店地区代码(决定价格货币),例如 cn、us、hk,示例cnl:语言,例如 schinese、tchinese、english,示例schinese
返回字段
total(number):匹配的结果数(上游 total,上游缺失时为 items 的长度)items(array):搜索结果,按 Steam 的相关度排序;没有结果时为空数组items[].type(string):条目类型,上游原样返回,通常为 app(游戏/应用);为 sub 时表示礼包(package)items[].id(number):Steam 数字 ID:type 为 app 时是 AppID,可用于 /api/steam/app 和 /api/steam/playersitems[].name(string):名称(语言由参数 l 决定,没有该语言时为原名)items[].image(string|null):231×87 小封面图链接;上游没有时为 nullitems[].price(object|null):当前地区(参数 cc)的价格;免费游戏或该地区不可购买时为 nullitems[].price.currency(string):货币代码(ISO 4217,如 CNY、USD),由参数 cc 决定items[].price.initial(number):原价,单位为货币主单位(人民币即元,不是分),如 298 表示 ¥298.00items[].price.final(number):现价(折后价),单位为货币主单位(人民币即元,不是分),如 178.8 表示 ¥178.80items[].metascore(number|null):Metacritic 媒体评分(0~100);没有评分时为 nullitems[].platforms(object):支持的操作系统;上游没有给出时为空对象 {}items[].platforms.windows(boolean):是否支持 Windowsitems[].platforms.mac(boolean):是否支持 macOSitems[].platforms.linux(boolean):是否支持 Linux / SteamOSitems[].url(string):Steam 商店页面链接:type 为 sub 时是 /sub/<id>/,其余为 /app/<id>/
查询 Steam 游戏当前在线人数
GET /api/steam/players
请求参数
id(必填):Steam AppID,示例570
返回字段
id(number):查询的 Steam AppID(即请求参数 id)players(number):当前在线人数(Steam 官方实时统计;本接口缓存 1 分钟)