Skip to main content

GET /v1/funding

Retrieve funding rate history from perpetual futures exchanges.

Min Tier: Free | Credits: 50 base + 3 per row returned

Parameters

ParameterTypeRequiredDefaultDescription
api-keystringYesYour API key.
symbolstringYesAsset symbol (e.g. BTC, ETH).
sourcestringNoallData source. One of binance_futures, hyperliquid. Omit to return rates from both.
startstringNoISO 8601 start time (inclusive).
endstringNoISO 8601 end time (exclusive).
limitintegerNo100Number of rows to return. Range: 1–1000.
afterstringNoCursor for pagination. Pass meta.next_cursor from a previous response.

Response

FieldTypeDescriptionSources
timestampstringISO 8601 time when the funding rate was recorded.All
symbolstringAsset symbol.All
sourcestringData source identifier.All
funding_ratenumberFunding rate for the period. Positive means longs pay shorts.All
next_funding_timestringISO 8601 time of the next scheduled funding settlement.All

Response Headers

HeaderDescription
X-Credits-UsedCredits consumed by this request.
X-Credits-RemainingCredits remaining in your billing cycle.
X-Rows-ReturnedNumber of rows in the response.
X-Rows-Cappedtrue if the result set was truncated by your plan's row limit.

Example

cURL

curl "https://kwery-api.com/v1/funding?api-key=YOUR_KEY&symbol=ETH&source=binance_futures&start=2026-03-07T00:00:00Z&end=2026-03-08T00:00:00Z&limit=10"

Python

import requests

resp = requests.get("https://kwery-api.com/v1/funding", params={
    "api-key": "YOUR_KEY",
    "symbol": "ETH",
    "source": "binance_futures",
    "start": "2026-03-07T00:00:00Z",
    "end": "2026-03-08T00:00:00Z",
    "limit": 10,
})
data = resp.json()

TypeScript

const params = new URLSearchParams({
  "api-key": "YOUR_KEY",
  "symbol": "ETH",
  "source": "binance_futures",
  "start": "2026-03-07T00:00:00Z",
  "end": "2026-03-08T00:00:00Z",
  "limit": "10",
});
const res = await fetch(`https://kwery-api.com/v1/funding?${params}`);
const data = await res.json();

Example Response

{
  "data": [
    {
      "timestamp": "2026-03-07T00:00:00Z",
      "symbol": "ETH",
      "source": "binance_futures",
      "funding_rate": 0.0001,
      "next_funding_time": "2026-03-07T08:00:00Z"
    },
    {
      "timestamp": "2026-03-07T08:00:00Z",
      "symbol": "ETH",
      "source": "binance_futures",
      "funding_rate": 0.00015,
      "next_funding_time": "2026-03-07T16:00:00Z"
    },
    {
      "timestamp": "2026-03-07T16:00:00Z",
      "symbol": "ETH",
      "source": "binance_futures",
      "funding_rate": -0.00005,
      "next_funding_time": "2026-03-08T00:00:00Z"
    }
  ],
  "meta": {
    "symbol": "ETH",
    "source": "binance_futures",
    "returned": 3,
    "next_cursor": null,
    "has_more": false
  }
}

Source-Specific Behavior

Binance Futures — Funding settles every 8 hours at 00:00, 08:00, and 16:00 UTC. Each row corresponds to one settlement event. The funding_rate is the rate that was applied at timestamp.

Hyperliquid — Funding settles hourly. This produces significantly more rows than Binance for the same time range. When querying both sources without a source filter, results are interleaved chronologically.

Tier Access

PlanHistory Depth
Free7 days
Pro30 days
BusinessFull history

Errors

StatusCodeWhen
400invalid_symbolThe symbol parameter is missing or not recognized.
400invalid_sourceThe source parameter is not one of binance_futures, hyperliquid.
400invalid_time_rangestart is after end, or the range exceeds your plan's history depth.
401unauthorizedMissing or invalid api-key.
403tier_restrictedYour plan does not allow the requested history depth.
429rate_limitedYou have exceeded your plan's request rate. Retry after the Retry-After header value.