Kalshi

Access prediction markets and trade on Kalshi

Kalshi is a federally regulated exchange where users can trade directly on the outcomes of future events—prediction markets. Kalshi’s robust API and Sim integration enable agents and workflows to programmatically access all aspects of the platform, supporting everything from research and analytics to automated trading and monitoring.

With Kalshi’s integration in Sim, you can:

  • Market & Event Data: Search, filter, and retrieve real-time and historical data for markets and events; fetch granular details on market status, series, event groupings, and more.
  • Account & Balance Management: Access account balances, available funds, and monitor real-time open positions.
  • Order & Trade Management: Place new orders, cancel existing ones, view open orders, retrieve a live orderbook, and access complete trade histories.
  • Execution Analysis: Fetch recent trades, historical fills, and candlestick data for backtesting or market structure research.
  • Monitoring: Check exchange-wide or series-level status, receive real-time updates about market changes or trading halts, and automate responses.
  • Automation Ready: Build end-to-end automated agents and dashboards that consume, analyze, and trade on real-world event probabilities.

By using these unified tools and endpoints, you can seamlessly incorporate Kalshi’s prediction markets, live trading capabilities, and deep event data into your AI-powered applications, dashboards, and workflows—enabling sophisticated, automated decision-making tied to real-world outcomes.

Usage Instructions

Integrate Kalshi prediction markets into the workflow. Can get markets, market, events, event, balance, positions, orders, orderbook, trades, candlesticks, fills, series, exchange status, and place/cancel/amend trades.

Tools

kalshi_get_markets

Retrieve a list of prediction markets from Kalshi with all filtering options (V2 - full API response)

Input

ParameterTypeRequiredDescription
statusstringNoFilter by status (unopened, open, closed, settled)
seriesTickerstringNoFilter by series ticker
eventTickerstringNoFilter by event ticker
limitstringNoNumber of results (1-1000, default: 100)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
marketsarrayArray of market objects with all API fields
cursorstringPagination cursor for fetching more results

kalshi_get_market

Retrieve details of a specific prediction market by ticker (V2 - full API response)

Input

ParameterTypeRequiredDescription
tickerstringYesThe market ticker (e.g., "KXBTC-24DEC31")

Output

ParameterTypeDescription
marketobjectMarket object with all API fields
tickerstringMarket ticker
event_tickerstringEvent ticker
market_typestringMarket type
titlestringMarket title
subtitlestringMarket subtitle
yes_sub_titlestringYes outcome subtitle
no_sub_titlestringNo outcome subtitle
open_timestringMarket open time
close_timestringMarket close time
expected_expiration_timestringExpected expiration time
expiration_timestringExpiration time
latest_expiration_timestringLatest expiration time
settlement_timer_secondsnumberSettlement timer in seconds
statusstringMarket status
response_price_unitsstringResponse price units
notional_valuenumberNotional value
tick_sizenumberTick size
yes_bidnumberCurrent yes bid price
yes_asknumberCurrent yes ask price
no_bidnumberCurrent no bid price
no_asknumberCurrent no ask price
last_pricenumberLast trade price
previous_yes_bidnumberPrevious yes bid
previous_yes_asknumberPrevious yes ask
previous_pricenumberPrevious price
volumenumberTotal volume
volume_24hnumber24-hour volume
liquiditynumberMarket liquidity
open_interestnumberOpen interest
resultstringMarket result
cap_strikenumberCap strike
floor_strikenumberFloor strike
can_close_earlybooleanCan close early
expiration_valuestringExpiration value
categorystringMarket category
risk_limit_centsnumberRisk limit in cents
strike_typestringStrike type
rules_primarystringPrimary rules
rules_secondarystringSecondary rules
settlement_source_urlstringSettlement source URL
custom_strikeobjectCustom strike object
underlyingstringUnderlying asset
settlement_valuenumberSettlement value
cfd_contract_sizenumberCFD contract size
yes_fee_fpnumberYes fee (fixed-point)
no_fee_fpnumberNo fee (fixed-point)
last_price_fpnumberLast price (fixed-point)
yes_bid_fpnumberYes bid (fixed-point)
yes_ask_fpnumberYes ask (fixed-point)
no_bid_fpnumberNo bid (fixed-point)
no_ask_fpnumberNo ask (fixed-point)

