Skip to main content
All URIs are relative to https://api.elections.kalshi.com/trade-api/v2
MethodHTTP requestDescription
get_eventGET /events/Get Event
get_event_forecast_percentiles_historyGET /series//events//forecast_percentile_historyGet Event Forecast Percentile History
get_event_metadataGET /events//metadataGet Event Metadata
get_eventsGET /eventsGet Events
get_market_candlesticks_by_eventGET /series//events//candlesticksGet Event Candlesticks
get_multivariate_eventsGET /events/multivariateGet Multivariate Events

get_event

GetEventResponse get_event(event_ticker, with_nested_markets=with_nested_markets)
Get Event Endpoint for getting data about an event by its ticker. An event represents a real-world occurrence that can be traded on, such as an election, sports game, or economic indicator release. Events contain one or more markets where users can place trades on different outcomes.

Parameters

NameTypeDescriptionNotes
event_tickerstrEvent ticker
with_nested_marketsboolIf true, markets are included within the event object. If false (default), markets are returned as a separate top-level field in the response.[optional] [default to False]

Return type

GetEventResponse

HTTP response details

Status codeDescription
200Event retrieved successfully
400Bad request
404Event not found
401Unauthorized
500Internal server error

get_event_forecast_percentiles_history

GetEventForecastPercentilesHistoryResponse get_event_forecast_percentiles_history(ticker, series_ticker, percentiles, start_ts, end_ts, period_interval)
Get Event Forecast Percentile History Endpoint for getting the historical raw and formatted forecast numbers for an event at specific percentiles.

Parameters

NameTypeDescriptionNotes
tickerstrThe event ticker
series_tickerstrThe series ticker
percentilesList[int]Array of percentile values to retrieve (0-10000, max 10 values)
start_tsintStart timestamp for the range
end_tsintEnd timestamp for the range
period_intervalintSpecifies the length of each forecast period, in minutes. 0 for 5-second intervals, or 1, 60, or 1440 for minute-based intervals.

Return type

GetEventForecastPercentilesHistoryResponse

HTTP response details

Status codeDescription
200Event forecast percentile history retrieved successfully
400Bad request
401Unauthorized
500Internal server error

get_event_metadata

GetEventMetadataResponse get_event_metadata(event_ticker)
Get Event Metadata Endpoint for getting metadata about an event by its ticker. Returns only the metadata information for an event.

Parameters

NameTypeDescriptionNotes
event_tickerstrEvent ticker

Return type

GetEventMetadataResponse

HTTP response details

Status codeDescription
200Event metadata retrieved successfully
400Bad request
404Event not found
401Unauthorized
500Internal server error

get_events

GetEventsResponse get_events(limit=limit, cursor=cursor, with_nested_markets=with_nested_markets, with_milestones=with_milestones, status=status, series_ticker=series_ticker, min_close_ts=min_close_ts)
Get Events Filter by event status. Possible values: ‘open’, ‘closed’, ‘settled’. Leave empty to return events with any status.

Parameters

NameTypeDescriptionNotes
limitintParameter to specify the number of results per page. Defaults to 200. Maximum value is 200.[optional] [default to 200]
cursorstrParameter to specify the pagination cursor. Use the cursor value returned from the previous response to get the next page of results. Leave empty for the first page.[optional]
with_nested_marketsboolParameter to specify if nested markets should be included in the response. When true, each event will include a ‘markets’ field containing a list of Market objects associated with that event.[optional] [default to False]
with_milestonesboolIf true, includes related milestones as a field alongside events.[optional] [default to False]
statusstrFilter by event status. Possible values are ‘open’, ‘closed’, ‘settled’. Leave empty to return events with any status.[optional]
series_tickerstrFilter by series ticker[optional]
min_close_tsintFilter events with at least one market with close timestamp greater than this Unix timestamp (in seconds).[optional]

Return type

GetEventsResponse

HTTP response details

Status codeDescription
200Events retrieved successfully
400Bad request
401Unauthorized
500Internal server error

get_market_candlesticks_by_event

GetEventCandlesticksResponse get_market_candlesticks_by_event(ticker, series_ticker, start_ts, end_ts, period_interval)
Get Event Candlesticks End-point for returning aggregated data across all markets corresponding to an event.

Parameters

NameTypeDescriptionNotes
tickerstrThe event ticker
series_tickerstrThe series ticker
start_tsintStart timestamp for the range
end_tsintEnd timestamp for the range
period_intervalintSpecifies the length of each candlestick period, in minutes. Must be one minute, one hour, or one day.

Return type

GetEventCandlesticksResponse

HTTP response details

Status codeDescription
200Event candlesticks retrieved successfully
400Bad request
401Unauthorized
500Internal server error

get_multivariate_events

GetMultivariateEventsResponse get_multivariate_events(limit=limit, cursor=cursor, series_ticker=series_ticker, collection_ticker=collection_ticker, with_nested_markets=with_nested_markets)
Get Multivariate Events Retrieve multivariate (combo) events. These are dynamically created events from multivariate event collections. Supports filtering by series and collection ticker.

Parameters

NameTypeDescriptionNotes
limitintNumber of results per page. Defaults to 100. Maximum value is 200.[optional] [default to 100]
cursorstrPagination cursor. Use the cursor value returned from the previous response to get the next page of results.[optional]
series_tickerstrFilter by series ticker[optional]
collection_tickerstrFilter events by collection ticker. Returns only multivariate events belonging to the specified collection. Cannot be used together with series_ticker.[optional]
with_nested_marketsboolParameter to specify if nested markets should be included in the response. When true, each event will include a ‘markets’ field containing a list of Market objects associated with that event.[optional] [default to False]

Return type

GetMultivariateEventsResponse

HTTP response details

Status codeDescription
200Multivariate events retrieved successfully
400Bad request - invalid parameters
401Unauthorized
500Internal server error