Sports

Matched markets with identifiers, outcomes, and current reference prices

Returns the same verified, live-filtered pair catalog as /matched-markets, with details and pricing attached to both sides. Unsupported markets, absent pricing results, and individual venue failures produce pricing: null without changing pair membership or pagination. Prices use each venue's API scale and are reference prices, not executable bids or asks. Returned pricing objects preserve null and zero prices and book_unavailable independently. Catalog or enrichment orchestration failures return 503. The page is capped at 150 pairs to bound request cost. Responses are not cacheable.

get/matched-markets/enriched

Request

  • Base URL
    https://data.kairos.trade
  • Auth
    none required

Query parameters

limitinteger

Maximum number of enriched pairs to return.

offsetinteger

Legacy pagination offset. Do not combine with cursor.

cursorstring

Opaque keyset cursor. Send an empty value on the first page, then pass each response next_cursor. A 409 requires restarting the walk.

providerstring

Filter to pairs where either side belongs to this provider.

min_similaritynumber double

Minimum similarity, clamped server-side to at least 0.82.

sort_by'similarity' | 'updated_at'

Offset-mode sort column. Cursor mode orders by canonical pair identity.

include_totalboolean

Include the total matching-pair count under pre-live filters.

Response

A page of verified pairs with details and best-effort reference pricing.

countinteger required

Number of pairs on this page after live-status post-filtering (may be less than limit).

limitinteger required
offsetinteger required
has_moreboolean required

Whether the underlying page (before live-status post-filtering) was full — not a strict function of count.

next_cursorstring nullable

Opaque cursor for the next keyset page. Present when cursor mode is requested.

catalog_versionstring

Full-set fingerprint shared by every page in one cursor walk.

totalinteger

Only present when include_total=true. Total matching-pair count under the pre-live-filter query filters.

Example response

{
  "pairs": [
    {
      "a": {
        "provider_id": 2,
        "provider": "polymarket",
        "market_id": "587234",
        "title": "Will the Celtics win?",
        "details": {
          "match_delay_ms": 1000
        }
      },
      "b": {
        "provider_id": 2,
        "provider": "polymarket",
        "market_id": "587234",
        "title": "Will the Celtics win?",
        "details": {
          "match_delay_ms": 1000
        }
      },
      "similarity": 0.94
    }
  ],
  "count": 42,
  "limit": 50,
  "total": 1284
}

Changes

No recorded changes to this operation across all 1 revision of this API.