Skip to main content
GET
/
v2
/
markets
List Canonical Markets
curl --request GET \
  --url https://api.predexon.com/v2/markets \
  --header 'x-api-key: <api-key>'
{
  "markets": [
    {
      "event_id": "<string>",
      "market_title": "<string>",
      "description": "<string>",
      "starts_at": "2023-11-07T05:31:56Z",
      "status": "<string>",
      "venues": [
        "<string>"
      ],
      "outcomes": [
        {
          "predexon_id": "<string>",
          "outcome": "<string>",
          "market_type": "<string>",
          "outcome_label": "<string>",
          "claim": "<string>",
          "status": "<string>",
          "venues": [
            "<string>"
          ]
        }
      ],
      "league": "<string>"
    }
  ],
  "pagination": {
    "limit": 123,
    "has_more": true,
    "pagination_key": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.predexon.com/llms.txt

Use this file to discover all available pages before exploring further.

Canonical markets are the recommended discovery layer for cross-venue trading and the Order Router. Use this endpoint to find outcome-level predexon_ids before quoting or placing routed orders.
Beta: Canonical market endpoints are in beta. Response fields and match coverage may evolve as we refine the canonical matching system.

Endpoint

GET https://api.predexon.com/v2/markets
Returns canonical market/question containers backed by the canonical matching system. Each market contains one or more canonical outcomes, and each outcome has its own public predexon_id. Use this endpoint for aggregate discovery. Use /v2/markets/listings when you need venue-native executable identifiers like token IDs, Kalshi tickers, condition IDs, or market slugs.

Auth

Pass your API key in the x-api-key header.
curl -sS \
  -H 'x-api-key: YOUR_API_KEY' \
  'https://api.predexon.com/v2/markets?limit=20'

Core IDs

IDMeaning
event_idCanonical market/question scope. It is one tradable question container, not a broad real-world event.
predexon_idCanonical outcome-level trading/routing ID. Equivalent outcomes across venues share the same predexon_id.
Venue IDsmarket_id, market_ticker, condition_id, token_id, and market_slug are venue-native identifiers, not canonical Predexon IDs.

Query Parameters

ParameterTypeDescription
limitintegerNumber of canonical markets to return.
pagination_keystringCursor from the previous response. Omit on the first request.
searchstringText search over market titles and canonical claims.
venuestringFilter to markets available on one venue. Example: polymarket.
statusstringMarket status filter. Common values: open, closed.
categorystringBroad market category. Examples: sports, crypto, politics, entertainment, economics, weather, general.
leaguestringSports-only league filter. Only use with category=sports or by itself to imply sports. Example: mlb, fl1.
event_idstringFetch a specific canonical market/question scope.

Response Shape

{
  "markets": [
    {
      "event_id": "string",
      "market_title": "string",
      "description": "string",
      "starts_at": "2026-05-02T00:00:00+00:00",
      "status": "open",
      "venues": ["kalshi", "polymarket"],
      "outcomes": [
        {
          "predexon_id": "px-...",
          "outcome": "yes",
          "market_type": "binary",
          "outcome_label": "Yes",
          "claim": "string",
          "status": "open",
          "venues": ["kalshi", "polymarket"]
        }
      ],
      "league": "mlb"
    }
  ],
  "pagination": {
    "limit": 20,
    "has_more": true,
    "pagination_key": "<string>"
  }
}
description, starts_at, and league are omitted when unavailable. total is intentionally not returned for performance. To fetch the next page, pass the returned pagination.pagination_key as the next request’s pagination_key.

Field Reference

FieldTypeDescription
markets[]arrayCanonical market/question containers.
markets[].event_idstringCanonical market/question scope ID.
markets[].market_titlestringDisplay title for the canonical market.
markets[].descriptionstringOptional display description or rules text when available.
markets[].starts_atstringOptional ISO timestamp for scheduled markets.
markets[].statusstringMarket status, usually open or closed.
markets[].venuesstring[]Venues with at least one listing in this canonical market.
markets[].outcomes[]arrayCanonical tradable outcomes in this market.
outcomes[].predexon_idstringPublic canonical trading/routing ID for this outcome.
outcomes[].outcomestringCanonical outcome key. Examples: yes, no, draw, asm.
outcomes[].market_typestringMarket type. Examples: binary, game_winner.
outcomes[].outcome_labelstringHuman-readable outcome label.
outcomes[].claimstringCanonical claim text for this outcome.
outcomes[].statusstringOutcome status, usually open or closed.
outcomes[].venuesstring[]Venues with executable listings mapped to this outcome.
markets[].leaguestringOptional sports league code.

Example

curl -sS \
  -H 'x-api-key: YOUR_API_KEY' \
  'https://api.predexon.com/v2/markets?limit=1&category=sports&league=fl1&event_id=fl1-asm-met-2026-05-02' \
  | python -m json.tool
{
  "markets": [
    {
      "event_id": "fl1-asm-met-2026-05-02",
      "market_title": "Monaco vs Metz Winner?",
      "starts_at": "2026-05-02T00:00:00+00:00",
      "status": "open",
      "venues": ["kalshi", "polymarket"],
      "outcomes": [
        {
          "predexon_id": "px-udfdzy5gtmm4kdoa",
          "outcome": "asm",
          "market_type": "game_winner",
          "outcome_label": "Monaco",
          "claim": "Monaco win fl1-asm-met-2026-05-02.",
          "status": "open",
          "venues": ["kalshi", "polymarket"]
        },
        {
          "predexon_id": "px-45mbzcmzgir33767",
          "outcome": "draw",
          "market_type": "game_winner",
          "outcome_label": "Draw",
          "claim": "Draw in fl1-asm-met-2026-05-02.",
          "status": "open",
          "venues": ["kalshi", "polymarket"]
        },
        {
          "predexon_id": "px-ifcdu3x2c56kzxcq",
          "outcome": "met",
          "market_type": "game_winner",
          "outcome_label": "Metz",
          "claim": "Metz win fl1-asm-met-2026-05-02.",
          "status": "open",
          "venues": ["kalshi", "polymarket"]
        }
      ],
      "league": "fl1"
    }
  ],
  "pagination": {
    "limit": 1,
    "has_more": true,
    "pagination_key": "<string>"
  }
}

Authorizations

x-api-key
string
header
required

Query Parameters

limit
integer
default:20

Number of canonical markets to return.

Required range: 1 <= x <= 200
pagination_key
string

Cursor from the previous response. Omit on the first request. Cursor for next page.

Text search over market titles and canonical claims.

venue
enum<string>

Filter to markets available on one venue.

Available options:
kalshi,
polymarket,
limitless,
opinion,
predict
status
enum<string>

Market status filter.

Available options:
open,
closed
category
enum<string>

Broad market category.

Available options:
sports,
crypto,
politics,
entertainment,
economics,
weather,
general
league
string

Sports-only league filter. Only use with category=sports or by itself to imply sports.

event_id
string

Fetch a specific canonical market/question scope.

Response

Successful Response

markets
object[]
pagination
object