Skip to main content
⚠️Data availability

Funding rate history has not yet reached 31 days; earliest data aligns with candle/snapshot availability per source. See Data availability.

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. Send via X-API-Key header (recommended) or api-key query parameter. See Authentication.
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

Send your API key in the X-API-Key header (recommended) or as the api-key query parameter. Examples below use the header.

import requests

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

Query parameter alternative: Add api-key=YOUR_KEY to the URL for quick tests; the header is recommended for production.

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
Pro14 days
Business31 days

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.