Historical Kalshi MLB L2 depth and deduplicated prints. Fractional quantities corrected; dated Parquet download with schema and coverage map.
Full schema & known gaps →· Sold as-is — but if a file is broken or won't open, email [email protected] and we'll send a fixed file or refund you. No hassle.
Inspect the free sample rows and schemas before buying.
Artifact vintage: the product page and shipped documentation state the exact coverage, row counts and known limitations. A purchase delivers the advertised frozen artifact; no future refresh is promised unless the checkout terms explicitly say so.
Declared season scope; individual event-to-season mapping is unverified. This is not a complete-season archive.
MLB 2026 · Phase coverage not specified
UTC timestamps retain their recorded precision; dates alone identify UTC days. Vintage, observation and sports event times are separate. Capture time does not establish exchange quote freshness.
Sports event starts: start unknown → end unknown. Event dates are not inferred from these quote capture windows.
Venue APIs expose useful live books, trades and price history, but they do not serve the same historical snapshot and game-context archive packaged here. Data that was not recorded during the live window cannot be recreated from a current-book endpoint later. The exact fields, cadence, venue coverage and limitations vary by product, so this page and the shipped documentation state the contract explicitly instead of calling every file complete or tick-level.
Dated snapshot: 258,145,425 depth rows · 15,132,335 trade prints · 273,277,760 total rows · book samples 2026-06-21T17:24:31Z through 2026-10-02T23:59:16Z · artifact vintage 2026-10-02; separate from observation times
Study the sampled price levels and displayed sizes for the MLB markets this recorder selected. Trade prints are a separate paid table with its own captured-family scope; they are not included in the free depth CSV.
Save the free Kalshi MLB depth CSV as kalshi_mlb_orderbook_sample.csv, then inspect it with Python's standard library:
import csv
from datetime import datetime, timezone
from decimal import Decimal
with open("kalshi_mlb_orderbook_sample.csv", newline="", encoding="utf-8-sig") as handle:
rows = list(csv.DictReader(handle))
for row in rows[:5]:
observed = datetime.fromtimestamp(float(row["timestamp"]), timezone.utc)
price_dollars = Decimal(row["price_c"]) / Decimal("100")
print(observed.isoformat(), row["ticker"], row["market_type"],
row["side"], "level", row["level"],
"dollars/share", price_dollars, "contracts", Decimal(row["size"]))
price_c is cents per share; size is contracts. Level 0 is the best recorded price on a side, but this sample may contain deeper levels or only one side for a ticker. It does not reconstruct a complete two-sided snapshot or prove an order would fill. Historical depth captured through Jul 19, 2026 had already lost fractional size precision. Compare the MLB depth and trade schema with this version's manifest before joining tables.
For prints, created_time is exchange time and capture_ts is retrieval time; attached game context belongs to retrieval. The Kalshi historical order book data overview explains the selected capture scope. The separate Kalshi two-day tryout and tryout walkthrough demonstrate that ZIP's clocks and coverage; they do not establish this MLB slice's dates or completeness.
Join captured KXMLBGAME prints to sampled depth by ticker and timestamps; derivative prints are not included.
Compare game, spread, total, first-five and team-total depth ladders side by side using the line column; OBSERVED_GAPS.csv lists intervals over 120 s between observed depth timestamps.
We publish real sample rows — not a marketing mockup. Load them in DuckDB, inspect the schema and coverage contract, then decide.