GET/v1/nbbo/depthDEVELOPER+
/v1/nbbo/depth
Aggregated order-book depth around the NBBO: ranked ask and bid levels with cumulative quantity and the contributing per-market quotes. Set depth (1 to 50, default 10). Prices are integer USD cents.
Aggregates the order book around the NBBO into ranked levels (asks cheapest-first, bids highest-first), each carrying a cumulativeQuantity so you can read how much size sits within X cents of the top of book.
Every level lists the per-market quotes that compose it, so you can see which venues provide liquidity at each price. Set depth (1 to 50, default 10) for how many levels you want per side.
Parameters
market_hash_namestringoptional
Query. Exact market hash name. Provide either this OR id (400 if neither).idstringoptional
Query. Canonical item id. Provide either this OR market_hash_name (400 if neither).marketsstringoptional
Query. CSV of market ids to restrict the response.depthintegeroptional
Query. Levels per side, 1 to 50. Default: 10.Response fields
DepthResponseAggregated order-book depth around the NBBO.
marketHashNamestring
Market hash name.canonicalItemIdstring
Canonical item id.depthinteger
Levels requested per side (1 to 50).marketCountinteger
Markets contributing.asksDepthLevel[]
Ranked ask levels, best first.bidsDepthLevel[]
Ranked bid levels, best first.spreadBpsintegernullable
Top-of-book spread in bps. NOT clamped (unlike /v1/nbbo and /v1/pricing): can be large or negative when the book is crossed.lockedboolean
Top bid == top ask.crossedboolean
Top bid > top ask.calculatedAtstring (date-time)
When computed.Nested and shared shapes link to the API Objects reference.
Response 200
{
"marketHashName": "Glock-18 | Water Elemental (Factory New)",
"canonicalItemId": "cmlofca920lka01yozajhixt3",
"depth": 4,
"marketCount": 14,
"asks": [
{
"rank": 1,
"price": 6240,
"quantity": 23,
"ordersCount": 23,
"marketCount": 1,
"cumulativeQuantity": 23,
"updatedAt": "2026-06-23T17:53:23.000Z",
"isStale": true,
"quotes": [
{
"market": "dmarket",
"level": 1,
"price": 6240,
"quantity": 23,
"ordersCount": 23,
"updatedAt": "2026-06-23T17:53:23.000Z",
"isStale": true
}
]
}
],
"bids": [
{
"rank": 1,
"price": 9145,
"quantity": 1,
"ordersCount": 1,
"marketCount": 1,
"cumulativeQuantity": 1,
"updatedAt": "2026-06-23T20:23:03.000Z",
"isStale": true,
"quotes": [
{
"market": "steamcommunity",
"level": 1,
"price": 9145,
"quantity": 1,
"ordersCount": 1,
"updatedAt": "2026-06-23T20:23:03.000Z",
"isStale": true
}
]
}
],
"spreadBps": -3177,
"locked": false,
"crossed": true,
"calculatedAt": "2026-06-23T22:07:15.107Z"
}Errors
400Neither
market_hash_name nor id supplied, or depth outside 1 to 50.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.
curl "https://pricing.skinpricer.com/v1/nbbo/depth" \
-H "Authorization: ApiKey sk_live_•••••••••••"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