Skip to content
Kelly

Developers

askkelly.aiGet a key

games-and-markets

Copy page

Read a game's state, and a market's consensus prices and no-vig probabilities, each with its source and time.

On this page
MethodPathTitleAccessPriceMCP tool
GET/v1/gamesList gamespublic1none
GET/v1/slateGet the slate for a daypublic1get_slate
GET/v1/games/{game_id}Get a gamepublic1get_game
GET/v1/marketsList a game's marketspublic1none
GET/v1/markets/{market_id}Get a marketpublic1get_market

GET /v1/games

List gamesLink to this section

public, no key needed · 1 credit, not charged during the beta · status live

Games by competition, season, week or date, with their state. Never sorted or filtered by a betting measure. Items carry each game's state and teams; get_game adds its markets and box scores. Filter by date with from and to (kickoff times, RFC 3339).

ParametersLink to this section

competitionstring · query

Only this competition's games, by slug (nfl) or ID (cmp_).

min length 1 · max length 40

seasonstring · query

Only this season's games, by label (2026).

pattern ^[0-9]{4}(-[0-9]{2})?$

weekinteger · query

Only this week's games.

min 0 · max 30

statusstring · query

Only games in this state.

One of: scheduled, live, final, postponed, cancelled, suspended (open: new values may be added).

fromstring · query

Only games kicking off at or after this time.

format date-time

tostring · query

Only games kicking off before this time.

format date-time

limitinteger · query

Items per page, 1 to 50; default 20.

min 1 · max 50 · default 20

cursorstring · query

The next_cursor of the previous page. Send the same filters with it; changed filters are refused with invalid_request.

min length 1 · max length 512

ResponseLink to this section

200 A page of games, in kickoff order.

objectconstrequired

Always list.

Always "list".

dataarray of objectrequired

The page's games, in the list's documented order.

Show 31 fields
objectconstrequired

Always game.

Always "game".

idstringrequired

The game's Kelly ID (gm_).

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

namestringrequired

The game's name, such as Kansas City Chiefs at Las Vegas Raiders.

competitionstringnullable

The competition's slug, such as nfl.

sportstringnullable

The sport's slug, such as american_football.

seasonstringnullable

The season's label, such as 2026 or 2026-27.

weekintegernullable

The week, in sports that have weeks.

season_typestringnullable

The season type as the source names it (REG, POST, ...).

kickoff_atstringnullable

Scheduled start.

format date-time

kickoff_datestringnullable

The date, for a source that gives no time (kickoff_at is then null).

format date

venuestringnullable

The venue.

statusstringrequired

scheduled, live, final, postponed, cancelled or suspended.

One of: scheduled, live, final, postponed, cancelled, suspended (open: new values may be added).

scoreobjectnullable

The score, once the game has one.

Show 2 fields
homeintegernullable

Home points.

awayintegernullable

Away points.

periodstringnullable

The period while it is live.

clockstringnullable

The game clock while it is live.

possessionstringnullable

The team with the ball (tm_), while it is live.

last_playstringnullable

The last play, written by Kelly's template.

state_provenanceany

Where the latest state change came from, and when.

home_teamany

The home team.

away_teamany

The away team.

marketsarray of object

The game's markets, by identity (get_market has their numbers). Absent from list_games items; the slate's items carry them.

Show 7 fields
idstring

The market's Kelly ID (mkt_).

pattern ^mkt_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

kindstring

game, prop, future or exchange.

typestring

The market type: h2h, spreads, totals or a prop.

periodstring

The period: full, h1, q1, ...

participant_idstringnullable

A prop's player or team (plr_ or tm_).

namestringnullable

The market's name.

provenanceany

Where it came from, and when.

player_statsarray of object

Each player's box score, once the source has one. Absent from list items.

Show 7 fields
subject_idstring

The player's ID.

pattern ^plr_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

team_statsarray of object

Each team's box score. Absent from list items.

Show 7 fields
subject_idstring

The team's ID.

pattern ^tm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

provenanceany

Where the game's identity came from.

as_ofstringrequired

When the value was true; for a derived value, its newest input's time.

format date-time

sourcestringrequired

Who produced the value, as shown to readers.

min length 1

stale_after_msintegernullable

On live data: milliseconds it stays current.

min 0

attributionstringnullable

Attribution the source's terms require.

request_idstringnullable

The request that produced this response.

live_topicsarray of string

Kelly Wire topics that update this resource (API and cards only).

rg_linestringnullable

The cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.

has_morebooleanrequired

Whether another page follows.

next_cursorstringnullable

Opaque cursor for the next page; send it with the same filters.

ErrorsLink to this section

invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled

ExampleLink to this section

