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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
api-key | string | Yes | — | Your API key. Send via X-API-Key header (recommended) or api-key query parameter. See Authentication. |
symbol | string | Yes | — | Asset symbol (e.g. BTC, ETH). |
source | string | No | all | Data source. One of binance_futures, hyperliquid. Omit to return rates from both. |
start | string | No | — | ISO 8601 start time (inclusive). |
end | string | No | — | ISO 8601 end time (exclusive). |
limit | integer | No | 100 | Number of rows to return. Range: 1–1000. |
after | string | No | — | Cursor for pagination. Pass meta.next_cursor from a previous response. |
Response
| Field | Type | Description | Sources |
|---|---|---|---|
timestamp | string | ISO 8601 time when the funding rate was recorded. | All |
symbol | string | Asset symbol. | All |
source | string | Data source identifier. | All |
funding_rate | number | Funding rate for the period. Positive means longs pay shorts. | All |
next_funding_time | string | ISO 8601 time of the next scheduled funding settlement. | All |
Response Headers
| Header | Description |
|---|---|
X-Credits-Used | Credits consumed by this request. |
X-Credits-Remaining | Credits remaining in your billing cycle. |
X-Rows-Returned | Number of rows in the response. |
X-Rows-Capped | true 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
| Plan | History Depth |
|---|---|
| Free | 7 days |
| Pro | 14 days |
| Business | 31 days |
Errors
| Status | Code | When |
|---|---|---|
| 400 | invalid_symbol | The symbol parameter is missing or not recognized. |
| 400 | invalid_source | The source parameter is not one of binance_futures, hyperliquid. |
| 400 | invalid_time_range | start is after end, or the range exceeds your plan's history depth. |
| 401 | unauthorized | Missing or invalid api-key. |
| 403 | tier_restricted | Your plan does not allow the requested history depth. |
| 429 | rate_limited | You have exceeded your plan's request rate. Retry after the Retry-After header value. |