---
title: "Enriched catalog of sport categories and leagues"
method: GET
path: "/sports/catalog"
tags: ["Sports"]
---

# Enriched catalog of sport categories and leagues

`GET /sports/catalog`

## Request

- Base URL: `https://data.kairos.trade`
- URL: `https://data.kairos.trade/sports/catalog`
- Auth: none required

Returns the curated sports taxonomy, including UEFA Europa League (`uel`) under soccer, with the provider series and tag identifiers clients need to request league events. Responses are cacheable.

## Response `200`

Sport categories, each with its leagues and resolved Polymarket seriesId.

- SportsCatalogResponse
  - `categories` SportsCatalogCategory[], required
    - `id` string, required
    - `label` string, required
    - `leagues` SportsCatalogLeague[], required
      - `slug` string, required
      - `label` string, required
      - `tagId` integer, required: Hardcoded constant shared by every league entry.
      - `seriesId` integer, nullable, required: Resolved Polymarket series id, or null if unresolved.

## Other responses

- `429`: Rate limit exceeded for this route's sliding window, keyed on the session `sub` when authenticated and on the trusted client IP otherwise. Honor `Retry-After`. A per-API-key data ceiling (set per credential) rejects with `{"detail": "API key data rate limit exceeded"}` instead of the `error` envelope below.

---

[API](https://skmtc.dev/kairos/apis/kairos-data-api.md) - [All operations](https://skmtc.dev/kairos/apis/kairos-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/kairos/apis/kairos-data-api/revisions/cf6b76079e38?raw)
