Skip to main content

Reading prices: ask, bid & NBBO

How to interpret the price fields the API returns.

Ask vs bid

ask is the lowest current sell offer (what you'd pay to buy now); bid is the highest standing buy order (what you'd receive selling now). The spread is ask − bid.

NBBO

National Best Bid & Offer is the best ask and best bid taken across every indexed marketplace at once, not within a single market. bestAsk and bestBid each name their source market. spreadBps expresses the spread in basis points (100 bps = 1%).

In the default (all-markets) view, the NBBO bestBid is restricted to cash-executable venues (markets that actually pay out in cash). Steam wallet credit and trade-credit venues are excluded by default, since their bids are denominated in non-cash balances and would otherwise produce economically-false crossed books. Pass an explicit markets CSV to override this and consider every requested venue's bid verbatim. Because of this filter, the /v1/pricing bestBid (which considers all venues) can differ from the /v1/nbbo bestBid.

spreadBps and its null-clamp

spreadBps on /v1/nbbo and /v1/pricing is null when a side is missing, and also clamped to null when it would exceed 10000 bps (±100%), which almost always means a stale or garbage bid. Negative (crossed) spreads are preserved, not clamped. Note the /v1/nbbo/depth spreadBps is NOT clamped and can be large or negative.

Execution-adjusted NBBO

Raw bestAsk / bestBid are sticker prices. The nullable executionAdjusted block on /v1/nbbo re-ranks venues by what you'd actually pay (ask + buyer fee) versus net receive (bid − commission − withdrawal), each scaled by an executability discount for freshness and depth, and exposes its own spreadBps plus an executableConfidence. Use the raw NBBO for a display spread; use executionAdjusted for a realistic execution spread.

Cents, not dollars

Every price field is an integer number of USD cents, so 1550 means $15.50. Divide by 100 only at display time to avoid floating-point drift.

locked & crossed

locked is true when the best bid equals the best ask (zero spread). crossed is true when the best bid exceeds the best ask, a fleeting cross-market inversion that usually means one leg went stale a beat before the other refreshed. Both are flags so you can filter or discount those reads.

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.