Request
GET https://api.askkelly.ai/v1/games?week=4
Authorization: Bearer $KELLY_API_KEY
Response, 403
{
  "type": "https://docs.askkelly.ai/problems/insufficient_scope",
  "title": "Insufficient scope",
  "status": 403,
  "code": "insufficient_scope",
  "detail": "This needs the read:odds scope.",
  "param": "read:odds",
  "doc_url": "https://docs.askkelly.ai/problems/insufficient_scope",
  "request_id": "req_c30917dfb63afc8fb046ccff",
  "retryable": false,
  "display_message": "This app needs one more permission to do that."
}
Request
GET https://api.askkelly.ai/v1/games?competition=nfl&week=4&limit=2
Authorization: Bearer $KELLY_API_KEY
Response, 200
{
  "object": "list",
  "data": [
    {
      "object": "game",
      "id": "gm_hwxy9tewzag7fee8hb01",
      "name": "Indianapolis Colts at Washington Commanders",
      "competition": "nfl",
      "sport": "american_football",
      "season": "2026",
      "week": 4,
      "season_type": "REG",
      "kickoff_at": "2026-10-04T13:30:00Z",
      "kickoff_date": null,
      "venue": null,
      "status": "final",
      "score": {
        "home": 13,
        "away": 30
      },
      "period": null,
      "clock": null,
      "possession": null,
      "last_play": null,
      "state_provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T16:40:03Z",
        "ingest_ts": "2026-10-05T04:00:00Z"
      },
      "home_team": {
        "id": "tm_djajaghvddks6vyzqqd7",
        "name": "Washington Commanders",
        "abbreviation": "WAS",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "WAS"
            }
          ]
        }
      },
      "away_team": {
        "id": "tm_sk506ccpxwra4vkkdqch",
        "name": "Indianapolis Colts",
        "abbreviation": "IND",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "IND"
            }
          ]
        }
      },
      "provenance": {
        "source": "nflverse",
        "source_ts": "2026-10-04T16:40:03Z",
        "ingest_ts": "2026-10-05T04:00:00Z",
        "known_by": [
          {
            "source": "nflverse",
            "source_id": "2026_04_IND_WAS"
          },
          {
            "source": "the_odds_api",
            "source_id": "e10fd48054b3ef2e1a30f68baf9913a1"
          }
        ]
      },
      "as_of": "2026-10-04T16:40:03Z",
      "source": "the_odds_api",
      "attribution": "Odds data via The Odds API; nflverse data (CC BY 4.0)",
      "request_id": "req_bddaee6668375cd1f6d01934",
      "live_topics": [],
      "rg_line": null
    },
    {
      "object": "game",
      "id": "gm_5t1kg2twycs4tymwyvgd",
      "name": "New England Patriots at Buffalo Bills",
      "competition": "nfl",
      "sport": "american_football",
      "season": "2026",
      "week": 4,
      "season_type": "REG",
      "kickoff_at": "2026-10-04T17:00:00Z",
      "kickoff_date": null,
      "venue": null,
      "status": "final",
      "score": {
        "home": 26,
        "away": 29
      },
      "period": null,
      "clock": null,
      "possession": null,
      "last_play": null,
      "state_provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T20:11:48Z",
        "ingest_ts": "2026-10-05T04:00:00Z"
      },
      "home_team": {
        "id": "tm_xxq34syya7a322s20xqm",
        "name": "Buffalo Bills",
        "abbreviation": "BUF",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "BUF"
            }
          ]
        }
      },
      "away_team": {
        "id": "tm_bd0kys7yd28x4t2dva2j",
        "name": "New England Patriots",
        "abbreviation": "NE",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "NE"
            }
          ]
        }
      },
      "provenance": {
        "source": "nflverse",
        "source_ts": "2026-10-04T20:11:48Z",
        "ingest_ts": "2026-10-05T04:00:00Z",
        "known_by": [
          {
            "source": "nflverse",
            "source_id": "2026_04_NE_BUF"
          },
          {
            "source": "the_odds_api",
            "source_id": "d35abed649bd63e347ec213dbfb85066"
          }
        ]
      },
      "as_of": "2026-10-04T20:11:48Z",
      "source": "the_odds_api",
      "attribution": "Odds data via The Odds API; nflverse data (CC BY 4.0)",
      "request_id": "req_bddaee6668375cd1f6d01934",
      "live_topics": [],
      "rg_line": null
    }
  ],
  "has_more": true,
  "next_cursor": "eyJ2IjoxLCJvIjoyLCJmIjoiN2JjYjEwMWNkZmVhZGJmZCJ9"
}
  1. the_odds_api · as of 2026-10-04T16:40:03Z · Odds data via The Odds API; nflverse data (CC BY 4.0)
  2. the_odds_api · happened at 2026-10-04T16:40:03Z
  3. nflverse · happened at 2026-10-04T12:00:00Z
  4. nflverse · happened at 2026-10-04T12:00:00Z
  5. nflverse · happened at 2026-10-04T16:40:03Z
  6. the_odds_api · as of 2026-10-04T20:11:48Z · Odds data via The Odds API; nflverse data (CC BY 4.0)
  7. the_odds_api · happened at 2026-10-04T20:11:48Z
  8. nflverse · happened at 2026-10-04T12:00:00Z
  9. nflverse · happened at 2026-10-04T12:00:00Z
  10. nflverse · happened at 2026-10-04T20:11:48Z

GET /v1/slate

Get the slate for a dayLink to this section

public, no key needed · 1 credit, not charged during the beta · MCP tool get_slate · status live

Every sport's games kicking off on one day (today unless you name a date), local to the time zone you name (US Eastern by default), in kickoff order, with their state and markets. Never sorted or filtered by a betting measure. Every sport's games kicking off on one local day, with their markets by identity: get_market has a market's prices. Test-mode keys read the sandbox (the recorded Sunday, 2026-10-04).

ParametersLink to this section

datestring · query

The local day, YYYY-MM-DD. Default: today in tz.

format date

tzstring · query

The IANA time zone the day is local to, such as Europe/London or UTC. Default: America/New_York, so a US evening kickoff stays on its own day.

