List prediction markets

/v4/data/prediction/markets

100 credits per API call

List prediction markets across supported platforms. A market is a single binary or multi-outcome question (e.g. "Will candidate X win?"); it belongs to a parent event when one is defined upstream. Each row carries pricing-friendly roll-ups (volume, liquidity), the current outcome set, and on-chain references on platforms where they exist.

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

  • Polymarket — polymarket
  • Kalshi — kalshi

Filtering, sorting and pagination

  • The status, category, tag, search and minVolume filters are only honoured by Polymarket. To use any of them you must also pin platform=polymarket — calling them without that pin returns 400.
  • eventId accepts either a Polymarket numeric event id or a Kalshi event ticker. When omitted, results span all events on the targeted platform(s).
  • endingBefore is an ISO-8601 timestamp; markets closing on or after that timestamp are excluded.
  • sort accepts volume_desc, liquidity_desc, endingSoon, newest. When omitted on a cross-platform feed, results are interleaved between the two platforms.
  • Pagination is cursor-based. The first call returns a pagination.cursor; pass it back verbatim as ?cursor=… on the next call. Cursors are opaque, fingerprint-bound, and expire when filters change — never construct or modify them by hand.

Other notes

  • volumeUnit is usd on Polymarket (dollar-denominated notional) and contracts on Kalshi (contract count — not USD).
  • liquidity is null on Kalshi — quoted liquidity is not exposed by the upstream markets feed; aggregate orderbook depth client-side if you need it.
  • chain is populated for Polymarket markets (Polygon CTF) and null on Kalshi which has no on-chain footprint.
  • status in the response is the verbatim upstream status string (richer than the ?status= filter enum) — values can include paused, archived, settled, etc.
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 category. Polymarket-only — must be combined with platform=polymarket.

string
length ≤ 64

Filter by tag slug. Polymarket-only — must be combined with platform=polymarket.

string
length ≤ 128

Scope the listing to a single parent event. Polymarket numeric event id (e.g. 12345) or Kalshi event ticker (e.g. KXELONMARS).

string
length ≤ 256

Free-text search across market questions. Polymarket-only — must be combined with platform=polymarket.

date-time

Exclude markets closing on or after this ISO-8601 timestamp.

number
≥ 0

Minimum volume threshold in volumeUnit units. Polymarket-only — must be combined with platform=polymarket.

string
enum

Sort order. When omitted on a cross-platform feed, results are interleaved between platforms instead.

Allowed:
string
length ≤ 1024

Opaque cursor returned by the previous response's pagination.cursor. Omit on the first call.

integer
1 to 100
Defaults to 20

Page size. Defaults to 20 when omitted.

Responses

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