Nulls & partial data
Fields are null rather than omitted when data is unavailable, so the response shape stays stable.
WhenWhat you get
A market has no live coverage for the itemThat market is simply absent from markets[], not a null row.
A market is ask-only / has no buy-order book (listings only, e.g. Skinport)bestBid and the buy-order fields can be null.
A baseline for a delta is missingspreadBps, changePct24h, etc. are null.
A spread would exceed ±100% (10000 bps)nbbo/pricing spreadBps is clamped to null (a stale/garbage bid); crossed/negative spreads are kept, and depth spreadBps is never clamped.
Trade volume isn't ingested yetvolume24h is null (not 0).
Never treat null as 0. null means "unknown / not available"; 0 means "measured zero". Coding them the same will distort averages and charts.