Skip to content

Prediction Markets Events API

Retrieve Octagon's analyzed prediction market events over REST. The Events API exposes two endpoints:

  • List events — the latest snapshot of every analyzed event, including model/market probabilities, confidence scores, analysis summaries, and per-market outcome breakdowns.
  • Event history — the historical snapshots for a single event by ticker, for time-series analysis and backtesting.

Like the Chat Completions and Responses endpoints, these are direct REST endpoints called relative to the Octagon API base URL:

text
https://api.octagonai.co/v1

List Events

GET /predictions/events

Returns the latest snapshot of every analyzed prediction market event tracked by Octagon, ordered by most recently captured first.

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoNumber of records to return. Default 10; minimum 1; maximum 200.
cursorstringNoCursor for pagination. Use the cursor returned from a previous response to continue.
has_historybooleanNoWhen true, only return events that have multiple historical snapshots available for time-series use.
includestringNoComma-separated list of optional per-row field groups. Supported: eligibility (see below).

Response Fields

Each event in the data array includes:

FieldTypeDescription
history_idintegerUnique identifier for this snapshot.
run_idstring (UUID)The export run that produced this snapshot.
captured_atstring (ISO 8601)When this snapshot was captured.
event_tickerstringTicker identifier for the event.
namestringHuman-readable event name.
slugstringURL-friendly slug.
image_urlstringEvent image URL.
series_categorystringCategory (e.g., "Politics", "Crypto", "Economics").
available_on_brokersbooleanWhether the event is available on supported brokers.
mutually_exclusivebooleanWhether the event's outcomes are mutually exclusive.
analysis_last_updatedstring (ISO 8601)When the analysis was last refreshed.
confidence_scorefloatOctagon's confidence in the model output (0–10 scale).
model_probabilityfloatOctagon model probability for the event's primary/most-liquid market (0–100 percentage scale). See outcome_probabilities for the full per-market breakdown.
market_probabilityfloatMarket-implied probability for the event's primary/most-liquid market (0–100 percentage scale). See outcome_probabilities for the full per-market breakdown.
edge_ppfloatModel edge in percentage points (model_probability - market_probability).
expected_returnfloatExpected return if the model is correct.
r_scorefloatRisk-adjusted score.
total_volumefloatTotal trading volume.
total_open_interestfloatTotal open interest.
close_timestringWhen the event closes.
key_takeawaystringOne-line summary of the model's view.
current_state_summary_richtextstringRich-text summary of the current state.
short_answer_richtextstringRich-text short answer.
executive_summary_richtextstringRich-text executive summary.
outcome_probabilitiesarrayPer-market outcome breakdown (see below). null if unavailable.
has_historybooleanWhether this event has multiple historical snapshots for time-series analysis.

The response envelope also includes next_cursor and has_more for pagination.

Eligibility fields

Present only when include=eligibility is set:

FieldTypeDescription
eligibleboolean | nullWhether a fresh report can be generated for this event.
eligibility_statusstring | nullMarket state on the marketplace: open, paused, unopened, closed, settled, or unknown.
eligibility_reasonstring | nullHuman-readable explanation for the eligible value.

Generate fresh reports with the Reports API.

Event History

GET /predictions/events/{event_ticker}/history

Returns historical snapshots for a single prediction market event by its ticker, newest first.

Finding the event ticker in a Kalshi URL. A Kalshi event URL has the form /markets/<series-ticker>/<event-slug>/<event-ticker>. In https://kalshi.com/markets/kxfeddecision/fed-meeting/kxfeddecision-26jun, the event ticker is KXFEDDECISION-26JUN. Market deeplinks end in a market ticker instead, which is the event ticker plus an outcome suffix: strip the suffix to get the event ticker (kxoaianth-40-oaiKXOAIANTH-40).

Query Parameters

ParameterTypeRequiredDescription
limitintegerNoNumber of records to return. Default 50; minimum 1; maximum 200.
cursorstringNoCursor for pagination. Use the cursor returned from a previous response to continue.
captured_fromdatetime (ISO 8601)NoStart timestamp filter (inclusive) for snapshot capture time.
captured_todatetime (ISO 8601)NoEnd timestamp filter (inclusive) for snapshot capture time.
includestringNoSet to analysis to include the analysis fields in the response.
daysintegerNoExclude snapshots where close_time is before now minus this many days. Snapshots with no close_time are always included. Minimum 1.
exclude_empty_modelbooleanNoWhen true, exclude snapshots where model_probability is null (incomplete analysis). Default true.

Response Fields

Each snapshot in the data array includes:

FieldTypeDescription
history_idintegerUnique identifier for this snapshot.
run_idstring (UUID)The export run that produced this snapshot.
captured_atstring (ISO 8601)When this snapshot was captured.
event_tickerstringTicker identifier for the event.
namestringHuman-readable event name.
slugstringURL-friendly slug.
series_categorystringCategory (e.g., "Politics", "Crypto", "Economics").
close_timestringWhen the event closes.
confidence_scorefloatOctagon's confidence in the model output (0–10 scale).
model_probabilityfloatOctagon model probability for the event (0–100 percentage scale).
market_probabilityfloatCurrent market-implied probability (0–100 percentage scale).
edge_ppfloatModel edge in percentage points (model_probability - market_probability).
expected_returnfloatExpected return if the model is correct.
r_scorefloatRisk-adjusted score.
total_volumefloatTotal trading volume.
total_open_interestfloatTotal open interest.
outcome_probabilitiesarrayPer-market outcome breakdown (see below). null if unavailable.

When include=analysis is set, these additional fields are included:

FieldTypeDescription
key_takeawaystringOne-line summary of the model's view.
current_state_summary_richtextstringRich-text summary of the current state.
short_answer_richtextstringRich-text short answer.
executive_summary_richtextstringRich-text executive summary.

The response envelope also includes the requested event_ticker, plus next_cursor and has_more for pagination.

outcome_probabilities items

Each item in the outcome_probabilities array represents one market/outcome within the event:

FieldTypeDescription
market_tickerstringTicker for this specific market/outcome.
outcome_namestringHuman-readable name for the outcome.
model_probabilityfloatOctagon model probability for this outcome (0–100 percentage scale).
market_probabilityfloatMarket-implied probability for this outcome (0–100 percentage scale).

Use Cases

  • Discover all events currently tracked and analyzed by Octagon, or build a catalog/dashboard of active events.
  • Monitor the latest model probabilities, confidence scores, and analysis across all events.
  • Filter to events with historical data (has_history=true), then drill into each event's time-series via the history endpoint.
  • Build time-series views of model vs. market probability for a specific event ticker.
  • Backtest signal quality (for example, edge_pp and expected_return) across historical snapshots.
  • Backtest multi-outcome events using outcome_probabilities per snapshot.
  • Track how confidence and liquidity metrics evolve as an event approaches resolution.

Notes

  • On Event History, prefer bounded time windows (captured_from and captured_to) for predictable page sizes.
  • Probability and score scales follow the Kalshi Search API conventions.