GET/v1/markets/health公开 · 无需密钥
市场健康状态
所有已接入市场的公开(无需密钥)健康状态:状态(live | warn | stale)、最后事件时间、挂单数,以及 48 桶健康条序列(48 × 30 分钟桶,约 24 小时;2 = 正常,1 = 降级,0 = 宕机)。id 是市场的关联键。
唯一完全公开、无需密钥的价格数据接口。返回每个已接入市场的 status(live / warn / stale)、listingsCount,以及用于绘制近期摄取健康走势的 healthBars 序列:48 个 30 分钟分桶(约 24 小时),最新在末尾,2 = 正常、1 = 降级、0 = 宕机。
id 是关联键:在其他接口的 markets CSV 中传入它即可把响应限定到特定平台。
listingsCount 只统计在该市场最长时效内(1 小时;steamcommunity 为 6 小时)的挂单,与价格和 NBBO 剔除报价的界限相同。抓取暂停的市场会报告 0,而不是最后已知的库存。/v2/markets/health?game=rust 上的 Rust 行仍统计 48 小时内观察到的库存。
参数
无查询参数。
响应字段
MarketHealth[]数组,每个已接入市场一条。无需密钥。
idstring
市场 id。其他接口的关联键。statusstring
live | warn | stale。lastEventAtstring (date-time)nullable
最后摄取事件;尚无事件时为 null。listingsCountinteger
在该市场最长时效内(1 小时;steamcommunity 为 6 小时)抓取的挂单数。没有这么新的挂单时为 0,例如该市场抓取暂停期间。freshnessCoveragePctintegernullable
该市场所返回挂单行中,在其预期刷新窗口内完成刷新的比例(0 到 100)。没有返回任何行时为 null。与只跟踪摄取心跳的 status 互为补充。healthBarsinteger[]
48 个 30 分钟分桶(约 24 小时),最新在末尾。图例:2 = 正常、1 = 降级、0 = 宕机。错误
429超出公开接口速率限制(按浏览器账号或 IP 身份计)。
5xx健康快照暂时不可用,请退避后重试。
使用此端点的指南(英文)
curl "https://api.skinpricer.com/v1/markets/health"// npm i @skinpricer/sdk
import { SkinpricerClient } from "@skinpricer/sdk";
const client = new SkinpricerClient({
apiKey: process.env.SKINPRICER_API_KEY!,
authScheme: "ApiKey",
});
const rows = await client.markets.health(); // keyless route
for (const m of rows) console.log(m.id, m.status);import requests
res = requests.get(
"https://api.skinpricer.com/v1/markets/health",
timeout=10,
)
res.raise_for_status()
print(res.json())响应 200
[
{
"id": "skinport",
"status": "live",
"lastEventAt": "2026-06-23T22:01:03.281Z",
"listingsCount": 3522487,
"freshnessCoveragePct": 100,
"healthBars": [
2,
2,
2,
2,
2,
2,
2,
2
]
}
]