DATA · TAKER-BUY VOLUME

Crypto Taker-Buy Volume: Null vs Zero - Handle Missing Fields Correctly

Binance publishes taker-buy volume inside every kline and as a separate ratio series. A zero taker-buy volume and a missing record are different signals.

Short answer

Each Binance kline includes taker-buy base and quote volume; taker-sell volume is total volume minus taker-buy. The separate takerlongshortRatio endpoint returns buySellRatio, buyVol and sellVol for the latest 30 days. Taker-buy "0" in a bar with positive volume means every aggressive trade was a sell — a real observation. A ratio record that is missing is a gap. And a buySellRatio computed with sellVol 0 is undefined, not infinite: guard the division.

Fields and what missing values mean

FieldNull / absent meansZero / empty means
Taker-buy base volume—"0": all aggression was selling
Taker-sell (derived)—Volume − taker-buy
buySellRatioUndefined if sellVol 0—
Missing ratio periodGap—
History > 30 days (ratio)Unavailable—
Taker-Buy Volume: how to read each fieldTaker-Buy Volume: how to read each field: Taker-buy base volume — "0": all aggression was selling; Taker-sell (derived) — Volume − taker-buy; buySellRatio — Undefined if sellVol 0; Missing ratio period — Gap; History > 30 days (ratio) — Unavailable.Taker-buy base volume"0": all aggression was sellingTaker-sell (derived)Volume − taker-buybuySellRatioUndefined if sellVol 0Missing ratio periodGapHistory > 30 days (ratio)Unavailable
Taker-Buy Volume: missing vs zero, field by field. Original ChartsPod editorial graphic.

Put Crypto Taker-Buy Volume next to price, flow and positioning in one workspace.

Open a ChartsPod workspace

Handling policy

Policy for this sourcePolicy for this source: Derive sells as total − buys; Guard ratio division; Keep base and quote separate; Prefer kline fields for long history; Flag gaps.POLICY FOR THIS SOURCEDerive sells as total − buysGuard ratio divisionKeep base and quote separatePrefer kline fields for long historyFlag gaps
Apply this policy to every taker-buy volume request. Original ChartsPod editorial graphic.

Illustrative: a bar with 120 BTC volume and 0 taker-buy volume is a one-sided sell bar, not missing data. A ratio of 0 would be correct; a ratio of null would hide the signal.

Conclusion

Related: Crypto Aggregated Trades: Null vs Zero - Handle Missing Fields Correctly, Binance Perpetual OHLCV: Null vs Zero - Handle Missing Fields Correctly.

And a buySellRatio computed with sellVol 0 is undefined, not infinite: guard the division.

Review Crypto Taker-Buy Volume with bar replay before using it live.

Open ChartsPod replay

Questions readers ask

Is taker-buy volume zero ever valid?

Yes; all aggressive trades were sells.

How do I get taker-sell volume?

Total volume minus taker-buy volume.

What if sellVol is 0?

The ratio is undefined; handle it explicitly.

Sources and methodology

Field definitions come from DEX Screener's API reference, CoinGecko's onchain API documentation and Binance's Spot API documentation, read 17 October 2026. Where a schema was not visible in the documentation, this guide says so and describes defensive handling rather than asserting field behaviour.

  1. Binance: USD-M Futures market data API — trades, depth, funding and open interest.
  2. Binance: USD-M market data (long/short ratios, OI statistics, klines) — ratio definitions, 30-day retention, kline open/close time.

This article explains research tools and workflows. It is not financial advice, does not recommend buying or selling any asset and does not predict prices. Crypto derivatives carry a risk of rapid and total loss of margin.

CHARTSPOD EDITORIAL EDITION · RESEARCH AND EDUCATION ONLY · NOT FINANCIAL ADVICE.