← Health board

Kalshi Perps Funding Rate, Open Interest & Trades Scraper

Kalshi perps data: single-stock, crypto and metal perps with funding rate history, next-funding estimate, open interest, volume, trades, candles, order books and cross-venue funding spreads.

—insufficient data

Verification

Not yet in the weekly verification report.

Output fields

Authoritative field set from the dataset schema.

FieldType
source_urlstring|null
row_typestring|null
tickerstring|null
titlestring|null
asset_classstring|null
contract_typestring|null
statusstring|null
is_openboolean|null
next_open_timestring|null
next_close_timestring|null
haltedboolean|null
bidnumber|null
asknumber|null
bid_sizenumber|null
ask_sizenumber|null
pricenumber|null
mark_pricenumber|null
reference_pricenumber|null
open_interestnumber|null
oi_notional_usdnumber|null
volumenumber|null
volume_notional_usdnumber|null
volume_24hnumber|null
volume_24h_notional_usdnumber|null
contract_sizenumber|null
tick_sizenumber|null
leverage_estimatenumber|null
funding_rate_estimatenumber|null
funding_rate_estimate_8hnumber|null
funding_rate_estimate_annualisednumber|null
premium_indexnumber|null
next_funding_timestring|null
interval_hoursinteger|null
funding_capnumber|null
funding_deadbandnumber|null
funding_timestring|null
funding_ratenumber|null
funding_rate_8hnumber|null
funding_rate_annualisednumber|null
trade_idstring|null
created_timestring|null
countnumber|null
taker_sidestring|null
is_block_tradeboolean|null
intervalstring|null
period_endstring|null
opennumber|null
highnumber|null
lownumber|null
closenumber|null
meannumber|null
bid_opennumber|null
bid_highnumber|null
bid_lownumber|null
bid_closenumber|null
ask_opennumber|null
ask_highnumber|null
ask_lownumber|null
ask_closenumber|null
best_bidnumber|null
best_asknumber|null
midnumber|null
spreadnumber|null
bid_levelsinteger|null
ask_levelsinteger|null
bid_depthnumber|null
ask_depthnumber|null
bidsarray|null
asksarray|null
symbolstring|null
kalshi_funding_ratenumber|null
kalshi_interval_hoursinteger|null
kalshi_rate_8hnumber|null
kalshi_annualisednumber|null
kalshi_next_funding_timestring|null
hyperliquid_funding_ratenumber|null
hyperliquid_interval_hoursnumber|null
hyperliquid_rate_8hnumber|null
hyperliquid_annualisednumber|null
hyperliquid_next_funding_timestring|null
hyperliquid_spread_annualisednumber|null
binance_funding_ratenumber|null
binance_interval_hoursnumber|null
binance_rate_8hnumber|null
binance_annualisednumber|null
binance_next_funding_timestring|null
binance_spread_annualisednumber|null
bybit_funding_ratenumber|null
bybit_interval_hoursnumber|null
bybit_rate_8hnumber|null
bybit_annualisednumber|null
bybit_next_funding_timestring|null
bybit_spread_annualisednumber|null
polymarket_funding_ratenumber|null
polymarket_interval_hoursnumber|null
polymarket_rate_8hnumber|null
polymarket_annualisednumber|null
polymarket_next_funding_timestring|null
polymarket_spread_annualisednumber|null
venues_comparedinteger|null
best_venuestring|null
best_annualisednumber|null
spread_vs_bestnumber|null
noticestring|null
notice_typestring|null

Sample row

{
  "source_url": "https://api.elections.kalshi.com/trade-api/v2/margin/markets/KXNVDAPERP",
  "row_type": "market",
  "ticker": "KXNVDAPERP",
  "title": "NVDA",
  "asset_class": "Equities",
  "contract_type": "perpetual",
  "status": "active",
  "is_open": false,
  "next_open_time": "2026-11-08T23:00:00Z",
  "halted": false,
  "bid": 3.7,
  "ask": 3.78,
  "price": 3.7523,
  "mark_price": 3.7523,
  "open_interest": 79898,
  "oi_notional_usd": 299801.2654,
  "volume_24h": 6133688,
  "volume_24h_notional_usd": 22784763.9004,
  "contract_size": 0.02,
  "leverage_estimate": 4.0576,
  "funding_rate_estimate": 0,
  "funding_rate_estimate_annualised": 0,
  "next_funding_time": "2026-11-07T21:00:00Z",
  "interval_hours": 24,
  "funding_cap": 0.02
}