kalshi_get_events

Retrieve a list of events from Kalshi with optional filtering (V2 - exact API response)

Input

ParameterTypeRequiredDescription
statusstringNoFilter by status (open, closed, settled)
seriesTickerstringNoFilter by series ticker
withNestedMarketsstringNoInclude nested markets in response (true/false)
limitstringNoNumber of results (1-200, default: 200)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
eventsarrayArray of event objects
milestonesarrayArray of milestone objects (if requested)
cursorstringPagination cursor for fetching more results

kalshi_get_event

Retrieve details of a specific event by ticker (V2 - exact API response)

Input

ParameterTypeRequiredDescription
eventTickerstringYesThe event ticker
withNestedMarketsstringNoInclude nested markets in response (true/false)

Output

ParameterTypeDescription
eventobjectEvent object with full details matching Kalshi API response
event_tickerstringEvent ticker
series_tickerstringSeries ticker
titlestringEvent title
sub_titlestringEvent subtitle
mutually_exclusivebooleanMutually exclusive markets
categorystringEvent category
collateral_return_typestringCollateral return type
strike_datestringStrike date
strike_periodstringStrike period
available_on_brokersbooleanAvailable on brokers
product_metadataobjectProduct metadata
marketsarrayNested markets (if requested)

kalshi_get_balance

Retrieve your account balance and portfolio value from Kalshi (V2 - exact API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)

Output

ParameterTypeDescription
balancenumberAccount balance in cents
portfolio_valuenumberPortfolio value in cents
updated_tsnumberUnix timestamp of last update (milliseconds)

kalshi_get_positions

