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