Inputs

FieldTypeReqDefaultDescription
mode string no "snapshot" snapshot: one row per perp with price, bid/ask, open interest, volume and the next funding estimate. funding_history: every settled funding rate since 'From date'. trades: the public trade tape, newest first. candles: price, bid and ask OHLC per minute, hour or day. orderbook: the current order book per perp. funding_spread: Kalshi's funding next to Hyperliquid, Binance, Bybit and Polymarket perps, normalised to 8 hours and annualised.
ticker string no — One Kalshi perp, e.g. KXBTCPERP or KXAAPLPERP. A bare symbol works too: BTC, AAPL, GOLD. Kept alongside 'Tickers' for saved tasks.
tickers array no [] Many perps in one run (KXBTCPERP, KXETHPERP, AAPL...). Leave empty for every perp. Combined with 'Ticker'; duplicates are removed.
assetClass string no — One asset class: Equities, Crypto, Metals, Energy or Indices. Kept alongside 'Asset classes' for saved tasks.
assetClasses array no [] Keep only these asset classes: Equities (single-stock perps), Crypto, Metals, Energy, Indices. Leave empty for all.
fromDate string no — Start of the history (YYYY-MM-DD, UTC) for funding_history, trades and candles. Empty: funding history from the first point (2026-06-03 for BTC), trades newest first, candles the last day (1m), week (1h) or everything (1d).
candleInterval string no "1h" Candles mode only: one minute, one hour or one day.
includeOrderbook boolean no false Snapshot mode only: also return each perp's current order book (one extra row per perp, charged as an order book).
maxResults integer no 1000 A run-wide spend cap. Snapshot, order book and funding spread: at most this many perps. Funding history, trades and candles: at most this many rows in total across all tickers. A free 'truncated' row says when the cap was reached.
proxyConfiguration object no {"useApifyProxy":false} Not needed: the APIs are public. Off by default.

Pricing

Pay per result (market) — no charge for empty runs.
Example: 127 markets at $0.002/result ≈ $0.25.

FAQ

How far back does the funding history go?

To each perp's first payment: KXBTCPERP and the other early crypto perps start on 2026-06-03 (470 points on 2026-11-07), gold on 2026-09-11, the S&P 500 perp on 2026-10-06, single stocks on 2026-11-05. Set 'From date' to start later.

Why is a funding rate daily on one perp and 8-hourly on another?

That is Kalshi's schedule. Crypto perps pay every 8 hours; stocks, indices, metals and energy pay once a day, weekends included for the ones measured (gold, S&P 500). Every funding row carries interval_hours, the rate per 8 hours and the annualised rate (rate x 8,760 / interval_hours) so you can compare them.

Why are some asks or bids empty?

The book has nothing on that side. Kalshi sends 922337203685477.5807 or 0.0000 for an empty side; the actor returns null. Stock perps close outside market hours, so overnight their book is thin and their prices are from the close.

Which venues does the funding spread compare?

Hyperliquid, Binance and Bybit (all three as published by Hyperliquid's predictedFundings endpoint) and Polymarket perps. A perp gets a row when at least one venue lists the same underlying: on 2026-11-07, 39 Kalshi perps matched, 16 of them single stocks matched on Polymarket only. Kalshi's rate is its estimate for the period in progress; the other venues' are their current predicted rates.

Are prices per share or per coin?

Per Kalshi contract, as Kalshi quotes them. A contract is a fraction of the underlying (contract_size: 0.0001 BTC, 0.02 of an NVDA share), so KXBTCPERP trades around $7.60. The notional fields (oi_notional_usd, volume_24h_notional_usd) are in dollars.

Is there a liquidation feed?

No. Kalshi's public API publishes no liquidations, so this actor returns none.

Do I need an account or a proxy?

No. All the APIs used are public and keyless. The proxy input is off by default.

Guides & use cases

Related actors