---
title: Open Interest
description: Open interest data as OHLC candles via the Kiyotaka Data API.
---

# Open Interest

<EndpointBar method="GET" path="/v1/points"></EndpointBar>

<TypeHeader type="OPEN_INTEREST_AGG" meta="Weight: 1x | Max points: 100,000"></TypeHeader>

Open interest expressed as OHLC candles. Each value represents the total open interest at that point in the interval.

## Response fields

| Field | Type | Description |
| --- | --- | --- |
| `open` | double (optional) | Open interest at interval start |
| `high` | double (optional) | Peak open interest in the interval |
| `low` | double (optional) | Lowest open interest in the interval |
| `close` | double (optional) | Open interest at interval end |
| `timestamp` | Timestamp | Start of the interval |

<Callout kind="note">

Fields are optional -- some exchanges may not report all OHLC values for every interval.

</Callout>

## Capabilities

| Feature | Supported | Details |
| --- | --- | --- |
| USD denomination | Yes | `transform.normalize.quote=USD` converts OI to USD |
| Multi-exchange aggregation | Yes | `transform.groupBy.type=GROUP_BY_TYPE_SUM` with `coin` param |
| Gapfill | No | Supported only for `TRADE_SIDE_AGNOSTIC_AGG` and `TRADE_AGG` |

## Examples

### Single exchange (coin values)

Fetches 1 hour of hourly open interest for BTCUSDT on Binance Futures. Values are returned in coin terms (BTC).

<CodeTabs>

<CodePanel lang="curl">
<pre><span class="s-f">curl</span> <span class="s-s">"https://api.kiyotaka.ai/v1/points</span>
    <span class="s-p">?type</span>=<span class="s-s">OPEN_INTEREST_AGG</span>
    <span class="s-p">&exchange</span>=<span class="s-s">BINANCE_FUTURES</span>
    <span class="s-p">&rawSymbol</span>=<span class="s-s">BTCUSDT</span>
    <span class="s-p">&interval</span>=<span class="s-s">HOUR</span>
    <span class="s-p">&from</span>=<span class="s-n">1774800000</span>
    <span class="s-p">&period</span>=<span class="s-n">3600</span><span class="s-s">"</span> \\
  <span class="s-k">-H</span> <span class="s-s">"X-Kiyotaka-Key: YOUR_API_KEY"</span></pre>
</CodePanel>

<CodePanel lang="python">
<pre><span class="s-k">import</span> <span class="s-v">requests</span>
&#10;
<span class="s-v">response</span> = requests.<span class="s-f">get</span>(
    <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=OPEN_INTEREST_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=3600 "</span>,
    headers={<span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span>}
)
<span class="s-v">data</span> = response.<span class="s-f">json</span>()</pre>
</CodePanel>

<CodePanel lang="javascript">
<pre><span class="s-k">const</span> <span class="s-v">response</span> = <span class="s-k">await</span> <span class="s-f">fetch</span>(
  <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=OPEN_INTEREST_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=3600 "</span>,
  { headers: { <span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span> } }
)
<span class="s-k">const</span> <span class="s-v">data</span> = <span class="s-k">await</span> response.<span class="s-f">json</span>()</pre>
</CodePanel>

</CodeTabs>

### Aggregated across exchanges (USD)

Sums open interest across Binance Futures, Bybit, and OKX for all BTC pairs into a single series. Values are converted to USD for cross-exchange comparability.

<CodeTabs>

