VOOZH about

URL: https://apify.com/jy-labs/kalshi-market-data-scraper

โ‡ฑ kalshi-market-data-scraper ยท Apify


Pricing

from $3.00 / 1,000 market collecteds

Go to Apify Store

Kalshi Market Data Scraper

Scrape settled Kalshi prediction markets with candlesticks & trades. Alert mode monitors active markets via Slack/Discord webhooks. Any category, resumable runs, auto-generated reports & CSV exports.

Pricing

from $3.00 / 1,000 market collecteds

Rating

0.0

(0)

Developer

๐Ÿ‘ Juyeop Park

Juyeop Park

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

0

Monthly active users

a month ago

Last modified

Share

Backtest-ready Kalshi settlement data with candlesticks and optional trade-level data.

This Actor collects settled Kalshi markets across any category, bridges Kalshi's live and historical API split using GET /historical/cutoff, and emits one normalized dataset item per settled market. Runs are resumable โ€” interrupted runs pick up where they left off without duplicating rows.

Features

  • Any category โ€” Economics, Politics, or any valid Kalshi category string
  • Configurable lookback โ€” no upper limit on lookbackDays
  • All series in category โ€” or narrow with seriesAllowlist
  • Candlestick data โ€” 1-minute, hourly, or daily intervals with auto-degradation for large runs
  • Trade-level data โ€” optional per-market trade history via includeTrades
  • Partial failure handling โ€” failed markets are skipped and logged (configurable via skipFailedMarkets)
  • Budget-aware โ€” returns partial results with budgetExceeded: true when runtime budget is exceeded
  • Resumable โ€” state is persisted after each market; re-running continues from the last checkpoint
  • Structured JSON logging โ€” configurable log level (debug/info/warn/error)
  • Public REST only โ€” no authentication required

Input

ParameterTypeDefaultDescription
modestring"collect"Operating mode: "collect" gathers settled market data, "alert" monitors active markets and sends webhook notifications.
categorystring"Economics"Kalshi market category to collect.
lookbackDaysinteger30Maximum lookback window in days. No upper limit if explicitly increased.
seriesAllowliststring[](all)Optional series tickers. When empty, all series in the category are eligible.
candlestickPeriodIntervalinteger1440Candle interval in minutes: 1, 60, or 1440. May be auto-degraded.
maxMarketsinteger25Optional ceiling on total market rows to emit. Remove or override for larger runs.
excludeMultivariatebooleantrueSkip mutually exclusive multivariate events.
includeTradesbooleanfalseFetch trade-level data for each market alongside candlesticks.
skipFailedMarketsbooleantrueSkip failed enrichments instead of aborting the entire run.
requestRateLimitRpsnumber4Kalshi API request cap (1โ€“10 requests per second).
candlestickConcurrencyinteger1Concurrent candlestick/trade fetches (1โ€“5).
logLevelstring"info"Minimum log level: debug, info, warn, error.
totalRuntimeBudgetMsinteger480000Total runtime budget in milliseconds (default 8 min).
degradationThresholdsobject{minuteToHourly: 25, hourlyToDaily: 100}Market-count thresholds for auto-degrading candlestick interval.
generateReportbooleanfalseGenerate HTML and Markdown settlement analysis reports after collection.
exportCsvbooleanfalseExport collected data as a CSV file in the key-value store.
webhookUrlstring(none)Slack or Discord webhook URL for alert notifications. Required when mode is "alert".
alertConditionsobject[](none)Price conditions to monitor in alert mode. Each has tickerPattern, field (lastPrice/yesAsk/yesBid), operator (above/below), thresholdDollars.

Output

Each dataset row is a NormalizedMarketRow with the following fields:

Identifiers

  • runId, category, seriesTicker, seriesTitle, eventTicker, eventTitle, eventSubtitle
  • marketTicker, title, subtitle, marketType, status, result

Partition & Timestamps

  • sourcePartition โ€” "live" or "historical" (determined by cutoff)
  • settlementTs, closeTime, openTime
  • expectedExpirationTime, expirationTime, latestExpirationTime, settlementTimerSeconds

Market Values (dollar-denominated fixed-point strings)

  • settlementValueDollars, lastPriceDollars, volumeFp, openInterestFp, liquidityDollars
  • yesAskDollars, yesBidDollars, noAskDollars, noBidDollars
  • yesAskSizeFp, yesBidSizeFp, notionalValueDollars

Pricing Structure & Rules

  • responsePriceUnits, priceLevelStructure, priceRanges
  • strikeType, floorStrike, capStrike, customStrike
  • rulesPrimary, rulesSecondary
  • yesSubTitle, noSubTitle

