Skip to main content
GET
List prediction-market events
2 credits per request

  • A paginated list of events (groups of related markets) across Polymarket, Kalshi and Polymarket US.
  • Filter by active, closed, and source (one venue: polymarket, kalshi or polymarket-us).
  • Choose the venues with view: intl (default) Polymarket and Kalshi, us Polymarket US and Kalshi, all every venue.
  • Sort by volume24hr, volume, endDate, closing (soonest end first), or gap (largest price difference between venues first; needs pairs=only).
  • Keep to events priced on more than one venue with pairs=only, filter by category or search text q, and add both venues’ prices with include=prices.

Authorizations

X-API-KEY
string
header
required

API key required to access the endpoints. Generate one from your dashboard at https://openapi.coinstats.app and pass it in the X-API-KEY request header. Never expose your key in client-side code.

Query Parameters

active
enum<string>
Available options:
true,
false
closed
enum<string>
Available options:
true,
false
source
enum<string>

One venue only: polymarket (Polymarket, polymarket.com), kalshi (Kalshi) or polymarket-us (Polymarket US, polymarket.us). Without it, the venues of view.

Available options:
polymarket,
kalshi,
polymarket-us
sort
enum<string>
default:volume24hr

gap orders by the price gap between the venues, largest first, pairs trading at least $1K in 24h ahead of the rest; it needs pairs=only. closing is the soonest end date first.

Available options:
volume24hr,
volume,
endDate,
gap,
closing
pairs
enum<string>

Cross-venue pairs: only lists just the events priced on more than one venue, once lists every event with each pair once. A pair is listed as its Polymarket event.

Available options:
only,
once
category
string

Category slug, e.g. politics, crypto, economy, sports, culture, tech, world, climate, health. An unknown slug is a 400.

Example:

"crypto"

q
string

Search text (2-80 characters) matched against event titles.

Example:

"bitcoin"

include
enum<string>

prices adds each row's cross-venue pair (pair, with both venues' prices and their gap) or its own board. With it, limit is capped at 24.

Available options:
prices
order
enum<string>
default:desc
Available options:
asc,
desc
limit
number
default:50
Required range: x <= 100
Example:

50

offset
number
default:0
Example:

0

view
enum<string>
default:intl

Which venues are listed when source names none: intl (default) Polymarket and Kalshi, as before Polymarket US was added; us Polymarket US and Kalshi; all every venue. In all each event is listed once: a Polymarket US event linked to its Polymarket twin is that twin's row, which names it in linkedEvent. With source set it no longer picks the rows, but still picks which venues' pairs annotate them (pairedEvents, venueCount). Polymarket US publishes no 24h volume (volume24hr is 0): sort its rows by volume.

Available options:
intl,
us,
all

Response

success
boolean
required

Whether the request succeeded

Example:

true

timestamp
string
required

ISO 8601 timestamp the response was generated

Example:

"2025-06-19T12:00:00.000Z"

data
object[]
required
meta
object