---
title: Funding Rate
description: Perpetual futures funding rate data via the Kiyotaka Data API.
---

# Funding Rate

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

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

Funding rate data for perpetual futures, expressed as OHLC candles. Includes predicted funding rates when available.

## Response fields

| Field | Type | Description |
| --- | --- | --- |
| `rateOpen` | double (optional) | Funding rate at interval start |
| `rateHigh` | double (optional) | Peak funding rate in the interval |
| `rateLow` | double (optional) | Lowest funding rate in the interval |
| `rateClose` | double (optional) | Funding rate at interval end |
| `predictedOpen` | double (optional) | Predicted funding rate at interval start |
| `predictedHigh` | double (optional) | Peak predicted rate in the interval |
| `predictedLow` | double (optional) | Lowest predicted rate in the interval |
| `predictedClose` | double (optional) | Predicted rate at interval end |
| `timestamp` | Timestamp | Start of the interval |

## Capabilities

| Feature | Supported | Details |
| --- | --- | --- |
| Funding interval normalization | Yes | `transform.normalize.fundingInterval=28800000` normalizes to 8-hour rate (default) |
| Multi-exchange aggregation | Yes | `transform.groupBy.type=GROUP_BY_TYPE_OPEN_INTEREST_WEIGHTED_AVG` -- weighted by OI |
| Gapfill | No | Supported only for `TRADE_SIDE_AGNOSTIC_AGG` and `TRADE_AGG` |

<Callout kind="note">

Funding rate aggregation uses **open interest weighted average (OIWA)**, not simple sum. This produces a more accurate cross-exchange rate by weighting each exchange's rate proportionally to its open interest.

</Callout>

## Examples

### Single exchange

Fetches 8 hours (`period=28800` seconds) of hourly funding rate data for BTCUSDT on Binance Futures. Covers one full funding cycle.

<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">FUNDING_RATE_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">28800</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=FUNDING_RATE_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=28800 "</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=FUNDING_RATE_AGG&exchange=BINANCE_FUTURES&rawSymbol=BTCUSDT&interval=HOUR&from=1774800000&period=28800 "</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 (OI-weighted)

Computes an open-interest-weighted average funding rate across Binance Futures, Bybit, and OKX for BTC. Exchanges with higher OI contribute more to the average.

<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">FUNDING_RATE_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">28800</span>
    <span class="s-p">&transform.groupBy.type</span>=<span class="s-s">GROUP_BY_TYPE_OPEN_INTEREST_WEIGHTED_AVG</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=FUNDING_RATE_AGG&exchange=BINANCE_FUTURES&exchange=BYBIT&exchange=OKEX_SWAP&coin=BTC&interval=HOUR&from=1774800000&period=28800&transform.groupBy.type=GROUP_BY_TYPE_OPEN_INTEREST_WEIGHTED_AVG "</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=FUNDING_RATE_AGG&exchange=BINANCE_FUTURES&exchange=BYBIT&exchange=OKEX_SWAP&coin=BTC&interval=HOUR&from=1774800000&period=28800&transform.groupBy.type=GROUP_BY_TYPE_OPEN_INTEREST_WEIGHTED_AVG "</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">"FUNDING_RATE_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">"rateOpen"</span>: <span class="s-n">2.677e-05</span>,
            <span class="s-p">"rateHigh"</span>: <span class="s-n">3.484e-05</span>,
            <span class="s-p">"rateLow"</span>: <span class="s-n">2.677e-05</span>,
            <span class="s-p">"rateClose"</span>: <span class="s-n">3.484e-05</span>,
            <span class="s-p">"timestamp"</span>: { <span class="s-p">"s"</span>: <span class="s-n">1774800000</span> }
          }
        }
      ]
    }
  ]
}</pre>
</CodeBlock>