pattern ^[A-Za-z][A-Za-z0-9_+\-]*(/[A-Za-z0-9_+\-]+){0,2}$ · min length 1 · max length 64 · default "America/New_York"

sportstring · query

Only this sport's games, by sport slug (american_football) or competition slug (nfl).

pattern ^[a-z0-9][a-z0-9_]{0,40}$

competitionstring · query

Only this competition's games, by slug (nfl).

pattern ^[a-z0-9][a-z0-9_]{0,40}$

statusstring · query

Only games in this state: scheduled (still to come), live (suspended included) or final.

One of: scheduled, live, final (open: new values may be added).

limitinteger · query

Items per page, 1 to 50; default 25.

min 1 · max 50 · default 25

cursorstring · query

The next_cursor of the previous page. Send the same filters with it; changed filters are refused with invalid_request.

min length 1 · max length 512

ResponseLink to this section

200 A page of the day's games, in kickoff order.

objectconstrequired

Always slate.

Always "slate".

datestringrequired

The local day, YYYY-MM-DD: the date asked for, else today in tz.

format date

timezonestringrequired

The IANA time zone the day is local to (the tz asked for).

starts_atstringrequired

The day's start in UTC (inclusive).

format date-time

ends_atstringrequired

The day's end in UTC (exclusive); 23 or 25 hours after starts_at on a clock-change day.

format date-time

game_countintegerrequired

How many games match, on every page.

dataarray of objectrequired

The page's games, each with its teams, state and markets by identity (no box scores).

Show 31 fields
objectconstrequired

Always game.

Always "game".

idstringrequired

The game's Kelly ID (gm_).

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

namestringrequired

The game's name, such as Kansas City Chiefs at Las Vegas Raiders.

competitionstringnullable

The competition's slug, such as nfl.

sportstringnullable

The sport's slug, such as american_football.

seasonstringnullable

The season's label, such as 2026 or 2026-27.

weekintegernullable

The week, in sports that have weeks.

season_typestringnullable

The season type as the source names it (REG, POST, ...).

kickoff_atstringnullable

Scheduled start.

format date-time

kickoff_datestringnullable

The date, for a source that gives no time (kickoff_at is then null).

format date

venuestringnullable

The venue.

statusstringrequired

scheduled, live, final, postponed, cancelled or suspended.

One of: scheduled, live, final, postponed, cancelled, suspended (open: new values may be added).

scoreobjectnullable

The score, once the game has one.

Show 2 fields
homeintegernullable

Home points.

awayintegernullable

Away points.

periodstringnullable

The period while it is live.

clockstringnullable

The game clock while it is live.

possessionstringnullable

The team with the ball (tm_), while it is live.

last_playstringnullable

The last play, written by Kelly's template.

state_provenanceany

Where the latest state change came from, and when.

home_teamany

The home team.

away_teamany

The away team.

marketsarray of object

The game's markets, by identity (get_market has their numbers). Absent from list_games items; the slate's items carry them.

Show 7 fields
idstring

The market's Kelly ID (mkt_).

pattern ^mkt_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

kindstring

game, prop, future or exchange.

typestring

The market type: h2h, spreads, totals or a prop.

periodstring

The period: full, h1, q1, ...

participant_idstringnullable

A prop's player or team (plr_ or tm_).

namestringnullable

The market's name.

provenanceany

Where it came from, and when.

player_statsarray of object

Each player's box score, once the source has one. Absent from list items.

Show 7 fields
subject_idstring

The player's ID.

pattern ^plr_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

team_statsarray of object

Each team's box score. Absent from list items.

Show 7 fields
subject_idstring

The team's ID.

pattern ^tm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

provenanceany

Where the game's identity came from.

as_ofstringrequired

When the value was true; for a derived value, its newest input's time.

format date-time

sourcestringrequired

Who produced the value, as shown to readers.

min length 1

stale_after_msintegernullable

On live data: milliseconds it stays current.

min 0

attributionstringnullable

Attribution the source's terms require.

request_idstringnullable

The request that produced this response.

live_topicsarray of string

Kelly Wire topics that update this resource (API and cards only).

rg_linestringnullable

The cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.

has_morebooleanrequired

Whether another page follows.

next_cursorstringnullable

Opaque cursor for the next page; send it with the same date, tz and filters.

ErrorsLink to this section

invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled

ExampleLink to this section

