Funding Rate History

GET/gateway/v1/exchange/funding-history

Returns historical funding rate records for a perpetual contract.

Pagination: use `from` to set the start time and `limit` to control result count. For longer history, pass the last returned timestamp as the next `from` value.

Note: not all exchanges support historical queries via `from`; some only return recent data regardless.

For the latest funding rate snapshot, see `/exchange/perp?fields=funding`.

Query Parameters

pairstringrequired

Trading pair (e.g. BTC/USDT)

Example: BTC/USDT
fromstring

Start of time range. Accepts Unix seconds or date string (YYYY-MM-DD, ISO8601). Not all exchanges support historical queries; some only return recent data regardless of this value.

Example: 2026-03-01
limitinteger

Max number of records. For longer history, paginate using the last returned timestamp as the next from value.

Example: 100
exchangeenum<string>

Exchange identifier. Note: hyperliquid uses USDC-settled perps (e.g. BTC/USDC:USDC); pass USDC-quoted pairs when querying hyperliquid.

Available options:binanceokxbybitbitgetgatehtxmexcbitfinexbitmexhyperliquid
Example: binance
Funding Rate History
const options = {method: 'GET'};

fetch('https://api.asksurf.ai/gateway/v1/exchange/funding-history?pair=BTC/USDT&from=2026-03-01&limit=100&exchange=binance', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
OK
{
  "$schema": "https://example.com/schemas/SimpleListResponseExchangeFundingHistoryItem.json",
  "data": [
    {
      "exchange": "<string>",
      "funding_interval_hours": 123,
      "funding_rate": 123,
      "funding_rate_1h": 123,
      "funding_rate_8h": 123,
      "funding_rate_annualized": 123,
      "funding_rate_raw": 123,
      "pair": "<string>",
      "timestamp": 123
    }
  ],
  "meta": {
    "cached": true,
    "credits_used": 123,
    "empty_reason": "<string>"
  }
}