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. |
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
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
| Plan | History Depth |
|---|
| Free | 7 days |
| Pro | 30 days |
| Business | Full history |
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. |