Kalshi Odds Scraper — Prediction Market Prices by Category
Pricing
from $33.50 / 1,000 market records
Kalshi Odds Scraper — Prediction Market Prices by Category
Kalshi odds as data: every market's yes/no bid, ask and last price (the implied probability), volume, 24-hour volume, open interest and close time, by category (Economics, Politics, Crypto, Weather…), series, event or keyword. Part of NexGen Signal — data tools and official-source data products
Pricing
from $33.50 / 1,000 market records
Rating
0.0
(0)
Developer
NexGen Signal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
The current odds on every Kalshi market, as clean rows. Pick a category — Economics, Financials, Crypto, Politics, Elections, Climate and Weather, Sports and more — or a series (KXFED Fed decisions, KXCPI inflation), an event ticker or a keyword, and get one record per market: yes/no bid and ask, last price (the market's implied probability), volume, 24-hour volume, open interest, status and close time.
Official source (Kalshi's public API). No API key. Pay per record. Filter by status (open, closed, settled) and by minimum volume so you only pay for markets that actually trade. Informational data, not real-time and not advice.
Ready-made searches
Open one, press Start, and change the inputs to your own:
- Fed Rate Decision Markets on Kalshi — Traded Contracts
- CPI Inflation Markets on Kalshi — Traded Contracts
Guide: Kalshi odds, prices and volume as data
A step-by-step guide with a real result: every actively traded Fed rate-decision market read on 1 October 2026 at 20:09 UTC (bid, ask, last price as implied probability, 24-hour volume, open interest), how fresh the numbers are (a snapshot of Kalshi's public API at the time of each run, not a live stream), the exact input, the same call with curl, and a Python script that saves markets to a CSV, with costs and limits.
Read the guide · Python script, CSV output · The real output (CSV)
What this is, in one paragraph
Kalshi runs a regulated exchange of binary event contracts — markets that pay out on real-world outcomes across politics, economics, weather, world events, and more. This actor reads Kalshi's public events API (with nested markets), so each event's category and title travel with every market, and flattens each market into a single analysis-ready record: identity, prices, size, status, and timing. Values are as served by Kalshi's public API. You are billed only for records actually delivered.
Who buys this and for what job
- Quant and research teams ingesting a structured, per-market snapshot of Kalshi event contracts for models and back-tests.
- Data engineers and app builders who want the market-data layer as clean rows keyed by ticker and category, without writing a Kalshi client.
- Dashboards and analytics products displaying event-contract prices, volume, and open interest by category.
- Researchers studying event-market pricing across categories over time.
Informational data — no advice, not real-time
Three honesty riders travel on every record. This is informational market data only — not trading, investment, or financial advice, and not an offer or solicitation to trade. It is not a real-time feed: prices, volume, and open interest are as served by Kalshi's public API and may be delayed. And reuse is governed by Kalshi's own terms: the data is Kalshi Exchange market data, © Kalshi, provided "as is"; Kalshi's Developer Agreement and terms govern any downstream use — verify on kalshi.com before acting.
Market grain — no person data
This actor works at market grain: tickers, prices, sizes, and outcomes. There are no natural-person fields in this data, and this actor emits none, with a person-key guard on every record as a backstop.
Sample output

Real rows from the Store example run on 28 September 2026 (active Economics markets that traded at least 100 contracts in 24 hours).
One record from that run, as delivered (the licence and disclaimer texts left out here):
{"record_id": "KXRECSSNBER-27","ticker": "KXRECSSNBER-27","event_ticker": "KXRECSSNBER-27","series_ticker": "KXRECSSNBER","market_title": "Will there be a recession in 2027?","outcome": "Yes","event_title": "Recession in 2027?","category": "Economics","status": "active","result": null,"market_type": "binary","yes_bid": 0.22,"yes_ask": 0.23,"no_bid": 0.77,"no_ask": 0.78,"last_price": 0.23,"previous_price": 0.22,"notional_value": 1,"volume": 507478.18,"volume_24h": 7593.86,"open_interest": 261434.01,"liquidity": 0,"open_time": "2026-04-24T19:15:00Z","close_time": "2028-01-31T13:25:00Z","expiration_time": "2028-02-07T15:00:00Z","updated_time": "2026-05-18T17:14:44.379459Z","source": "Kalshi (event-contract market data)","source_url": "https://kalshi.com/markets/KXRECSSNBER","attribution": "Data from Kalshi (kalshi.com).","observed_at": "2026-09-28T06:51:38Z"}
Pricing
| Event | Free plan | Bronze | Silver | Gold / Platinum / Diamond |
|---|---|---|---|---|
market_record | $0.05 | $0.045 | $0.04 | $0.0335 |
Delivered before charged. Blocked runs and empty results cost nothing.
Input
| Field | What it does | Default |
|---|---|---|
category | Kalshi category: Economics, Financials, Crypto, Politics, Elections, World, Companies, Science and Technology, Climate and Weather, Health, Sports, Entertainment, Social | all |
statusFilter | active (open for trading), closed, settled (result published) or inactive | all |
seriesTickers | Only these series, e.g. KXFED (Fed rate decisions) | all |
eventTickers | Only these events, e.g. KXFED-26DEC — each returns all its markets | all |
keyword | Event or market title (or outcome) contains this text, e.g. inflation, bitcoin | none |
minVolume, minVolume24h | Only markets that traded at least this many contracts in total / in the last 24 hours | none |
maxRecords | Maximum records delivered and billed | 10 |
Default changed on 30 Sep 2026: if you leave maxRecords out, a run now returns up to 10 records (it was 500). Set maxRecords yourself to get more — the maximum is unchanged.
Example — the Store example: ten active Economics markets with real trading in the last day ($0.50 on the Free plan):
{"category": "Economics", "statusFilter": "active", "minVolume24h": 100, "maxRecords": 10}
Example — every live Fed rate-decision market:
{"seriesTickers": ["KXFED"], "statusFilter": "active", "maxRecords": 500}
Example — actively traded Bitcoin markets:
{"keyword": "bitcoin", "statusFilter": "active", "minVolume24h": 100, "maxRecords": 100}
An unbilled RUN_RECEIPT records the robots check, the filters, markets seen and delivered, any event tickers not found, and whether charged equals delivered.
Field reference
Each record is one market. Identity: record_id / ticker, event_ticker, series_ticker, market_title, outcome (the "yes" side, e.g. "Above 3.75%"), event_title, and category. State: status, result (once settled), and market_type. Prices (dollars per $1 contract, so they read directly as probabilities between 0 and 1): yes_bid, yes_ask, no_bid, no_ask, last_price, previous_price and notional_value; implied_yes_probability is the last YES price under the name most tools expect (a market last traded at $0.23 is a 23% implied chance). Volumes and open interest are contracts as Kalshi reports them, which can be fractional. Size: volume, volume_24h, open_interest, and liquidity. Timing: open_time, close_time, expiration_time and updated_time. Provenance and caveats: source, source_url, licence, attribution, disclaimer, and observed_at.
How a run works
A run first re-reads the source's robots posture from your runtime — the API host serves no robots file, a no-policy posture — and stops at the door if that ever changes. It then reads Kalshi's events endpoint with nested markets, page by page via the API's cursor, so each event's category and title are attached to every market it contains. Each market is flattened to one record, prices and sizes parsed to numbers, and delivered before it is charged, so a blocked or empty run costs you nothing. Series tickers and status are passed to Kalshi's API to narrow the read; category, keyword and volume filters are applied to each market before delivery (Kalshi's events endpoint ignores a category parameter, so this actor checks the category itself). You are billed only for markets that pass every filter. The actor paces between pages, stops at your maxRecords ceiling, and records charge_equals_delivered in the receipt.
Cost guidance
One market_record per delivered market. The Store example costs $0.50 on the Free plan. A single series such as KXFED is a few dozen to a few hundred markets; a whole category's active markets can run to thousands, so add minVolume24h or a keyword to keep only markets people trade. 1,000 markets is $50 on Free and $33.50 on Gold.
Honest limitations
- Not real-time. Data is as served by Kalshi's public API and may be delayed; this is a snapshot feed, not a live tick stream.
- Informational only. Nothing here is trading, investment, or financial advice, or an offer to trade.
- Kalshi's terms govern reuse. The data is Kalshi's; downstream use is subject to Kalshi's Developer Agreement and terms.
- Market grain. This is the market-data record — not order books, trade history, or account data.
- No person data is emitted.
Differentiation
This actor is the market-data / event-contracts API angle: a clean, per-market structured feed keyed by ticker and category for engineers and analysts who want the data layer rather than a probability-watching dashboard.
The NexGen Signal family
Part of the NexGen Signal family of pay-per-record data products:
- National Macro Indicator Records — World Bank
- ECB Bank Interest Rate Records — Euro Area MFI
- US Treasury Fiscal Records — Rates & Debt
- Federal Rulemaking Records — US Federal Register
- Organization Sanctions & LEI Risk
Source: Kalshi public event-contract market API. Kalshi Exchange market data, © Kalshi, provided "as is"; informational use only, not trading advice, not a real-time feed; Kalshi's Developer Agreement and terms govern any reuse. Reformatted to market records; no person data emitted.