Skip to main content
POST/v1/liquidity/batchPRO+

Batch Liquidity

Score up to 100 items in one call. POST a marketHashNames[] body; returns results[] (each the full liquidity shape) plus a notFound[] of untracked names. Returns 200.

Score up to 100 items in one POST. The body is { marketHashNames: [...] }; results[] holds the full liquidity shape per tracked item and notFound[] lists names that aren't tracked. Returns 200 (not 201).

Parameters

marketHashNamesstring[]required
Body. Market hash names to score, max 100. Required.
marketstringoptional
Body. Restrict every estimate to one market: skinport | marketcsgo | dmarket | csdeals | csfloat.

Response fields

LiquidityBatchResponseLiquidity scored for many items in one call.
One full liquidity result per tracked item.
notFoundstring[]
Requested names that are not tracked.
requestedinteger
Number of items requested.
calculatedAtstring (date-time)
When the batch was computed.

Response 200

{
  "results": [
    {
      "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:csdeals",
        "no_sales_data:dmarket",
        "sales_data_stale:csfloat",
        "sales_data_stale:marketcsgo",
        "thin_sales:marketcsgo",
        "thin_sales:skinport"
      ],
      "calculatedAt": "2026-06-23T22:07:17.768Z"
    }
  ],
  "notFound": [],
  "requested": 2,
  "calculatedAt": "2026-06-23T22:07:17.768Z"
}

Errors

400No marketHashNames supplied, or more than 100.
401 / 403Missing, invalid, or insufficient-plan API key.
429Rate limit exceeded; see Retry-After + X-RateLimit-* headers.
5xxUpstream snapshot unavailable or a server-side issue. Retry with backoff.
curl "https://pricing.skinpricer.com/v1/liquidity/batch" \
  -H "Authorization: ApiKey sk_live_•••••••••••"

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

Response headers
X-RateLimit-Limit: <per-minute, set by your plan>
X-RateLimit-Remaining: <remaining this minute>
X-RateLimit-Reset: <seconds to reset>
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.