Skip to main content
GET/v1/liquidity/:marketHashNamePRO+

流动性与预计售出时间

饰品的流动性与预计售出时间,依据跨市场挂单深度与成交速度计算。返回流动性徽章、售出时间的中位数与 p90、最适合上架的市场,以及按市场的拆分。价格为整数美分;时间单位为小时。

回答一件饰品能多快卖出、在哪里卖。liquidityBadge(从 EXTREMELY_LIQUID 到 EXTREMELY_ILLIQUID 共六档;证据不足以估算时为 INSUFFICIENT_DATA,这并不等于没有交易)以及 medianTimeToSellHours / p90TimeToSellHours 依据跨市场挂单深度与成交速度得出;bestMarketToList 是成交最快的市场。传入 askPrice 可按假设的上架价格估算。

marketWide* 字段是全市场的饱和度视角(按整体成交速度消化全部供给所需的时间),而不是单件挂单的售出时间。metrics[] 拆分每个已覆盖的市场;notes[] 标记过期的输入。只要精简的徽章数据时用 summary 配套接口;要一次评估多件饰品时用 batch 配套接口。

参数

marketHashNamestring必填
路径段。URL 编码的 market_hash_name。
askPriceinteger可选
查询参数。用于估算的假设在售价(美分)。默认使用各市场当前的最优在售价。
marketstring可选
查询参数。限定为单个市场:skinport | marketcsgo | dmarket | csfloat | steamcommunity。

响应字段

LiquidityResponse饰品的流动性与预计售出时间。时间单位为小时,价格为美分。
canonicalItemIdstring
规范饰品 id。
marketHashNamestring
Market hash name。
liquidityBadgestring
EXTREMELY_LIQUID | VERY_LIQUID | LIQUID | ILLIQUID | VERY_ILLIQUID | EXTREMELY_ILLIQUID;没有可支撑的估算时为 INSUFFICIENT_DATA(此时售出时间字段为 null)。INSUFFICIENT_DATA 并不表示零交易。较早缓存的响应可能仍带有旧值 UNTRADED。
confidencestring
HIGH | MEDIUM | LOW | CRITICAL。
coveragestring
full | partial | none 市场覆盖度。
medianTimeToSellHoursnumbernullable
在最佳市场上的售出时间中位数。
p90TimeToSellHoursnumbernullable
在最佳市场上的售出时间 p90。
bestMarketToListstringnullable
预计售出时间最短的市场。
salesPerDaynumbernullable
最佳市场上的每日成交量(滚动 24 小时)。
activeListingsintegernullable
最佳市场上的有效挂单数。
referenceAskUsdCentsintegernullable
估算所假设的在售价。
marketWideSalesPerDaynumbernullable
各已覆盖市场的每日成交量合计。
marketWideListingsintegernullable
各已覆盖市场的有效挂单合计。
marketsWithSalesinteger
成交速度为正的已覆盖市场数。
marketsWithDepthinteger
有正供给的已覆盖市场数。
marketWideMedianTimeToSellHoursnumbernullable
消化整个跨市场供给所需的时间(饱和度指数)。
marketWideP90TimeToSellHoursnumbernullable
饱和度指数的 p90。
按市场的拆分。
notesstring[]
数据质量标志,例如 sales_data_stale:marketcsgo。
calculatedAtstring (date-time)
计算时间。

嵌套与共享结构链接到 API 对象 参考页。

错误

404饰品不存在。
401缺少 Authorization 头、认证方案不支持,或密钥未知、未激活、已过期、已吊销。
403密钥有效,但订阅未激活/已过期,或套餐不含此接口。
429超出速率限制;见 Retry-After 与 X-RateLimit-* 响应头。配额按账号合并计算,所有密钥共享。
5xx上游快照不可用或服务端问题。请退避后重试。

配套接口

GET/v1/liquidity/summary/:marketHashName

同一模型的精简徽章视图:liquidityBadge、小写的 liquidity 标签、便于阅读的 estimatedSaleTime、confidence,以及 0 到 100 的 score。为快速查询而设计。

