Perpetuals API
One coin's margin borrow rate on one exchange over time
The interest rate to borrow a coin on margin at one exchange, percent per day, per hour, 4 hours or day, oldest first.
/api/external/perps/borrow-rate-history/{symbol}What it returns
The interest rate to borrow one coin on margin at one exchange, as the rate in effect at the open of each hour, 4-hour or day bucket, oldest first, in percent per day (multiply by 365 for a simple yearly rate). Borrowing the quote coin (e.g. USDT) is what a leveraged long pays; borrowing the coin itself is what a margin short pays. The newest bucket is normally the one still in progress (complete: false). symbol is the coin ticker (e.g. "BTC", "USDT"), matched case-insensitively — not a trading pair and not scoped to any of this API's chains. Six venues answer: Binance, OKX, Bybit, Gate, Bitget and KuCoin. A coin the venue does not lend on margin answers 404.
Chains
This endpoint is not tied to a chain: it takes no chain in its request.
Request
Send your key in the x-dex-data-key header. Replace each <placeholder> with a real value.
curl -H "x-dex-data-key: $DEXDATA_API_KEY" \ "https://api.dexdata.io/api/external/perps/borrow-rate-history/<symbol>?venue=Binance"
| Parameter | Description |
|---|---|
venuequery · string · required | The exchange, spelled exactly as listed (case-sensitive).BinanceOKXBybitGateBitgetKuCoin |
intervalquery · string · optional | Bucket width: 1h, 4h or 1d. Defaults to one day.1h4h1d |
limitquery · integer · optional | How many of the most recent buckets to return, 1 to 1000. Defaults to 100. Fewer come back when the coin's history on the venue is shorter, or a bucket carries no rate; on Bitget the history reaches back about 187 days. limit ≤ 500 keeps the answer under 32 KB. |
symbolpath · string · required | The coin ticker to borrow, e.g. "BTC" or "USDT" — not a trading pair such as "BTCUSDT", and not a token mint or contract address. Case-insensitive. |
Response fields
A JSON response. Every field is always present; null means the value could not be established, never zero.
| Field | Type | Description |
|---|---|---|
symbol | string | The coin ticker, upper-cased (e.g. "BTC"). |
venue | string | The exchange. |
interval | string | The bucket width. |
points | object[] | Oldest first. |
points[].at | number | The bucket's open, unix seconds. |
points[].dailyRatePct | number | The rate to borrow the coin in effect at the bucket's open, percent per day (0.0152 = 0.0152% a day, about 5.5% a year). |
points[].complete | boolean | Whether the bucket has ended. false only on the newest bucket, still in progress when read. |
Start building with DexData today
Sign in, create a key and make your first call in a minute. Free credits every month, and you only pay for calls that succeed.
Get a free API key