Retrieve your open positions from Kalshi (V2 - exact API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
tickerstringNoFilter by market ticker
eventTickerstringNoFilter by event ticker (max 10 comma-separated)
settlementStatusstringNoFilter by settlement status (all, unsettled, settled). Default: unsettled
limitstringNoNumber of results (1-1000, default: 100)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
market_positionsarrayArray of market position objects
event_positionsarrayArray of event position objects
cursorstringPagination cursor for fetching more results

kalshi_get_orders

Retrieve your orders from Kalshi with optional filtering (V2 with full API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
tickerstringNoFilter by market ticker
eventTickerstringNoFilter by event ticker (max 10 comma-separated)
statusstringNoFilter by status (resting, canceled, executed)
limitstringNoNumber of results (1-200, default: 100)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
ordersarrayArray of order objects with full API response fields
cursorstringPagination cursor for fetching more results

kalshi_get_order

Retrieve details of a specific order by ID from Kalshi (V2 with full API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
orderIdstringYesThe order ID to retrieve

Output

ParameterTypeDescription
orderobjectOrder object with full API response fields
order_idstringOrder ID
user_idstringUser ID
client_order_idstringClient order ID
tickerstringMarket ticker
sidestringOrder side (yes/no)
actionstringAction (buy/sell)
typestringOrder type (limit/market)
statusstringOrder status (resting/canceled/executed)
yes_pricenumberYes price in cents
no_pricenumberNo price in cents
yes_price_dollarsstringYes price in dollars
no_price_dollarsstringNo price in dollars
fill_countnumberFilled contract count
fill_count_fpstringFilled count (fixed-point)
remaining_countnumberRemaining contracts
remaining_count_fpstringRemaining count (fixed-point)
initial_countnumberInitial contract count
initial_count_fpstringInitial count (fixed-point)
taker_feesnumberTaker fees in cents
maker_feesnumberMaker fees in cents
taker_fees_dollarsstringTaker fees in dollars
maker_fees_dollarsstringMaker fees in dollars
taker_fill_costnumberTaker fill cost in cents
maker_fill_costnumberMaker fill cost in cents
taker_fill_cost_dollarsstringTaker fill cost in dollars
maker_fill_cost_dollarsstringMaker fill cost in dollars
queue_positionnumberQueue position (deprecated)
expiration_timestringOrder expiration time
created_timestringOrder creation time
last_update_timestringLast update time
self_trade_prevention_typestringSelf-trade prevention type
order_group_idstringOrder group ID
cancel_order_on_pausebooleanCancel on market pause

kalshi_get_orderbook

Retrieve the orderbook (yes and no bids) for a specific market (V2 - includes depth and fp fields)

Input

ParameterTypeRequiredDescription
tickerstringYesMarket ticker (e.g., KXBTC-24DEC31)

Output

ParameterTypeDescription
orderbookobjectOrderbook with yes/no bids (legacy integer counts)
yesarrayYes side bids as tuples [price_cents, count]
noarrayNo side bids as tuples [price_cents, count]
yes_dollarsarrayYes side bids as tuples [dollars_string, count]
no_dollarsarrayNo side bids as tuples [dollars_string, count]
orderbook_fpobjectOrderbook with fixed-point counts (preferred)
yes_dollarsarrayYes side bids as tuples [dollars_string, fp_count_string]
no_dollarsarrayNo side bids as tuples [dollars_string, fp_count_string]

kalshi_get_trades

Retrieve recent trades with additional filtering options (V2 - includes trade_id and count_fp)

Input

ParameterTypeRequiredDescription
limitstringNoNumber of results (1-1000, default: 100)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
tradesarrayArray of trade objects with trade_id and count_fp
cursorstringPagination cursor for fetching more results

kalshi_get_candlesticks

Retrieve OHLC candlestick data for a specific market (V2 - full API response)

Input

ParameterTypeRequiredDescription
seriesTickerstringYesSeries ticker
tickerstringYesMarket ticker (e.g., KXBTC-24DEC31)
startTsnumberYesStart timestamp (Unix seconds)
endTsnumberYesEnd timestamp (Unix seconds)
periodIntervalnumberYesPeriod interval: 1 (1min), 60 (1hour), or 1440 (1day)

Output

ParameterTypeDescription
tickerstringMarket ticker
candlesticksarrayArray of OHLC candlestick data with nested bid/ask/price objects

kalshi_get_fills

Retrieve your portfolio

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
tickerstringNoFilter by market ticker
orderIdstringNoFilter by order ID
minTsnumberNoMinimum timestamp (Unix milliseconds)
maxTsnumberNoMaximum timestamp (Unix milliseconds)
limitstringNoNumber of results (1-1000, default: 100)
cursorstringNoPagination cursor for next page

Output

ParameterTypeDescription
fillsarrayArray of fill/trade objects with all API fields
cursorstringPagination cursor for fetching more results

kalshi_get_series_by_ticker

Retrieve details of a specific market series by ticker (V2 - exact API response)

Input

ParameterTypeRequiredDescription
seriesTickerstringYesSeries ticker

Output

ParameterTypeDescription
seriesobjectSeries object with full details matching Kalshi API response
tickerstringSeries ticker
titlestringSeries title
frequencystringEvent frequency
categorystringSeries category
tagsarraySeries tags
settlement_sourcesarraySettlement sources
contract_urlstringContract URL
contract_terms_urlstringContract terms URL
fee_typestringFee type
fee_multipliernumberFee multiplier
additional_prohibitionsarrayAdditional prohibitions
product_metadataobjectProduct metadata
volumenumberSeries volume
volume_fpnumberVolume (fixed-point)

kalshi_get_exchange_status

Retrieve the current status of the Kalshi exchange (V2 - exact API response)

Input

ParameterTypeRequiredDescription

Output

ParameterTypeDescription
exchange_activebooleanWhether the exchange is active
trading_activebooleanWhether trading is active
exchange_estimated_resume_timestringEstimated time when exchange will resume (if inactive)

kalshi_create_order

Create a new order on a Kalshi prediction market (V2 with full API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
tickerstringYesMarket ticker (e.g., KXBTC-24DEC31)
sidestringYesSide of the order: 'yes' or 'no'
actionstringYesAction type: 'buy' or 'sell'
countstringYesNumber of contracts (minimum 1)
typestringNoOrder type: 'limit' or 'market' (default: limit)
yesPricestringNoYes price in cents (1-99)
noPricestringNoNo price in cents (1-99)
yesPriceDollarsstringNoYes price in dollars (e.g., "0.56")
noPriceDollarsstringNoNo price in dollars (e.g., "0.56")
clientOrderIdstringNoCustom order identifier
expirationTsstringNoUnix timestamp for order expiration
timeInForcestringNoTime in force: 'fill_or_kill', 'good_till_canceled', 'immediate_or_cancel'
buyMaxCoststringNoMaximum cost in cents (auto-enables fill_or_kill)
postOnlystringNoSet to 'true' for maker-only orders
reduceOnlystringNoSet to 'true' for position reduction only
selfTradePreventionTypestringNoSelf-trade prevention: 'taker_at_cross' or 'maker'
orderGroupIdstringNoAssociated order group ID

Output

ParameterTypeDescription
orderobjectThe created order object with full API response fields
order_idstringOrder ID
user_idstringUser ID
client_order_idstringClient order ID
tickerstringMarket ticker
sidestringOrder side (yes/no)
actionstringAction (buy/sell)
typestringOrder type (limit/market)
statusstringOrder status (resting/canceled/executed)
yes_pricenumberYes price in cents
no_pricenumberNo price in cents
yes_price_dollarsstringYes price in dollars
no_price_dollarsstringNo price in dollars
fill_countnumberFilled contract count
fill_count_fpstringFilled count (fixed-point)
remaining_countnumberRemaining contracts
remaining_count_fpstringRemaining count (fixed-point)
initial_countnumberInitial contract count
initial_count_fpstringInitial count (fixed-point)
taker_feesnumberTaker fees in cents
maker_feesnumberMaker fees in cents
taker_fees_dollarsstringTaker fees in dollars
maker_fees_dollarsstringMaker fees in dollars
taker_fill_costnumberTaker fill cost in cents
maker_fill_costnumberMaker fill cost in cents
taker_fill_cost_dollarsstringTaker fill cost in dollars
maker_fill_cost_dollarsstringMaker fill cost in dollars
queue_positionnumberQueue position (deprecated)
expiration_timestringOrder expiration time
created_timestringOrder creation time
last_update_timestringLast update time
self_trade_prevention_typestringSelf-trade prevention type
order_group_idstringOrder group ID
cancel_order_on_pausebooleanCancel on market pause

kalshi_cancel_order

Cancel an existing order on Kalshi (V2 with full API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
orderIdstringYesThe order ID to cancel

Output

ParameterTypeDescription
orderobjectThe canceled order object with full API response fields
order_idstringOrder ID
user_idstringUser ID
client_order_idstringClient order ID
tickerstringMarket ticker
sidestringOrder side (yes/no)
actionstringAction (buy/sell)
typestringOrder type (limit/market)
statusstringOrder status (resting/canceled/executed)
yes_pricenumberYes price in cents
no_pricenumberNo price in cents
yes_price_dollarsstringYes price in dollars
no_price_dollarsstringNo price in dollars
fill_countnumberFilled contract count
fill_count_fpstringFilled count (fixed-point)
remaining_countnumberRemaining contracts
remaining_count_fpstringRemaining count (fixed-point)
initial_countnumberInitial contract count
initial_count_fpstringInitial count (fixed-point)
taker_feesnumberTaker fees in cents
maker_feesnumberMaker fees in cents
taker_fees_dollarsstringTaker fees in dollars
maker_fees_dollarsstringMaker fees in dollars
taker_fill_costnumberTaker fill cost in cents
maker_fill_costnumberMaker fill cost in cents
taker_fill_cost_dollarsstringTaker fill cost in dollars
maker_fill_cost_dollarsstringMaker fill cost in dollars
queue_positionnumberQueue position (deprecated)
expiration_timestringOrder expiration time
created_timestringOrder creation time
last_update_timestringLast update time
self_trade_prevention_typestringSelf-trade prevention type
order_group_idstringOrder group ID
cancel_order_on_pausebooleanCancel on market pause
reduced_bynumberNumber of contracts canceled
reduced_by_fpstringNumber of contracts canceled in fixed-point format

kalshi_amend_order

Modify the price or quantity of an existing order on Kalshi (V2 with full API response)

Input

ParameterTypeRequiredDescription
keyIdstringYesYour Kalshi API Key ID
privateKeystringYesYour RSA Private Key (PEM format)
orderIdstringYesThe order ID to amend
tickerstringYesMarket ticker
sidestringYesSide of the order: 'yes' or 'no'
actionstringYesAction type: 'buy' or 'sell'
clientOrderIdstringYesThe original client-specified order ID
updatedClientOrderIdstringYesThe new client-specified order ID after amendment
countstringNoUpdated quantity for the order
yesPricestringNoUpdated yes price in cents (1-99)
noPricestringNoUpdated no price in cents (1-99)
yesPriceDollarsstringNoUpdated yes price in dollars (e.g., "0.56")
noPriceDollarsstringNoUpdated no price in dollars (e.g., "0.56")

Output

ParameterTypeDescription
old_orderobjectThe original order object before amendment
order_idstringOrder ID
user_idstringUser ID
tickerstringMarket ticker
event_tickerstringEvent ticker
statusstringOrder status
sidestringOrder side (yes/no)
typestringOrder type (limit/market)
yes_pricenumberYes price in cents
no_pricenumberNo price in cents
actionstringAction (buy/sell)
countnumberNumber of contracts
remaining_countnumberRemaining contracts
created_timestringOrder creation time
expiration_timestringOrder expiration time
order_group_idstringOrder group ID
client_order_idstringClient order ID
place_countnumberPlace count
decrease_countnumberDecrease count
queue_positionnumberQueue position
maker_fill_countnumberMaker fill count
taker_fill_countnumberTaker fill count
maker_feesnumberMaker fees
taker_feesnumberTaker fees
last_update_timestringLast update time
take_profit_order_idstringTake profit order ID
stop_loss_order_idstringStop loss order ID
amend_countnumberAmend count
amend_taker_fill_countnumberAmend taker fill count
orderobjectThe amended order object with full API response fields
order_idstringOrder ID
user_idstringUser ID
tickerstringMarket ticker
event_tickerstringEvent ticker
statusstringOrder status
sidestringOrder side (yes/no)
typestringOrder type (limit/market)
yes_pricenumberYes price in cents
no_pricenumberNo price in cents
actionstringAction (buy/sell)
countnumberNumber of contracts
remaining_countnumberRemaining contracts
created_timestringOrder creation time
expiration_timestringOrder expiration time
order_group_idstringOrder group ID
client_order_idstringClient order ID
place_countnumberPlace count
decrease_countnumberDecrease count
queue_positionnumberQueue position
maker_fill_countnumberMaker fill count
taker_fill_countnumberTaker fill count
maker_feesnumberMaker fees
taker_feesnumberTaker fees
last_update_timestringLast update time
take_profit_order_idstringTake profit order ID
stop_loss_order_idstringStop loss order ID
amend_countnumberAmend count
amend_taker_fill_countnumberAmend taker fill count

On this page

Start building today
Trusted by over 60,000 builders.
Build Agentic workflows visually on a drag-and-drop canvas or with natural language.
Get started