Pair Taker Buy/Sell History

Get the taker buy and taker sell volume history of a futures trading pair on an exchange, returned by interval, in USD. Useful for comparing buying and selling pressure in a single market or calculating the taker buy/sell ratio.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Available on all API plans: Hobbyist Startup Standard Professional Enterprise

The data intervals you can query differ by API plan; see API Plans and Available Intervals below on this page.

Response Data

data is an array; each element is one interval, and time is the start time of the interval. Volumes are in USD and are usually returned as strings but may also be numbers; convert them all to numbers when reading, before calculating.

200 · application/json · See the response example in the right panel.

FieldTypeAlways ReturnedDescription
codestringYesBusiness status code; "0" means success
msgstringNoResult message
dataarray of objectYesArray of intervals; each element is one interval
data[].timeinteger (int64)YesInterval start time, timestamp in milliseconds (UTC)
data[].taker_buy_volume_usdstringYesTaker buy volume within the interval, in USD; a string, but may also be returned as a number
data[].taker_sell_volume_usdstringYesTaker sell volume within the interval, in USD; a string, but may also be returned as a number

API Plans and Available Intervals

All API plans can call this endpoint; they differ in the data intervals they can query: the lower the plan, the longer the shortest available interval. For the price of each plan, see API Plans.

API PlanAccessAvailable Data Intervals (interval Parameter)
Hobbyist✅ Yes4 hours and above: 4h, 6h, 8h, 12h, 1d, 1w
Startup✅ Yes30 minutes and above: 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 1w
Standard✅ YesAll intervals, minimum 1 minute (1m)
Professional✅ YesAll intervals, minimum 1 minute (1m)
Enterprise✅ YesAll intervals, minimum 1 minute (1m)

For how much historical data each interval can query, see Intervals.

Use This Endpoint with AI

Pick a task and click Open in ChatGPT or Open in Claude: the AI reads this page first and then gives you the result. You can also click Copy and paste the full prompt into the AI tool you use.

Calculate the taker buy/sell ratio
Have AI write a Python function that fetches hourly taker buy/sell volume for Binance BTCUSDT over the last 7 days and calculates the buy/sell ratio.
Build a buy/sell imbalance alert
Have AI write a script that alerts you when taker buying or taker selling clearly dominates.
Understand this endpoint
Have AI explain the parameters, the response fields and what taker buy/sell means in plain language.

This endpoint provides data through the REST API. Use the prompts above to have AI write the request code. For the tools available through MCP, see CoinGlass MCP.

Use Cases

ScenarioDescription
Gauge Short-Term Buy/Sell PressureWhen taker buy volume stays above taker sell volume, market buy orders are more aggressive; the reverse means heavier selling pressure.
Calculate the Taker Buy/Sell RatioDivide buy volume by sell volume to get the taker buy/sell ratio; a value above 1 means taker buying dominates, which makes it suitable as a trend confirmation indicator.
Compare with Price CandlesAlign it with Pair Price OHLC History by time to see which side is in control when the price rises or falls on heavy volume.
Build Quant FactorsUse the taker buy/sell difference and the buy/sell ratio as order flow factors to backtest entry and exit rules on a single trading pair.

Related Endpoints

EndpointHow It Differs
Coin Taker Buy/Sell HistoryTaker buy/sell volume of a coin summed across multiple exchanges
Cumulative Volume Delta (CVD)Taker buy/sell volume of the same trading pair, plus the cumulative delta
Footprint History (90 Days)Taker buy/sell volume broken down by price range
Pair Price OHLC HistoryPrice candles of the same trading pair
Supported Exchanges and PairsLook up valid values for exchange and symbol

FAQ

What should I pass as symbol?

A trading pair, not a coin; for example, the BTC perpetual contract on Binance is BTCUSDT. Trading pairs are written differently on different exchanges; go by what the Supported Exchanges and Pairs endpoint returns.

The volumes are strings; how do I calculate with them?

This endpoint returns taker_buy_volume_usd and taker_sell_volume_usd as strings, e.g., "257716046.9673", in USD. They are usually strings but may also be numbers; convert them all to numbers when reading, before calculating. The values for the same trading pair and interval are returned as numbers in the Cumulative Volume Delta (CVD) endpoint.

I passed both start_time and end_time; why does the number of results differ from limit?

When both start and end times are passed, the time range determines which intervals are returned, and the count may not equal limit. For example, with interval=1h, limit=2 and a time range of 3 hours, 3 results were returned. If you only want a fixed number of results, omit the times (data is taken backward from the current time), or pass only start_time and limit.

Why does the value of the last interval keep changing?

When you query up to the current time (e.g., omitting end_time), the last result is usually an interval that has not yet closed; its volume keeps accumulating with new trades. For statistics or backtesting, use only closed intervals.

Learn More: Futures Taker Buy/Sell Volume

What Are Taker Buys and Taker Sells?

A taker buy uses a market order or an immediately filled limit order to take sell orders, while a taker sell takes buy orders. The taker side is willing to pay the spread to trade immediately, which better reflects how urgent traders are.

What Does a High Taker Buy/Sell Ratio Indicate?

A taker buy/sell ratio above 1 means taker buy volume exceeds taker sell volume. When the price rises and the ratio climbs, the rise is usually driven by real buying; when the price rises but the ratio falls, the rise may be less sustainable.

How Do I Get the Total Across Multiple Exchanges?

Use the Coin Taker Buy/Sell History endpoint and pass a coin and exchange_list to get the total across multiple exchanges.

Query Params
string
required
Defaults to Binance

Exchange name, e.g., Binance, OKX. For the exchanges you can query, see the Supported Exchanges and Pairs endpoint.

string
required
Defaults to BTCUSDT

Trading pair symbol, e.g., BTCUSDT. Exchanges write trading pairs differently; for the pairs you can query, see the Supported Exchanges and Pairs endpoint.

string
required
Defaults to 1d

Data interval, e.g., 4h. Options: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 1w. The shortest interval you can use depends on your API plan: 4h for Hobbyist, 30m for Startup, and 1m for Standard and above.

int32
≤ 1000
Defaults to 1000

Number of intervals to return; default 1000, accepts 1–1000. When both start_time and end_time are passed, the number of records returned is determined by the time range and does not necessarily equal limit.

int64

Start time, timestamp in milliseconds (UTC), e.g., 1790812800000 (2026-10-01 00:00 UTC). The time of the returned data satisfies start_time ≤ time < end_time: the start time is included and the end time is excluded.

int64

End time, timestamp in milliseconds (UTC), e.g., 1792022400000 (2026-10-15 00:00 UTC). The time of the returned data satisfies start_time ≤ time < end_time: the start time is included and the end time is excluded. For example, with interval=1d, the two example times above return October 1 to October 14, 14 intervals in total.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json