Request
GET https://api.askkelly.ai/v1/slate?date=2026-10-04&tz=America/New_York&limit=2
Authorization: Bearer $KELLY_API_KEY
Response, 200
{
  "object": "slate",
  "date": "2026-10-04",
  "timezone": "America/New_York",
  "starts_at": "2026-10-04T04:00:00Z",
  "ends_at": "2026-10-05T04:00:00Z",
  "game_count": 14,
  "data": [
    {
      "object": "game",
      "id": "gm_hwxy9tewzag7fee8hb01",
      "name": "Indianapolis Colts at Washington Commanders",
      "competition": "nfl",
      "sport": "american_football",
      "season": "2026",
      "week": 4,
      "season_type": "REG",
      "kickoff_at": "2026-10-04T13:30:00Z",
      "kickoff_date": null,
      "venue": null,
      "status": "final",
      "score": {
        "home": 13,
        "away": 30
      },
      "period": null,
      "clock": null,
      "possession": null,
      "last_play": null,
      "state_provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T16:40:03Z",
        "ingest_ts": "2026-10-05T04:00:00Z"
      },
      "home_team": {
        "id": "tm_djajaghvddks6vyzqqd7",
        "name": "Washington Commanders",
        "abbreviation": "WAS",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "WAS"
            }
          ]
        }
      },
      "away_team": {
        "id": "tm_sk506ccpxwra4vkkdqch",
        "name": "Indianapolis Colts",
        "abbreviation": "IND",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "IND"
            }
          ]
        }
      },
      "markets": [
        {
          "id": "mkt_v9pbqvqz1m7vcxt0adyq",
          "kind": "game",
          "type": "h2h",
          "period": "full",
          "participant_id": null,
          "name": "h2h",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        },
        {
          "id": "mkt_g4jv3z10p5y7bj1ep3th",
          "kind": "game",
          "type": "spreads",
          "period": "full",
          "participant_id": null,
          "name": "spreads",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        },
        {
          "id": "mkt_ywr7g8xgdtdda2rkd6mx",
          "kind": "game",
          "type": "totals",
          "period": "full",
          "participant_id": null,
          "name": "totals",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        }
      ],
      "provenance": {
        "source": "nflverse",
        "source_ts": "2026-10-04T16:40:03Z",
        "ingest_ts": "2026-10-05T04:00:00Z",
        "known_by": [
          {
            "source": "nflverse",
            "source_id": "2026_04_IND_WAS"
          },
          {
            "source": "the_odds_api",
            "source_id": "e10fd48054b3ef2e1a30f68baf9913a1"
          }
        ]
      },
      "as_of": "2026-10-04T16:40:03Z",
      "source": "the_odds_api",
      "attribution": "Odds data via The Odds API; nflverse data (CC BY 4.0)",
      "request_id": "req_a46f72a315ef3ad52ba4c94a",
      "live_topics": [],
      "rg_line": null
    },
    {
      "object": "game",
      "id": "gm_5t1kg2twycs4tymwyvgd",
      "name": "New England Patriots at Buffalo Bills",
      "competition": "nfl",
      "sport": "american_football",
      "season": "2026",
      "week": 4,
      "season_type": "REG",
      "kickoff_at": "2026-10-04T17:00:00Z",
      "kickoff_date": null,
      "venue": null,
      "status": "final",
      "score": {
        "home": 26,
        "away": 29
      },
      "period": null,
      "clock": null,
      "possession": null,
      "last_play": null,
      "state_provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T20:11:48Z",
        "ingest_ts": "2026-10-05T04:00:00Z"
      },
      "home_team": {
        "id": "tm_xxq34syya7a322s20xqm",
        "name": "Buffalo Bills",
        "abbreviation": "BUF",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "BUF"
            }
          ]
        }
      },
      "away_team": {
        "id": "tm_bd0kys7yd28x4t2dva2j",
        "name": "New England Patriots",
        "abbreviation": "NE",
        "competition": "nfl",
        "provenance": {
          "source": "nflverse",
          "source_ts": "2026-10-04T12:00:00Z",
          "ingest_ts": "2026-10-04T12:00:00Z",
          "known_by": [
            {
              "source": "nflverse",
              "source_id": "NE"
            }
          ]
        }
      },
      "markets": [
        {
          "id": "mkt_zby9shdxyzgts9pfzphk",
          "kind": "game",
          "type": "h2h",
          "period": "full",
          "participant_id": null,
          "name": "h2h",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        },
        {
          "id": "mkt_h9kj8bwj5hj3b24zetpm",
          "kind": "game",
          "type": "spreads",
          "period": "full",
          "participant_id": null,
          "name": "spreads",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        },
        {
          "id": "mkt_b8rrratwk5r4qd5q6zg5",
          "kind": "game",
          "type": "totals",
          "period": "full",
          "participant_id": null,
          "name": "totals",
          "provenance": {
            "source": "the_odds_api",
            "source_ts": "2026-10-04T13:00:00Z",
            "ingest_ts": "2026-10-04T13:00:00Z"
          }
        }
      ],
      "provenance": {
        "source": "nflverse",
        "source_ts": "2026-10-04T20:11:48Z",
        "ingest_ts": "2026-10-05T04:00:00Z",
        "known_by": [
          {
            "source": "nflverse",
            "source_id": "2026_04_NE_BUF"
          },
          {
            "source": "the_odds_api",
            "source_id": "d35abed649bd63e347ec213dbfb85066"
          }
        ]
      },
      "as_of": "2026-10-04T20:11:48Z",
      "source": "the_odds_api",
      "attribution": "Odds data via The Odds API; nflverse data (CC BY 4.0)",
      "request_id": "req_a46f72a315ef3ad52ba4c94a",
      "live_topics": [],
      "rg_line": null
    }
  ],
  "has_more": true,
  "next_cursor": "eyJ2IjoxLCJvIjoyLCJmIjoiN2I4MWFkYjI1OWUwNTBiNCJ9"
}
  1. the_odds_api · as of 2026-10-04T16:40:03Z · Odds data via The Odds API; nflverse data (CC BY 4.0)
  2. the_odds_api · happened at 2026-10-04T16:40:03Z
  3. nflverse · happened at 2026-10-04T12:00:00Z
  4. nflverse · happened at 2026-10-04T12:00:00Z
  5. the_odds_api · happened at 2026-10-04T13:00:00Z
  6. the_odds_api · happened at 2026-10-04T13:00:00Z
  7. the_odds_api · happened at 2026-10-04T13:00:00Z
  8. nflverse · happened at 2026-10-04T16:40:03Z
  9. the_odds_api · as of 2026-10-04T20:11:48Z · Odds data via The Odds API; nflverse data (CC BY 4.0)
  10. the_odds_api · happened at 2026-10-04T20:11:48Z
  11. nflverse · happened at 2026-10-04T12:00:00Z
  12. nflverse · happened at 2026-10-04T12:00:00Z
  13. the_odds_api · happened at 2026-10-04T13:00:00Z
  14. the_odds_api · happened at 2026-10-04T13:00:00Z
  15. the_odds_api · happened at 2026-10-04T13:00:00Z
  16. nflverse · happened at 2026-10-04T20:11:48Z