<CodePanel lang="curl">
<pre><span class="s-f">curl</span> <span class="s-s">"https://api.kiyotaka.ai/v1/points</span>
    <span class="s-p">?type</span>=<span class="s-s">OPEN_INTEREST_AGG</span>
    <span class="s-p">&exchange</span>=<span class="s-s">BINANCE_FUTURES</span>
    <span class="s-p">&exchange</span>=<span class="s-s">BYBIT</span>
    <span class="s-p">&exchange</span>=<span class="s-s">OKEX_SWAP</span>
    <span class="s-p">&coin</span>=<span class="s-s">BTC</span>
    <span class="s-p">&interval</span>=<span class="s-s">HOUR</span>
    <span class="s-p">&from</span>=<span class="s-n">1774800000</span>
    <span class="s-p">&period</span>=<span class="s-n">3600</span>
    <span class="s-p">&transform.groupBy.type</span>=<span class="s-s">GROUP_BY_TYPE_SUM</span>
    <span class="s-p">&transform.normalize.quote</span>=<span class="s-s">USD</span><span class="s-s">"</span> \\
  <span class="s-k">-H</span> <span class="s-s">"X-Kiyotaka-Key: YOUR_API_KEY"</span></pre>
</CodePanel>

<CodePanel lang="python">
<pre><span class="s-k">import</span> <span class="s-v">requests</span>
&#10;
<span class="s-v">response</span> = requests.<span class="s-f">get</span>(
    <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=OPEN_INTEREST_AGG&exchange=BINANCE_FUTURES&exchange=BYBIT&exchange=OKEX_SWAP&coin=BTC&interval=HOUR&from=1774800000&period=3600&transform.groupBy.type=GROUP_BY_TYPE_SUM&transform.normalize.quote=USD "</span>,
    headers={<span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span>}
)
<span class="s-v">data</span> = response.<span class="s-f">json</span>()</pre>
</CodePanel>

<CodePanel lang="javascript">
<pre><span class="s-k">const</span> <span class="s-v">response</span> = <span class="s-k">await</span> <span class="s-f">fetch</span>(
  <span class="s-s">"https://api.kiyotaka.ai/v1/points?type=OPEN_INTEREST_AGG&exchange=BINANCE_FUTURES&exchange=BYBIT&exchange=OKEX_SWAP&coin=BTC&interval=HOUR&from=1774800000&period=3600&transform.groupBy.type=GROUP_BY_TYPE_SUM&transform.normalize.quote=USD "</span>,
  { headers: { <span class="s-s">"X-Kiyotaka-Key"</span>: <span class="s-s">"YOUR_API_KEY"</span> } }
)
<span class="s-k">const</span> <span class="s-v">data</span> = <span class="s-k">await</span> response.<span class="s-f">json</span>()</pre>
</CodePanel>

</CodeTabs>

### Response

<CodeBlock lang="JSON">
<pre>{
  <span class="s-p">"series"</span>: [
    {
      <span class="s-p">"id"</span>: {
        <span class="s-p">"type"</span>: <span class="s-s">"OPEN_INTEREST_AGG"</span>,
        <span class="s-p">"exchange"</span>: <span class="s-s">"BINANCE_FUTURES"</span>,
        <span class="s-p">"rawSymbol"</span>: <span class="s-s">"BTCUSDT"</span>,
        <span class="s-p">"normalizedSymbol"</span>: <span class="s-s">"BTC-USDT"</span>,
        <span class="s-p">"category"</span>: <span class="s-s">"PERPETUAL"</span>,
        <span class="s-p">"interval"</span>: <span class="s-s">"HOUR"</span>,
        <span class="s-p">"coin"</span>: <span class="s-s">"BTC"</span>
      },
      <span class="s-p">"points"</span>: [
        {
          <span class="s-p">"Point"</span>: {
            <span class="s-p">"open"</span>: <span class="s-n">95444.539</span>,
            <span class="s-p">"high"</span>: <span class="s-n">95612.984</span>,
            <span class="s-p">"low"</span>: <span class="s-n">95443.774</span>,
            <span class="s-p">"close"</span>: <span class="s-n">95539.108</span>,
            <span class="s-p">"timestamp"</span>: { <span class="s-p">"s"</span>: <span class="s-n">1774800000</span> }
          }
        }
      ]
    }
  ]
}</pre>
</CodeBlock>