Skip to main content
GET/v1/aggregations/min-pricesDEVELOPER+

Aggregated Min Prices

Batch lookup of the lowest ask per market for up to 100 items at once. Pass market hash names (or canonical item ids); each item comes back with its minimum price on every requested market. Response is snake_case. Prices are integer USD cents.

A batch helper: hand it up to 100 market hash names (or canonical item ids) and get each item's lowest ask on every requested market in one round-trip, instead of calling /v1/nbbo per item. Response is snake_case.

offers is how many listings sit at or above that price; is_stale flags a quote past its freshness window (still returned as a fallback). The bid-side mirror, max-orders, is the same shape with orders[] instead of prices[].

Parameters

marketHashNamesstringoptional
Query. CSV of market hash names, max 100. Provide this OR ids.
idsstringoptional
Query. CSV of canonical item ids, max 100. Provide this OR marketHashNames.
marketsstringoptional
Query. CSV of market ids to restrict the response, e.g. skinport,csfloat,buff163.

Response fields

MinPricesResponseLowest ask per market for the requested items. snake_case.
One entry per requested item.

Nested and shared shapes link to the API Objects reference.

Response 200

{
  "items": [
    {
      "canonical_item_id": "cmlofca920lka01yozajhixt3",
      "market_hash_name": "Glock-18 | Water Elemental (Factory New)",
      "prices": [
        {
          "market_name": "csfloat",
          "offers": 132,
          "price": 6500,
          "updated_at": "2026-06-23T21:52:27.427Z",
          "is_stale": false,
          "ingested_at": "2026-06-23T21:55:56.923Z",
          "ingest_latency_ms": 209496
        },
        {
          "market_name": "skinport",
          "offers": 40,
          "price": 6516,
          "updated_at": "2026-06-23T21:51:53.531Z",
          "is_stale": false,
          "ingested_at": "2026-06-23T21:54:30.775Z",
          "ingest_latency_ms": 157244
        }
      ]
    }
  ]
}

Errors

400Neither marketHashNames nor ids supplied, or more than 100 items.
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.

Companion endpoints

GET/v1/aggregations/max-orders

The bid-side mirror: highest buy order per market for the same ids. Same envelope, but each item carries orders[] (with price = highest bid, plus a total_quantity) instead of prices[].

Full reference →
curl "https://pricing.skinpricer.com/v1/aggregations/min-prices" \
  -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.