游戏限免汇总 API

汇总 Epic、Steam、GOG 当前可免费领取的游戏

数据来源:Epic / Steam / GOG

返回统一的 JSON 格式 { code, message, cached, stale, updatedAt, data },支持跨域,免注册每天可免费调用 100 次,注册后每天 10000 次。

汇总各平台当前限免游戏(某个平台失败时返回其余平台数据,并在 errors 中说明)

GET /api/games/free

请求参数

  • platform:只看指定平台,逗号分隔:epic,steam,gog;不填为全部,示例 epic,steam

返回字段

  • items(array):各平台当前可免费领取的游戏。按 platform 参数的平台顺序拼接(默认 epic、steam、gog),同一平台内保持该平台接口的原顺序。某个平台失败时不含该平台的条目
  • items[].id(string):全局唯一 ID,可用于推送去重。格式:Epic 为 epic:<商品 ID>,Steam 为 steam:<app|sub|bundle>:<数字 ID>(如 steam:app:1172470),GOG 为 gog:<商品 ID>
  • items[].platform(string):来源平台:epic 表示 Epic Games Store,steam 表示 Steam,gog 表示 GOG
  • items[].title(string|null):游戏名称(各平台均按简体中文获取,没有中文名的游戏为原名);Steam 搜索结果里缺少标题时为 null
  • items[].url(string):该平台的商店页面链接
  • items[].image(string|null):封面图链接。Epic 优先横版、没有则竖版;Steam 游戏为 460×215 头图,礼包为 120×45 小图;GOG 优先横版、没有则竖版。平台没有提供图片时为 null
  • items[].originalPrice(string|null):原价,平台格式化好的字符串,带货币符号。本接口固定按中国区人民币查询,各平台写法略有不同:Epic 如 ¥88.00,Steam 如 ¥ 58.00(符号后有空格),GOG 如 ¥68.00。平台没有给出原价时为 null
  • items[].endDate(string|null):免费截止时间,ISO 8601,UTC(如 2026-09-24T15:00:00.000Z)。Epic 总是有值;Steam 只有同时出现在首页精选特惠里的条目才有值,否则为 null;GOG 不提供截止时间,始终为 null
  • errors(array):获取失败的平台,全部成功时为空数组。只要还有平台成功就返回 200;所有平台都失败时整个接口返回 502
  • errors[].platform(string):失败的平台:epic / steam / gog
  • errors[].status(number):失败原因对应的 HTTP 状态码:502 表示上游请求失败或返回格式无法识别,504 表示上游响应超时,500 表示其他未知错误
  • errors[].message(string):中文错误说明,如"上游返回 HTTP 503"