List prediction-market events

/v4/data/prediction/events

100 credits per API call

List prediction-market events across supported platforms. An event is a top-level grouping of one or more markets that share a common question or outcome set (e.g. "2028 US Presidential Election"). Each event row includes a roll-up of nested market counts, total volume, and total liquidity, with an opt-in to embed the full list of nested markets via includeMarkets=true.

Supported platforms (filter via platform or omit for a cross-platform feed):

  • Polymarket — polymarket
  • Kalshi — kalshi

Filtering, sorting and pagination

  • The status, category, tag and search filters are only honoured by Polymarket. To use any of them you must also pin platform=polymarket — calling them without that pin returns 400 so the response is honest about what was filtered.
  • sort accepts volume_desc, liquidity_desc, endingSoon, newest. When omitted on a cross-platform feed, results are interleaved so neither platform dominates the first page.
  • Pagination is cursor-based. The first call returns a pagination.cursor; pass that value verbatim as ?cursor=… on the next call. Cursors are opaque, fingerprint-bound to the filter set, and expire when filters change — never construct or modify them by hand. The cursor field is omitted from pagination on the last page.

Other notes

  • volumeUnit is usd on Polymarket events (dollar-denominated volume) and contracts on Kalshi events (number of contracts traded, not USD).
  • totalLiquidity is null on Kalshi — quoted liquidity is not exposed at the event level on Kalshi; compute from per-market orderbook depth if you need it.
  • status in the response is the verbatim upstream status string (richer than the status filter enum) — values can include paused, archived, settled, etc.
  • markets is populated only when includeMarkets=true is passed; otherwise it is null. When populated, every nested market is returned (no internal cap).
Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string
enum

Filter to a single platform. Omit for a cross-platform feed.

Allowed:
string
enum

Filter by lifecycle status. Polymarket-only — must be combined with platform=polymarket.

Allowed:
string
length ≤ 64

Filter by event category. Polymarket-only — must be combined with platform=polymarket. Free-form string, max 64 characters.

string
length ≤ 64

Filter by event tag slug. Polymarket-only — must be combined with platform=polymarket. Free-form string, max 64 characters.

string
length ≤ 256

Free-text search across event titles. Polymarket-only — must be combined with platform=polymarket. Max 256 characters.

string
enum

Sort order. When omitted on a cross-platform feed, results are interleaved to balance the two platforms; otherwise sorted within the merged set.

Allowed:
string
length ≤ 1024

Opaque cursor returned by the previous response's pagination.cursor. Omit on the first call. Fingerprint-bound to the filter set — changing filters invalidates the cursor.

integer
1 to 100
Defaults to 20

Page size. Defaults to 20 when omitted.

boolean
Defaults to false

When true, each event includes its full nested markets[] array. Defaults to false to keep list payloads light — opt in when you need per-event market depth.

Responses

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json