Request
GET https://api.askkelly.ai/v1/slate?tz=Mars/Olympus_Mons
Authorization: Bearer $KELLY_API_KEY
Response, 400
{
  "type": "https://docs.askkelly.ai/problems/invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "tz: Value error, tz needs an IANA time zone, such as America/New_York or UTC",
  "param": "tz",
  "doc_url": "https://docs.askkelly.ai/problems/invalid_request",
  "request_id": "req_7ff1023de08ad5bcf968d6d1",
  "retryable": false,
  "display_message": "Something in that request was not understood."
}

GET /v1/games/{game_id}

Get a gameLink to this section

public, no key needed · 1 credit, not charged during the beta · MCP tool get_game · status live

One game's schedule, live or final state, teams, markets and box scores, with live_topics while it is live. While the game is live, live_topics names its Kelly Wire topic and stale_after_ms how long its state stays current.

ParametersLink to this section

game_idstring · pathrequired

The game's Kelly ID (gm_), from search or list_games.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

ResponseLink to this section

200 The game.

objectconstrequired

Always game.

Always "game".

idstringrequired

The game's Kelly ID (gm_).

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

namestringrequired

The game's name, such as Kansas City Chiefs at Las Vegas Raiders.

competitionstringnullable

The competition's slug, such as nfl.

sportstringnullable

The sport's slug, such as american_football.

seasonstringnullable

The season's label, such as 2026 or 2026-27.

weekintegernullable

The week, in sports that have weeks.

season_typestringnullable

The season type as the source names it (REG, POST, ...).

kickoff_atstringnullable

Scheduled start.

format date-time

kickoff_datestringnullable

The date, for a source that gives no time (kickoff_at is then null).

format date

venuestringnullable

The venue.

statusstringrequired

scheduled, live, final, postponed, cancelled or suspended.

One of: scheduled, live, final, postponed, cancelled, suspended (open: new values may be added).

scoreobjectnullable

The score, once the game has one.

Show 2 fields
homeintegernullable

Home points.

awayintegernullable

Away points.

periodstringnullable

The period while it is live.

clockstringnullable

The game clock while it is live.

possessionstringnullable

The team with the ball (tm_), while it is live.

last_playstringnullable

The last play, written by Kelly's template.

state_provenanceany

Where the latest state change came from, and when.

home_teamany

The home team.

away_teamany

The away team.

marketsarray of object

The game's markets, by identity (get_market has their numbers). Absent from list_games items; the slate's items carry them.

Show 7 fields
idstring

The market's Kelly ID (mkt_).

pattern ^mkt_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

kindstring

game, prop, future or exchange.

typestring

The market type: h2h, spreads, totals or a prop.

periodstring

The period: full, h1, q1, ...

participant_idstringnullable

A prop's player or team (plr_ or tm_).

namestringnullable

The market's name.

provenanceany

Where it came from, and when.

player_statsarray of object

Each player's box score, once the source has one. Absent from list items.

Show 7 fields
subject_idstring

The player's ID.

pattern ^plr_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

team_statsarray of object

Each team's box score. Absent from list items.

Show 7 fields
subject_idstring

The team's ID.

pattern ^tm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

game_idstringnullable

The game's ID.

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

seasonstringnullable

The season's label.

season_typestringnullable

regular, postseason or preseason.

basisstringnullable

total or per_game.

statsobject

Stat values by Kelly's stat key, as the source gave them: an integer, or a decimal as a string of its exact digits. Only stats the register serves on the API appear.

provenanceany

Where it came from, and when.

provenanceany

Where the game's identity came from.

as_ofstringrequired

When the value was true; for a derived value, its newest input's time.

format date-time

sourcestringrequired

Who produced the value, as shown to readers.

min length 1

stale_after_msintegernullable

On live data: milliseconds it stays current.

min 0

attributionstringnullable

Attribution the source's terms require.

request_idstringnullable

The request that produced this response.

live_topicsarray of string

Kelly Wire topics that update this resource (API and cards only).

rg_linestringnullable

The cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.

ErrorsLink to this section

invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled · not_found

ExampleLink to this section