Candlestick Data

  • usedHistoricalCutoffTs โ€” the cutoff timestamp used for live/historical routing
  • candlestickPeriodInterval โ€” the interval actually used (may differ from input if degraded)
  • candlestickCount, candlestickStartTs, candlestickEndTs
  • candlesticks[] โ€” array of CanonicalCandlestick objects, each containing endPeriodTs, openInterestFp, volumeFp, price, yesAsk, yesBid (each with openDollars, highDollars, lowDollars, closeDollars, meanDollars, previousDollars), and rawShape ("live" or "historical")

Trade Data (when includeTrades: true)

  • includedTrades โ€” whether trades were requested
  • tradeCount โ€” number of trades collected
  • trades[] โ€” array of NormalizedTrade objects, each containing tradeId, ticker, count, yesPriceDollars, noPriceDollars, takerSide, createdTime

Diagnostics

  • warnings[] โ€” per-market warnings (e.g., missing candlesticks, failed trade fetch)

Pricing

This Actor uses pay-per-event billing. You are only charged for what you use.

EventPriceWhen charged
Market collected$0.003Each settled market collected with candlestick data
Market with trades$0.005Each settled market collected with candlestick + trade data
Report generated$0.01Once per run when generateReport: true
CSV exported$0.005Once per run when exportCsv: true
Alert scan$0.005Once per alert run when breaches are detected
Webhook sent$0.01Once per alert run when webhook is delivered successfully

Cost examples:

  • 10 markets with candlesticks only โ†’ ~$0.03
  • 10 markets with trades + report + CSV โ†’ ~$0.065
  • Alert scan with no breaches โ†’ free (no charge)

No charge is applied for failed operations, empty results, or local test runs.

Notes

  • Final inclusion uses market.settlement_ts, not event close time.
  • Live and historical candlestick payloads use different field names; this Actor normalizes them into one canonical shape while preserving fixed-point string values.
  • Deprecated cent-denominated market fields are not used.
  • When markets exist in both live and historical APIs (near the cutoff boundary), the version with richer data is kept based on a completeness score.
  • Candlestick interval is auto-degraded when the estimated market count exceeds configurable thresholds (1-min โ†’ 60-min โ†’ daily). The chosen interval and reason are reported in the summary.
  • The run summary includes budgetExceeded, failureCount, skippedMarketTickers, and warnings for operational visibility.

You might also like

Kalshi Market Intelligence & Signal Analyst

brazen_vanguard/kalshi-market-intelligence-signal-analyst

Go beyond raw data. Extract prices, detect liquidity signals, and generate AI-powered market interpretations for Kalshi prediction markets.

Kalshi Prediction Markets Scraper

parseforge/kalshi-prediction-markets-scraper

Tap the Kalshi public markets API and pull ticker, title, status, closeTime, yesAsk, noBid, volume, openInterest, category, and expirationTime. Filter by status, event, or series ticker. Useful for event forecasting and tracking sentiment on US prediction markets.

Kalshi Discovery Spider

getdataforme/kalshi-discovery-spider

Kalshi Discovery Spider is an Apify Actor that scrapes detailed prediction market data from Kalshi. Input queries to discover contracts, real-time pricing, volumes, and categories on topics like politics and economics....

Kalshi Scraper | Fast & Reliable

fatihtahta/kalshi-scraper

Get live prediction market data from Kalshi.com with tickers, categories, prices, and volume metrics. Fast, reliable, and structured for analysis. Ideal for traders, researchers, and data teams.

36

5.0

๐ŸŽฒ Kalshi Prediction Markets โ€” Odds, Probabilities, Volume

nexgendata/kalshi-prediction-markets-tracker

Track live Kalshi prediction markets: yes/no bid/ask, last price, implied probability, volume, liquidity, and close time. For traders, researchers, and media tracking event odds.

Kalshi Sports Event Markets Scraper

jungle_synthesizer/kalshi-sports-event-markets-scraper

Scrape live Kalshi sports prediction market contracts โ€” yes/no bids, ask prices, volume, and open interest for NFL, NBA, MLB, NHL, UFC, golf, and World Cup markets. The only regulated US prediction market for sports events post-CFTC approval.

๐Ÿ‘ User avatar

BowTiedRaccoon

2

Kalshi Profile Scraper

saswave/kalshi-profile-scraper

$0.8 / 1000 results. Extraction tool designed to unlock the social and financial layers of the Kalshi prediction market. Targeting individual trader profiles. Get data on profile, open positions, closed positions, trades, top categories, posts, comments, likes