开放接口
站点的数据通过只读 JSON 接口提供。API 访问仅通过邮件逐项授权,未获许可的调用属于违规;授权后的返回内容与网页展示同源。
快速开始
curl -H "Authorization: Bearer <your-key>" \ "https://cybercredit.org/api/score/steam/76561198000000900?lang=en"
响应示例(节选)
{
"game": { "slug": "steam", "name": "Steam Account", "modelVersion": "steam@1.0.0" },
"score": 96,
"band": { "key": "excellent", "label": "No issues found" },
"coverage": 1,
"source": "live",
"dimensions": [
{ "key": "bans", "label": "Ban record", "weight": 40, "score": 100,
"reasons": ["No bans found"] }
]
}端点
GET/api/games
游戏目录、评分维度与权重。
GET/api/score/{game}/{id}
单个账号的评分、区间、覆盖率与逐维度理由。
GET/api/health
存活探针,只返回服务状态,不含配置信息。
GET/openapi.json
OpenAPI 3.1 描述,可导入 Postman、生成客户端。
查询参数
lang响应语言:zh(默认)或 en。
refresh设为 1 强制回源刷新,会计入限流。
history设为 1 时返回该账号的永久评分历史(最近 20 条,新→旧)。
评分响应字段
score0–100 的整数;可用数据不足一半时为 null。
band{ key, label },分数区间。
rawScore封顶前的加权原始分。
cappedBy触发总分封顶的原因(如 VAC 封禁);未封顶为 null。
coverage0–1,可用维度权重占比。
account.steamrepSteamRep 2024 存档标记;banned 会把总分封顶在 30。
dimensions[]每个维度的 key、label、weight、score 与 reasons;score 为 null 表示该维度无数据。
sourcelive 或 demo。demo 表示演示数据,必须明确标注。
warnings[]降级原因码,例如 steam_key_missing。
cached本次是否命中缓存。
fetchedAt数据抓取时间(ISO 8601)。
history[]仅在 ?history=1 时出现;永久评分快照,新→旧。
lang本次响应的语言。
错误响应
400 INVALID_ID账号 ID 格式不合法。
404 GAME_NOT_FOUND没有这个游戏。
404 NOT_FOUND账号不存在或没有公开数据。
409 MODEL_NOT_READY该游戏的评分模型尚未上线。
429 RATE_LIMITED新查询超过限流,响应头带 Retry-After。
502 UPSTREAM上游数据源暂时不可用。
使用限制与约定
- 限流:每个 IP 每分钟最多 10 次“新查询”;已缓存账号的读取不计入。
- 鉴权:所有数据接口(games / score / health)要求 `Authorization: Bearer <key>` 或 `X-API-Key`;未授权返回 401。Key 仅通过邮件 cybercreditc@outlook.com 申请,逐项授权;未获许可的调用、自动化抓取或批量请求均属违规。
- 人机验证:网页查询表单需要 Turnstile;API 以 Key 鉴权,不额外要求 Turnstile。
- CORS:响应带 Access-Control-Allow-Origin: *,浏览器可直接调用。
- 演示数据:source 为 demo 时必须标注为演示数据,不能当作真实结论。
- 署名:公开使用或转载时请注明来源 CyberCredit,并保留原始链接。
OpenAPI 描述
机器可读的接口定义,供 Postman / 代码生成器导入。它是文件,不适合在浏览器里直接阅读,请下载后使用。
下载 OpenAPI 描述
/openapi.json