Request
GET https://api.askkelly.ai/v1/games/gm_55zc8ywp3mzwg79py6mv
Authorization: Bearer $KELLY_API_KEY
Response, 200
{
  "object": "game",
  "id": "gm_55zc8ywp3mzwg79py6mv",
  "name": "Kansas City Chiefs at Las Vegas Raiders",
  "competition": "nfl",
  "sport": "american_football",
  "season": "2026",
  "week": 4,
  "season_type": "REG",
  "kickoff_at": "2026-10-04T20:25:00Z",
  "kickoff_date": null,
  "venue": null,
  "status": "final",
  "score": {
    "home": 27,
    "away": 30
  },
  "period": null,
  "clock": null,
  "possession": null,
  "last_play": null,
  "state_provenance": {
    "source": "the_odds_api",
    "source_ts": "2026-10-04T23:44:18Z",
    "ingest_ts": "2026-10-05T04:00:00Z"
  },
  "home_team": {
    "id": "tm_mp49sdajkwdncngf5twg",
    "name": "Las Vegas Raiders",
    "abbreviation": "LV",
    "competition": "nfl",
    "provenance": {
      "source": "nflverse",
      "source_ts": "2026-10-04T12:00:00Z",
      "ingest_ts": "2026-10-04T12:00:00Z",
      "known_by": [
        {
          "source": "nflverse",
          "source_id": "LV"
        }
      ]
    }
  },
  "away_team": {
    "id": "tm_0xcwddhkbjaqggrxg4xg",
    "name": "Kansas City Chiefs",
    "abbreviation": "KC",
    "competition": "nfl",
    "provenance": {
      "source": "nflverse",
      "source_ts": "2026-10-04T12:00:00Z",
      "ingest_ts": "2026-10-04T12:00:00Z",
      "known_by": [
        {
          "source": "nflverse",
          "source_id": "KC"
        }
      ]
    }
  },
  "markets": [
    {
      "id": "mkt_f1sgktw2wqexfkatnd75",
      "kind": "game",
      "type": "h2h",
      "period": "full",
      "participant_id": null,
      "name": "h2h",
      "provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T13:00:00Z",
        "ingest_ts": "2026-10-04T13:00:00Z"
      }
    },
    {
      "id": "mkt_n481aesj0qg3sdm752gh",
      "kind": "game",
      "type": "spreads",
      "period": "full",
      "participant_id": null,
      "name": "spreads",
      "provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T13:00:00Z",
        "ingest_ts": "2026-10-04T13:00:00Z"
      }
    },
    {
      "id": "mkt_2qnaqfq9bvfhh1djyb53",
      "kind": "game",
      "type": "totals",
      "period": "full",
      "participant_id": null,
      "name": "totals",
      "provenance": {
        "source": "the_odds_api",
        "source_ts": "2026-10-04T13:00:00Z",
        "ingest_ts": "2026-10-04T13:00:00Z"
      }
    }
  ],
  "provenance": {
    "source": "nflverse",
    "source_ts": "2026-10-04T23:44:18Z",
    "ingest_ts": "2026-10-05T04:00:00Z",
    "known_by": [
      {
        "source": "nflverse",
        "source_id": "2026_04_KC_LV"
      },
      {
        "source": "the_odds_api",
        "source_id": "50d275b6c21abf3f19590e616ef1e742"
      }
    ]
  },
  "as_of": "2026-10-04T23:44:18Z",
  "source": "the_odds_api",
  "attribution": "Odds data via The Odds API; nflverse data (CC BY 4.0)",
  "request_id": "req_27e3a6703d4514aa34688947",
  "live_topics": [],
  "rg_line": null
}
  1. the_odds_api · as of 2026-10-04T23:44:18Z · Odds data via The Odds API; nflverse data (CC BY 4.0)
  2. the_odds_api · happened at 2026-10-04T23:44:18Z
  3. nflverse · happened at 2026-10-04T12:00:00Z
  4. nflverse · happened at 2026-10-04T12:00:00Z
  5. the_odds_api · happened at 2026-10-04T13:00:00Z
  6. the_odds_api · happened at 2026-10-04T13:00:00Z
  7. the_odds_api · happened at 2026-10-04T13:00:00Z
  8. nflverse · happened at 2026-10-04T23:44:18Z
Request
GET https://api.askkelly.ai/v1/games/gm_00000000000000000000
Authorization: Bearer $KELLY_API_KEY
Response, 404
{
  "type": "https://docs.askkelly.ai/problems/not_found",
  "title": "Not found",
  "status": 404,
  "code": "not_found",
  "detail": "No game with that game_id is served.",
  "param": "game_id",
  "doc_url": "https://docs.askkelly.ai/problems/not_found",
  "request_id": "req_ef4f04ad0cdf665aceded762",
  "retryable": false,
  "display_message": "That could not be found."
}

GET /v1/markets

List a game's marketsLink to this section

public, no key needed · 1 credit, not charged during the beta · status live

The markets of a game, each with its consensus line. Lists carry no edge (D21). Each item is the market as get_market returns it with no side named.

ParametersLink to this section

game_idstring · queryrequired

The game whose markets to list (gm_).

pattern ^gm_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

kindstring · query

Only markets of this kind.

One of: game, prop, future, exchange (open: new values may be added).

limitinteger · query

Items per page, 1 to 50; default 20.

min 1 · max 50 · default 20

cursorstring · query

The next_cursor of the previous page. Send the same filters with it; changed filters are refused with invalid_request.

min length 1 · max length 512

ResponseLink to this section

200 A page of the game's markets.

objectconstrequired

Always list.

Always "list".

dataarray of objectrequired

The page's markets, in the list's documented order.

Show 19 fields
objectconstrequired

Always market.

Always "market".

idstringrequired

Market ID (mkt_).

namestringnullable

Market name.

game_idstringnullable

Game ID (gm_).

kindstringrequired

Market kind: game, prop, future, exchange.

market_typestringrequired

Market type: h2h, spreads, totals, a prop.

periodstringrequired

Period: full, h1, q1, …

statusstringrequired

Consensus status: ok, or why there is none.

One of: ok, too_few_books, no_prices (open: new values may be added).