完整参考 →
POST/v1/liquidity/batch

一次调用评估最多 100 件饰品。POST 一个 marketHashNames[] 请求体;返回 results[](完整的流动性结构)以及未收录名称组成的 notFound[]。返回 200。

完整参考 →
GET/v1/liquidity/items

Enterprise:全目录流动性映射(market_hash_name 到徽章、标签、评分与最佳市场),每 10 分钟重新生成一次。携带上一个版本发送 If-None-Match 可获得 304;首个快照生成之前返回 503。

完整参考 →
GET/v1/liquidity/items/manifest

Enterprise:批量映射的低成本变更探测,只返回 { version, calculatedAt, cadence, markets, itemCount }。重新拉取完整映射前,先把 version 与你缓存的副本比较。

完整参考 →

使用此端点的指南(英文)

export SKINPRICER_API_KEY="sp_live_•••"

curl "https://pricing.skinpricer.com/v1/liquidity/AK-47%20%7C%20Redline%20(Field-Tested)" \
  -H "Authorization: ApiKey $SKINPRICER_API_KEY"
// npm i @skinpricer/sdk
import { SkinpricerClient } from "@skinpricer/sdk";

const client = new SkinpricerClient({
  apiKey: process.env.SKINPRICER_API_KEY!,
  authScheme: "ApiKey",
});

const liq = await client.liquidity.get("AK-47 | Redline (Field-Tested)");
console.log(liq.liquidityBadge, liq.medianTimeToSellHours ?? "not enough sales", "h median");
import os
import requests

res = requests.get(
    "https://pricing.skinpricer.com/v1/liquidity/AK-47%20%7C%20Redline%20(Field-Tested)",
    headers={"Authorization": f"ApiKey {os.environ['SKINPRICER_API_KEY']}"},
    timeout=10,
)
res.raise_for_status()
print(res.json())

需要认证的接口:请在你自己的客户端中携带 API 密钥调用(见代码示例)。

响应 200
{
  "canonicalItemId": "cmlofca920lka01yozajhixt3",
  "marketHashName": "Glock-18 | Water Elemental (Factory New)",
  "liquidityBadge": "VERY_ILLIQUID",
  "confidence": "LOW",
  "coverage": "full",
  "medianTimeToSellHours": 244.92,
  "p90TimeToSellHours": 273.19,
  "bestMarketToList": "csfloat",
  "salesPerDay": 13,
  "activeListings": 132,
  "referenceAskUsdCents": 6500,
  "marketWideSalesPerDay": 20,
  "marketWideListings": 233,
  "marketsWithSales": 3,
  "marketsWithDepth": 3,
  "marketWideMedianTimeToSellHours": 280.4,
  "marketWideP90TimeToSellHours": 304.57,
  "metrics": [
    {
      "market": "skinport",
      "salesPerDay": 3,
      "activeListings": 40,
      "bestAskUsdCents": 6516,
      "medianTimeToSellHours": 325.34,
      "p90TimeToSellHours": 395.1,
      "salesDataAgeMinutes": 7,
      "listingsDataAgeMinutes": 15
    }
  ],
  "notes": [
    "no_sales_data:dmarket",
    "sales_data_stale:csfloat",
    "sales_data_stale:marketcsgo",
    "thin_sales:marketcsgo",
    "thin_sales:skinport"
  ],
  "calculatedAt": "2026-06-23T22:07:16.813Z"
}
响应头
X-RateLimit-Limit: <每分钟配额,由套餐决定>
X-RateLimit-Remaining: <本分钟剩余次数>
X-RateLimit-Reset: <距重置的秒数>
X-RateLimit-Remaining-Month: <本月剩余次数,仅限有月度上限的套餐>
X-Request-ID: req_xxxxxxxxxxxxxxxx

使用与许可

API 及其数据的使用受我们的服务条款(英文)约束:不得转售或再分发数据,不得用于构建竞争性服务, 不得超出套餐的速率限制;在条款允许展示数据的场景下须注明数据来源为 SkinPricer。滥用行为可能被限流或封禁。