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.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
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.
| Field | Type | Always Returned | Description |
|---|---|---|---|
code | string | Yes | Business status code; "0" means success |
msg | string | No | Result message |
data | array of object | Yes | Array of intervals; each element is one interval |
data[].time | integer (int64) | Yes | Interval start time, timestamp in milliseconds (UTC) |
data[].taker_buy_volume_usd | string | Yes | Taker buy volume within the interval, in USD; a string, but may also be returned as a number |
data[].taker_sell_volume_usd | string | Yes | Taker 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 Plan | Access | Available Data Intervals (interval Parameter) |
|---|---|---|
| Hobbyist | ✅ Yes | 4 hours and above: 4h, 6h, 8h, 12h, 1d, 1w |
| Startup | ✅ Yes | 30 minutes and above: 30m, 1h, 2h, 4h, 6h, 8h, 12h, 1d, 1w |
| Standard | ✅ Yes | All intervals, minimum 1 minute (1m) |
| Professional | ✅ Yes | All intervals, minimum 1 minute (1m) |
| Enterprise | ✅ Yes | All 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.
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
| Scenario | Description |
|---|---|
| Gauge Short-Term Buy/Sell Pressure | When 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 Ratio | Divide 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 Candles | Align 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 Factors | Use 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
| Endpoint | How It Differs |
|---|---|
| Coin Taker Buy/Sell History | Taker 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 History | Price candles of the same trading pair |
| Supported Exchanges and Pairs | Look 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.
