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

Liquidity Summary

A slim, badge-only projection of the liquidity model: a liquidityBadge, a lowercase liquidity label, a human estimatedSaleTime, confidence, and a 0 to 100 score. Built for quick lookups and badges. Prices are integer USD cents.

The same cross-market model as liquidity, projected to a slim badge-friendly shape: a liquidityBadge, a lowercase liquidity label, a human estimatedSaleTime, and a 0 to 100 score (null when untraded). Use it for list badges and quick lookups where the full breakdown is overkill.

Parameters

marketHashNamestringrequired
Path segment. URL-encoded market_hash_name.
askPriceintegeroptional
Query. Hypothetical ask price in USD cents to estimate against. Defaults to the current best ask.
marketstringoptional
Query. Restrict to one market: skinport | marketcsgo | dmarket | csfloat | steamcommunity.

Response fields

LiquiditySummarySlim liquidity badge view for an item.
marketHashNamestring
Market hash name.
liquidityBadgestring
EXTREMELY_LIQUID | VERY_LIQUID | LIQUID | ILLIQUID | VERY_ILLIQUID | EXTREMELY_ILLIQUID, or INSUFFICIENT_DATA when there is no supported estimate (time-to-sell fields are then null). INSUFFICIENT_DATA does not assert zero trading. Older cached responses may still carry the legacy UNTRADED.
liquiditystring
Lowercase label; INSUFFICIENT_DATA (and legacy UNTRADED) map to unknown.
estimatedSaleTimestring
Human time-to-sell, e.g. 2 - 6 hours.
confidencestring
HIGH | MEDIUM | LOW | CRITICAL.
scoreintegernullable
0 to 100 (higher = sells faster); null when untraded.
bestMarketToListstringnullable
Market with the lowest expected time-to-sell.
calculatedAtstring (date-time)
When it was computed.

Errors

404Item not found.
401Missing Authorization header, unsupported scheme, or a key that is unknown, inactive, expired, or revoked.
403Valid key, but the subscription is inactive/expired or the plan does not include this endpoint.
429Rate limit exceeded; see Retry-After + X-RateLimit-* headers. Pooled per account across all keys.
5xxUpstream snapshot unavailable or a server-side issue. Retry with backoff.

Guides using this endpoint

export SKINPRICER_API_KEY="sp_live_•••"

curl "https://pricing.skinpricer.com/v1/liquidity/summary/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 s = await client.liquidity.summary("AK-47 | Redline (Field-Tested)");
console.log(s.liquidityBadge, s.estimatedSaleTime);
import os
import requests

res = requests.get(
    "https://pricing.skinpricer.com/v1/liquidity/summary/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())

Authenticated endpoint: call it with your API key from your own client (see the code sample).

Response 200
{
  "marketHashName": "Glock-18 | Water Elemental (Factory New)",
  "liquidityBadge": "VERY_ILLIQUID",
  "liquidity": "very_illiquid",
  "estimatedSaleTime": "10 - 14 days",
  "confidence": "LOW",
  "score": 22,
  "bestMarketToList": "csfloat",
  "calculatedAt": "2026-06-23T22:07:17.129Z"
}
Response headers
X-RateLimit-Limit: <per-minute, set by your plan>
X-RateLimit-Remaining: <remaining this minute>
X-RateLimit-Reset: <seconds to reset>
X-RateLimit-Remaining-Month: <left this month, capped plans>
X-Request-ID: req_xxxxxxxxxxxxxxxx

Usage & licensing

Access to the API and its data is governed by our Terms of Service. You may not resell or redistribute the data, use it to build a competing service, or exceed your plan’s rate limits, and you must attribute SkinPricer as the source wherever the Terms permit you to display it. Abuse may be throttled or suspended.