Kalshi Odds Scraper — Prediction Market Prices by Category avatar

Kalshi Odds Scraper — Prediction Market Prices by Category

Pricing

from $33.50 / 1,000 market records

Go to Apify Store
Kalshi Odds Scraper — Prediction Market Prices by Category

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

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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:

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

Sample output — Kalshi Event Market Data — Contracts API

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

EventFree planBronzeSilverGold / Platinum / Diamond
market_record$0.05$0.045$0.04$0.0335

Delivered before charged. Blocked runs and empty results cost nothing.

Input

FieldWhat it doesDefault
categoryKalshi category: Economics, Financials, Crypto, Politics, Elections, World, Companies, Science and Technology, Climate and Weather, Health, Sports, Entertainment, Socialall
statusFilteractive (open for trading), closed, settled (result published) or inactiveall
seriesTickersOnly these series, e.g. KXFED (Fed rate decisions)all
eventTickersOnly these events, e.g. KXFED-26DEC — each returns all its marketsall
keywordEvent or market title (or outcome) contains this text, e.g. inflation, bitcoinnone
minVolume, minVolume24hOnly markets that traded at least this many contracts in total / in the last 24 hoursnone
maxRecordsMaximum records delivered and billed10

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:

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.