Kalshi Perps Funding Rate, Open Interest & Trades Scraper
Pricing
from $0.002 / market
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.
Pricing
from $0.002 / market
Rating
0.0
(0)
Developer
ScrapeBench
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 hours ago
Last modified
Categories
Security
Limited permissionsShare
Pain points
- Kalshi sends every price and size as a decimal string, and an empty ask as 922337203685477.5807 (38 of 127 markets on 2026-11-07, stock perps overnight). Read naively, an equity perp's ask is a quadrillion dollars.
- Kalshi's perps pay funding on two schedules: crypto every 8 hours, stocks, indices, metals and energy once a day. A daily rate set next to an 8-hourly one, unconverted, is off by three times.
- The funding estimate, the funding history, the market list, the trades, the candles and the order books are six separate endpoints, the estimate one call per market.
- Comparing Kalshi's funding with Hyperliquid, Binance, Bybit or Polymarket means four more APIs, with intervals of 1, 4 and 8 hours.
What we solve
- Every perp and future in one run, with its funding estimate, next funding time and open interest.
- Settled funding history per perp from its first payment, with
interval_hours, the rate per 8 hours and annualised. - The trade tape, newest first, across all markets or per ticker; candles by minute, hour or day; full order books best level first.
- Kalshi against Hyperliquid, Binance, Bybit and Polymarket in one row per perp, each venue's rate converted to 8 hours and a year, with the cheapest venue and the spread to it.
- Strings coerced to numbers, empty book sides to null.
Summary
Pulls Kalshi's perpetual futures, the first US-regulated perps on single stocks (NVDA, AAPL, TSLA and 90 more since 2026-11-05) as well as crypto, metals, indices and energy. One run returns every perp with its price, best bid and ask, open interest and 24-hour volume in contracts and dollars, leverage, and the funding rate building for the next payment. Other modes return the settled funding history (BTC back to 2026-06-03), the public trade tape, price/bid/ask candles, full order books, and Kalshi's funding next to Hyperliquid, Binance, Bybit and Polymarket perps on the same underlying, all normalised to 8 hours and annualised. Numbers come back as numbers, an empty side of the book as null, and every funding row says how often that market pays. Public, keyless APIs: no Kalshi account, no API key, no browser.
Who it's for
- Quants and bot builders backtesting funding carry on Kalshi BTC and ETH perps
- Traders tracking open interest and funding on the new single-stock perps
- Basis and funding-arbitrage desks comparing a US-regulated perp with offshore venues
- Newsletter and dashboard writers charting Kalshi perps daily
- AI agents answering questions about perps funding through MCP
How to use
Set the input, run the actor, and collect results from the run's dataset (export to JSON/CSV/Excel, or pull via the Apify API). Example input:
{"mode": "snapshot"}
See Inputs below for every available field.
What you get
One row per record:
| Field | Description |
|---|---|
row_type | market, funding, trade, candle, orderbook or spread (one per mode) |
ticker | Kalshi ticker, e.g. KXBTCPERP, KXNVDAPERP, KXGOLDPERP, KXWTIFUTURE |
title / asset_class / contract_type / status | Market rows: underlying, Equities/Crypto/Metals/Energy/Indices, perpetual or future, active/inactive |
bid / ask / price / mark_price | Market rows: best bid and ask (null when that side is empty), last price, mark price; per contract, in dollars |
open_interest / oi_notional_usd | Contracts outstanding, and their dollar value |
volume_24h / volume_24h_notional_usd | Contracts traded in 24 hours, and their dollar value (plus lifetime volume) |
funding_rate_estimate / premium_index / next_funding_time | Market rows: the rate building for the next payment, and when it is paid |
funding_rate / funding_time / mark_price | Funding rows: each settled payment's rate (per period) and the mark price at the time |
interval_hours / *_8h / *_annualised | How often the market pays (8 or 24 hours), and the rate per 8 hours and per year |
trade_id / created_time / price / count / taker_side / is_block_trade | Trade rows |
interval / period_end / open / high / low / close / mean / bid_* / ask_* | Candle rows: trade price, bid and ask OHLC, volume and open interest |
best_bid / best_ask / mid / spread / bids / asks | Order book rows: every level as [price, size], best first, with depth per side |
{venue}_rate_8h / {venue}_annualised / {venue}_next_funding_time | Spread rows, for hyperliquid, binance, bybit and polymarket |
best_venue / spread_vs_best | Spread rows: the venue with the lowest annualised funding, and Kalshi's annualised rate minus it |
source_url | The API endpoint the row came from |
Sample:
{"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.0,"oi_notional_usd": 299801.2654,"volume_24h": 6133688.0,"volume_24h_notional_usd": 22784763.9004,"contract_size": 0.02,"leverage_estimate": 4.0576,"funding_rate_estimate": 0.0,"funding_rate_estimate_annualised": 0.0,"next_funding_time": "2026-11-07T21:00:00Z","interval_hours": 24,"funding_cap": 0.02}
Inputs
| Field | Required | Type | Default | Description |
|---|---|---|---|---|
mode | no | string | "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 | no | string | — | One Kalshi perp, e.g. KXBTCPERP or KXAAPLPERP. A bare symbol works too: BTC, AAPL, GOLD. Kept alongside 'Tickers' for saved tasks. |
tickers | no | array | [] | Many perps in one run (KXBTCPERP, KXETHPERP, AAPL...). Leave empty for every perp. Combined with 'Ticker'; duplicates are removed. |
assetClass | no | string | — | One asset class: Equities, Crypto, Metals, Energy or Indices. Kept alongside 'Asset classes' for saved tasks. |
assetClasses | no | array | [] | Keep only these asset classes: Equities (single-stock perps), Crypto, Metals, Energy, Indices. Leave empty for all. |
fromDate | no | string | — | 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 | no | string | "1h" | Candles mode only: one minute, one hour or one day. |
includeOrderbook | no | boolean | false | Snapshot mode only: also return each perp's current order book (one extra row per perp, charged as an order book). |
maxResults | no | integer | 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 | no | object | {"useApifyProxy": false} | Not needed: the APIs are public. Off by default. |
Pricing (Pay Per Event)
You pay per result (market) — no charge for empty runs. Example: 127 markets at $0.002/result ≈ $0.25.
One price per row type: $0.002 per market, $0.0005 per funding point, $0.003 per spread row, $0.0001 per trade, $0.0003 per candle, $0.001 per order book. The default snapshot returned 127 markets on 2026-11-07: about $0.25. BTC and AAPL funding history since June returned 472 points (about $0.24). 'Maximum results' caps the run; marker rows are free and empty books or candles are never charged.
Use cases
- Single-stock perps tracker: every equity perp's open interest, 24-hour volume and funding estimate, refreshed daily on a schedule. Mode snapshot, asset class Equities.
- Funding carry backtest: BTC and ETH funding since June 2026, annualised. Mode funding_history, tickers KXBTCPERP and KXETHPERP.
- Cross-venue funding monitor: where holding a BTC, SOL or NVDA perp is cheapest right now. Mode funding_spread.
- Order flow research: the public trade tape with taker side and block-trade flag. Mode trades, from a date.
- Charting: hourly price, bid and ask candles with open interest. Mode candles, interval 1h.
- Liquidity checks: full order books with depth per side. Mode orderbook, or add books to a snapshot.
Why this actor
- Funding rows carry
interval_hours, the rate per 8 hours and annualised, so daily and 8-hourly perps compare directly. - Kalshi next to Hyperliquid, Binance, Bybit and Polymarket in one row per perp, every rate on the same 8-hour and yearly basis.
- Free marker rows when something stops the run: a cap reached, a venue that did not answer, a ticker that does not exist.
Limitations & updates
Kalshi perps and futures only (127 markets on 2026-11-07, 41 of them inactive with no funding estimate). Trades are the public tape: no trader identities, no liquidations. The all-markets trade tape is busy: 2,500 trades covered about 35 minutes on 2026-11-07, so set tickers or a date for history. Stock perps close outside US market hours and their prices are stale then by design. The funding spread compares only perps another venue lists, uses each venue's current rate, and does not model fees. Not investment advice.
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.
Which actor to choose
Other Actors in the portfolio that pair with this one:
- Kalshi & Polymarket Prediction Market Odds Scraper — You want Kalshi's event contracts (yes/no odds), not its perps.
- Kalshi & Polymarket Election Odds History Scraper — You want the whole odds history of an election market.
Guides & use cases
Written up on scrapebench.dev — the bench that runs and verifies this actor against the live source every night:
- How-to: How to run Kalshi Perps Funding Rate, Open Interest & Trades Scraper
- Use case: Backtesting funding carry on Kalshi BTC and ETH perps since June 2026
- Use case: Kalshi stock perps: a daily open interest and funding tracker
More actors, coverage and nightly verification results: scrapebench.dev
Works with AI assistants (MCP)
Callable as an MCP tool, so Claude, Cursor, VS Code Copilot and other MCP clients can run it directly. Grab the config from the MCP tab on this page — Apify hosts the server and keeps that snippet current, and OAuth signs you in on first connect, so no API token goes in your config file.
Then just ask:
"Show me today's funding rate estimate and open interest for every Kalshi stock perp, sorted by open interest."
That is a snapshot with asset class Equities: 94 stock perps on 2026-11-07, about $0.19. Use mode funding_history with a ticker for the past payments. Runs started this way bill exactly like any other run.
Data & lawful use
This actor collects publicly available information that Kalshi, Hyperliquid or Polymarket publishes for public lookup — licence records, business listings and the contact details professionals list there. Some of it identifies individuals (sole proprietors, licence holders, agents), so treat any names, phone numbers and emails in your results as personal data.
When you run this actor, you decide what is collected and what it is used for, so you are the controller of that data and we act only as your processor (Apify Standard Actor Contract). You need a lawful basis for your use, must honour opt-out and deletion requests, and must follow the marketing rules that apply to you (CAN-SPAM, TCPA, GDPR, CCPA and similar). Don't use the output for unsolicited bulk messaging, for screening covered by the FCRA, or for anything the source's own terms forbid.
Your results are stored in your own Apify account. We don't keep a copy of your results and don't sell or share them.
Disclaimer
This is an independent tool. It is not affiliated with, endorsed by or sponsored by Kalshi, Hyperliquid or Polymarket. Names and marks are used only to describe the data source. Records are provided as published by the source and may be out of date or incomplete. For anything consequential (hiring, a permit, a legal decision), confirm the record with the issuing agency. You are responsible for making sure your use complies with applicable law and the source's terms.
Need help?
Open an issue on this actor's Issues tab and we'll respond there. Bug reports, missing fields and feature requests are all welcome. Guides and examples: scrapebench.dev.
If you are a person named in this data and want your record removed from our copy, email apify-help@scrapebench.dev; the source agency remains the official record.
Your run may be used to improve our services. If something looks off, or you want this actor to fit your use better, please share your run data with us: Apify Console → Settings → Security → Share run data with developers. It lets us see exactly what went wrong and keep improving the actor.