Kalshi odds API

Kalshi prices as structured JSON through one REST API.

Kalshi is a prediction market with the bookmaker key kalshi. SockOdds is independent and is not affiliated with or endorsed by Kalshi.

Leagues

Kalshi prices are delivered for 11 leagues as of 30 October 2026: Bundesliga, English Premier League, La Liga, Ligue 1, MLB, MLS, NBA, College football, NFL, NHL and Serie A.

Request Kalshi prices

Filter any odds request to Kalshi with bookmakers=kalshi:

curl -sS "https://api.sockodds.com/v1/odds?league=ncaaf&bookmakers=kalshi&markets=winner&limit=1&starts_after=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
const response = await fetch(`https://api.sockodds.com/v1/odds?league=ncaaf&bookmakers=kalshi&markets=winner&limit=1&starts_after=${new Date().toISOString().slice(0, 19)}Z`, {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
import json, os, urllib.request
from datetime import datetime, timezone

request = urllib.request.Request(
    f"https://api.sockodds.com/v1/odds?league=ncaaf&bookmakers=kalshi&markets=winner&limit=1&starts_after={datetime.now(timezone.utc):%Y-%m-%dT%H:%M:%SZ}",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    print(json.dumps(json.load(response), indent=2))

Response from a local copy of the API with invented test prices

{
  "data": [
    {
      "id": "ev_000ckk0nc1tg",
      "name": "Abilene Christian Wildcats v Air Force Falcons",
      "league": {
        "key": "ncaaf",
        "name": "College football"
      },
      "scheduled_start": "2026-10-16T19:00:00.000Z",
      "status": "scheduled",
      "participants": [
        {
          "role": "away",
          "identity": {
            "key": "air_force_falcons",
            "name": "Air Force Falcons"
          }
        },
        {
          "role": "home",
          "identity": {
            "key": "abilene_christian_wildcats",
            "name": "Abilene Christian Wildcats"
          }
        }
      ],
      "markets": [
        {
          "id": "mk_qpcfjj74vm67qng3",
          "key": "winner",
          "name": "Winner",
          "period": "full",
          "subject": null,
          "alternate": false,
          "outcomes": [
            {
              "id": "oc_2eq7ejh9tvepckre",
              "name": "Abilene Christian Wildcats",
              "side": "home",
              "line": null,
              "prices": [
                {
                  "bookmaker": "kalshi",
                  "decimal_odds": 1.69,
                  "implied_probability": 0.591716,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            },
            {
              "id": "oc_43ctd7dv6hy4dqjz",
              "name": "Air Force Falcons",
              "side": "away",
              "line": null,
              "prices": [
                {
                  "bookmaker": "kalshi",
                  "decimal_odds": 2.08,
                  "implied_probability": 0.480769,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "meta": {
    "count": 1,
    "cursor": null
  },
  "links": {
    "next": null
  }
}

Plans

Kalshi is included on Pro. See pricing for the bookmakers each plan includes.

Search across the SockOdds documentation and catalogue.