Skip to main content
GET
/
v2
/
polymarket
/
events
/
keyset
Get Events
curl --request GET \
  --url https://api.predexon.com/v2/polymarket/events/keyset \
  --header 'x-api-key: <api-key>'
{
  "events": [
    {
      "id": "<string>",
      "ticker": "",
      "slug": "",
      "title": "",
      "description": "",
      "category": "",
      "tags": [
        {}
      ],
      "series": [
        {}
      ],
      "image_url": "",
      "icon_url": "",
      "resolution_source": "",
      "start_date": "<string>",
      "end_date": "<string>",
      "creation_date": "<string>",
      "closed_time": "<string>",
      "neg_risk": false,
      "neg_risk_market_id": "<string>",
      "enable_order_book": false,
      "status": "open",
      "market_count": 0,
      "total_volume_usd": 0,
      "trades_all_time": 0,
      "liquidity_usd": 0,
      "current_oi_usd": 0,
      "rolling_metrics": {},
      "markets": [
        {
          "condition_id": "<string>",
          "market_id": "<string>",
          "market_slug": "<string>",
          "title": "<string>",
          "status": "<string>",
          "outcomes": [
            {
              "label": "<string>",
              "token_id": "<string>",
              "predexon_id": "<string>",
              "price": 123
            }
          ],
          "question_id": "<string>",
          "description": "",
          "winning_side": "<string>",
          "start_time": "<string>",
          "end_time": "<string>",
          "close_time": "<string>",
          "created_time": "<string>",
          "image_url": "",
          "event_id": "<string>",
          "event_slug": "<string>",
          "event_title": "<string>",
          "total_volume_usd": 0,
          "liquidity_usd": 0,
          "tags": [
            "<string>"
          ],
          "is_neg_risk": false,
          "rolling_metrics": {
            "volume_1d": 0,
            "volume_7d": 0,
            "volume_30d": 0,
            "buy_volume_1d": 0,
            "buy_volume_7d": 0,
            "buy_volume_30d": 0,
            "sell_volume_1d": 0,
            "sell_volume_7d": 0,
            "sell_volume_30d": 0,
            "trades_1d": 0,
            "trades_7d": 0,
            "trades_30d": 0,
            "buys_1d": 0,
            "buys_7d": 0,
            "buys_30d": 0,
            "sells_1d": 0,
            "sells_7d": 0,
            "sells_30d": 0,
            "oi_change_1d": 0,
            "oi_change_7d": 0,
            "oi_change_30d": 0,
            "computed_at": "<string>"
          }
        }
      ]
    }
  ],
  "pagination": {
    "limit": 123,
    "count": 123,
    "has_more": true,
    "pagination_key": "<string>"
  }
}
Events are top-level groupings that contain one or more markets. Use status=open for active events only.
Free & Unlimited. This endpoint does not count toward your monthly usage limits on any plan.

Nesting markets and filtering by liquidity

Pass include_markets=true to nest each event’s markets inline (same shape as List Markets), and markets_per_event (1–50, default 10) to cap how many are nested per event. Filter to liquid events with min_open_interest (current OI in USD) and min_volume (7-day volume in USD).

Pagination

This endpoint uses cursor-based (keyset) pagination, which stays stable for large backfills and long-running crawls and does not return a total count. To fetch the next page, pass the returned pagination.pagination_key as the next request’s pagination_key, keeping the same filter and sort parameters across pages.
ConstraintValue
limit1–100 (default 20)
pagination_keyCursor returned from the previous response

Authorizations

x-api-key
string
header
required

Query Parameters

status
enum<string> | null

Filter by status: open or closed

Available options:
open,
closed
category
string | null

Filter by category (e.g. Sports, Crypto)

search
string | null

Search in title (minimum 3 characters)

Required string length: 3 - 100
id
string[] | null

Filter by event ID(s)

Maximum array length: 50
slug
string[] | null

Filter by event slug(s)

Maximum array length: 50
tag
string[] | null

Filter by tag slug(s)

Maximum array length: 50
sort
enum<string>
default:created

Sort by

Available options:
created,
created_asc,
start_date,
start_date_asc,
end_date,
end_date_desc,
title,
relevance,
volume_1d,
volume_7d,
volume_30d,
volume_all_time,
open_interest,
trades_1d,
trades_7d,
trades_30d
limit
integer
default:20

Number of events to return

Required range: 1 <= x <= 100
pagination_key
string | null

Cursor returned from the previous response

offset
integer
default:0

Deprecated. Offset pagination has been removed; only 0 is accepted.

Required range: x >= 0
include_markets
boolean
default:false

Nest each event's markets inline (same shape as /markets)

markets_per_event
integer
default:10

Max markets nested per event when include_markets=true

Required range: 1 <= x <= 50
min_volume
number | null

Only events with 7d volume >= this (USD)

Required range: x >= 0
min_open_interest
number | null

Only events with current open interest >= this (USD)

Required range: x >= 0

Response

Successful Response

Response for Polymarket events list endpoint.

events
PolymarketEvent · object[]
required
pagination
CursorPagination · object
required

Cursor-based pagination for endpoints that don't support offset.