consensus_linenumbernullable

Consensus line.

holdnumbernullable

Books' hold.

min 0 · max 1

books_countintegerrequired

Books in the consensus.

min 0

movementobjectnullable

Movement since open.

Show 3 fields
opened_atstringnullable

Opening time.

format date-time

open_linenumbernullable

Opening consensus line.

line_changenumbernullable

Movement since open.

as_ofstringnullable

The newest book time behind the consensus.

format date-time

sourcestring

Source shown to readers.

attributionstring

Required attribution.

selectionsarray of objectrequired

Every side, in the market's order.

Show 14 fields
idstring

Selection ID (sel_).

namestringnullable

Selection name.

sidestring

Side: home, away, over, under, draw, yes, no, or a participant.

pointnumbernullable

The consensus line for this side.

pricenumbernullable

Consensus decimal price.

implied_probnumbernullable

Implied probability, vig in.

min 0 · max 1

no_vig_probnumbernullable

No-vig probability.

min 0 · max 1

break_evennumbernullable

Break-even at the offered or consensus price.

min 0 · max 1

price_basisstring

Which price the break-even is at (D27).

One of: user, consensus (open: new values may be added).

edge_status_price_basisstring

Which price edge_status is read at: off askkelly.ai always the consensus price (D34).

One of: user, consensus (open: new values may be added).

offered_priceobjectnullable

The offered price.

Show 5 fields
americannumber

American odds.

decimalnumber

Decimal odds.

fractionalstring

Fractional odds.

centsnumber

Cents per $1.

implied_probnumber

Implied probability.

edge_statusstringnullable

D18's edge status, on named selections only.

One of: edge, no_edge, not_validated, market_only (open: new values may be added).

edge_status_labelstring

The brand label key for the edge status.

edge_status_reasonstring

Why this status (a stable code).

request_idstringnullable

The request that produced this response.

live_topicsarray of string

Kelly Wire topics that update this resource (API and cards only).

rg_linestringnullable

The cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.

has_morebooleanrequired

Whether another page follows.

next_cursorstringnullable

Opaque cursor for the next page; send it with the same filters.

ErrorsLink to this section

invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled · not_found

ExampleLink to this section

Request
GET https://api.askkelly.ai/v1/markets?game_id=gm_55zc8ywp3mzwg79py6mv&limit=1
Authorization: Bearer $KELLY_API_KEY
Response, 200
{
  "object": "list",
  "data": [
    {
      "object": "market",
      "id": "mkt_f1sgktw2wqexfkatnd75",
      "name": "Las Vegas Raiders / Kansas City Chiefs",
      "game_id": "gm_55zc8ywp3mzwg79py6mv",
      "kind": "game",
      "market_type": "h2h",
      "period": "full",
      "status": "ok",
      "consensus_line": null,
      "hold": 0.043357,
      "books_count": 2,
      "movement": {
        "opened_at": "2026-10-04T12:59:00Z",
        "open_line": null,
        "line_change": null
      },
      "as_of": "2026-10-04T12:59:00Z",
      "source": "Kelly consensus of 2 books",
      "attribution": "Odds data via The Odds API",
      "selections": [
        {
          "id": "sel_m0h3mmt73xpb6hgz8p0b",
          "name": "Las Vegas Raiders",
          "side": "home",
          "point": null,
          "price": 2.85,
          "implied_prob": 0.350877,
          "no_vig_prob": 0.324324,
          "break_even": 0.350877,
          "edge_status": null
        },
        {
          "id": "sel_prpdvg0dqppc6mqc4wns",
          "name": "Kansas City Chiefs",
          "side": "away",
          "point": null,
          "price": 1.44,
          "implied_prob": 0.694444,
          "no_vig_prob": 0.675676,
          "break_even": 0.694444,
          "edge_status": null
        }
      ],
      "request_id": "req_07f70a7c08c41f5bda9d2d04",
      "live_topics": [
        "market:mkt_f1sgktw2wqexfkatnd75"
      ],
      "rg_line": "21+ · Help: 1-800-MY-RESET"
    }
  ],
  "has_more": true,
  "next_cursor": "eyJ2IjoxLCJvIjoxLCJmIjoiNjNiZDU2YTEyMTVhYTkxNyJ9"
}
  1. Kelly consensus of 2 books · as of 2026-10-04T12:59:00Z · Odds data via The Odds API

GET /v1/markets/{market_id}

Get a marketLink to this section

public, no key needed · 1 credit, not charged during the beta · MCP tool get_market · status live

One market's consensus, no-vig probabilities and movement, with its source and as-of time, and its edge status read at the consensus price. Kelly's own probability and the numeric edge stay on askkelly.ai (D34). Name up to five sides in selections to read their edge status; give your own price for a named side in prices to read its break-even at that price.

ParametersLink to this section

market_idstring · pathrequired

The market's Kelly ID (mkt_), from get_game or list_markets.

pattern ^mkt_[0123456789abcdefghjkmnpqrstvwxyz]{20}$

selectionsstring · query

Up to 5 sides, comma-separated: selection IDs (sel_) or sides (home, away, over, under, draw, yes, no).

min length 1 · max length 200

pricesstring · query

Your own price for named sides, comma-separated as side:format:price, such as home:american:-105,away:decimal:2.15. The format is one of american, decimal, fractional (5/2) or cents; Kelly never guesses one. Encode + as %2B.

min length 1 · max length 200

ResponseLink to this section

200 The market.

objectconstrequired

Always market.

Always "market".

idstringrequired

Market ID (mkt_).

namestringnullable

Market name.

game_idstringnullable

Game ID (gm_).

kindstringrequired

Market kind: game, prop, future, exchange.

market_typestringrequired

Market type: h2h, spreads, totals, a prop.

periodstringrequired

Period: full, h1, q1, …

statusstringrequired

Consensus status: ok, or why there is none.

One of: ok, too_few_books, no_prices (open: new values may be added).

consensus_linenumbernullable

Consensus line.

holdnumbernullable

Books' hold.

min 0 · max 1

books_countintegerrequired

Books in the consensus.

min 0

movementobjectnullable

Movement since open.

Show 3 fields
opened_atstringnullable

Opening time.

format date-time

open_linenumbernullable

Opening consensus line.

line_changenumbernullable

Movement since open.

as_ofstringnullable

The newest book time behind the consensus.

format date-time

sourcestring

Source shown to readers.

attributionstring

Required attribution.

selectionsarray of objectrequired

Every side, in the market's order.

Show 14 fields
idstring

Selection ID (sel_).

namestringnullable

Selection name.

sidestring

Side: home, away, over, under, draw, yes, no, or a participant.

pointnumbernullable

The consensus line for this side.

pricenumbernullable

Consensus decimal price.

implied_probnumbernullable

Implied probability, vig in.

min 0 · max 1

no_vig_probnumbernullable

No-vig probability.

min 0 · max 1

break_evennumbernullable

Break-even at the offered or consensus price.

min 0 · max 1

price_basisstring

Which price the break-even is at (D27).

One of: user, consensus (open: new values may be added).

edge_status_price_basisstring

Which price edge_status is read at: off askkelly.ai always the consensus price (D34).

One of: user, consensus (open: new values may be added).

offered_priceobjectnullable

The offered price.

Show 5 fields
americannumber

American odds.

decimalnumber

Decimal odds.

fractionalstring

Fractional odds.

centsnumber

Cents per $1.

implied_probnumber

Implied probability.

edge_statusstringnullable

D18's edge status, on named selections only.

One of: edge, no_edge, not_validated, market_only (open: new values may be added).

edge_status_labelstring

The brand label key for the edge status.

edge_status_reasonstring

Why this status (a stable code).

request_idstringnullable

The request that produced this response.

live_topicsarray of string

Kelly Wire topics that update this resource (API and cards only).

rg_linestringnullable

The cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.

ErrorsLink to this section

invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled · not_found

ExampleLink to this section

Request
GET https://api.askkelly.ai/v1/markets/mkt_f1sgktw2wqexfkatnd75?selections=over
Authorization: Bearer $KELLY_API_KEY
Response, 400
{
  "type": "https://docs.askkelly.ai/problems/invalid_request",
  "title": "Invalid request",
  "status": 400,
  "code": "invalid_request",
  "detail": "'over' is neither a selection of this market nor one of its sides (home, away)",
  "param": "selections",
  "doc_url": "https://docs.askkelly.ai/problems/invalid_request",
  "request_id": "req_c165e69d28e6518473542d4f",
  "retryable": false,
  "display_message": "Something in that request was not understood."
}
Request
GET https://api.askkelly.ai/v1/markets/mkt_f1sgktw2wqexfkatnd75?selections=home
Authorization: Bearer $KELLY_API_KEY
Response, 200
{
  "object": "market",
  "id": "mkt_f1sgktw2wqexfkatnd75",
  "name": "Las Vegas Raiders / Kansas City Chiefs",
  "game_id": "gm_55zc8ywp3mzwg79py6mv",
  "kind": "game",
  "market_type": "h2h",
  "period": "full",
  "status": "ok",
  "consensus_line": null,
  "hold": 0.043357,
  "books_count": 2,
  "movement": {
    "opened_at": "2026-10-04T12:59:00Z",
    "open_line": null,
    "line_change": null
  },
  "as_of": "2026-10-04T12:59:00Z",
  "source": "Kelly consensus of 2 books",
  "attribution": "Odds data via The Odds API",
  "selections": [
    {
      "id": "sel_m0h3mmt73xpb6hgz8p0b",
      "name": "Las Vegas Raiders",
      "side": "home",
      "point": null,
      "price": 2.85,
      "implied_prob": 0.350877,
      "no_vig_prob": 0.324324,
      "break_even": 0.350877,
      "edge_status": "not_validated",
      "price_basis": "consensus",
      "edge_status_price_basis": "consensus",
      "offered_price": null,
      "edge_status_label": "voice.edge_status.not_validated",
      "edge_status_reason": "no_candidates_closing_only"
    },
    {
      "id": "sel_prpdvg0dqppc6mqc4wns",
      "name": "Kansas City Chiefs",
      "side": "away",
      "point": null,
      "price": 1.44,
      "implied_prob": 0.694444,
      "no_vig_prob": 0.675676,
      "break_even": 0.694444,
      "edge_status": null
    }
  ],
  "request_id": "req_a254cd9c215c975927901b5c",
  "live_topics": [
    "market:mkt_f1sgktw2wqexfkatnd75"
  ],
  "rg_line": "21+ · Help: 1-800-MY-RESET"
}
  1. Kelly consensus of 2 books · as of 2026-10-04T12:59:00Z · Odds data via The Odds API

Generated from Kelly API 2026-10-05.

Support: support@askkelly.ai · Security and disclosure