Games

Completed games with consensus open/close and result

GET/v1/games
Bearer keyCursor paginatedCSV availableReturns Game[]

One row per completed game. Consensus moneyline/spread/total open and close, final score, and result flags graded against the consensus close. Paginate with next_cursor. CSV with ?format=csv.

Request

curl
curl "https://api.thebettinginsider.com/v1/games?sport=nfl&season=2024&team=KC&season_type=regular&limit=2" \
  -H "Authorization: Bearer tbi_live_YOUR_KEY"

Parameters

ParameterTypeDescription
sportrequiredenumSport. ncaaf is FBS college football.mlbnflncaafnbanhl
fromstringGame date (America/New_York), inclusive. YYYY-MM-DD. e.g. 2024-09-08
tostringGame date (America/New_York), inclusive. YYYY-MM-DD. e.g. 2024-09-08
seasonintegerSeason label. MLB: calendar year. NFL/NCAAF: year the season started. NBA/NHL: year the season ENDED (2026 = 2025-26). e.g. 2024
teamstringTeam id or abbreviation; matches home OR away. e.g. KC
homestringHome team id or abbreviation. e.g. KC
awaystringAway team id or abbreviation. e.g. KC
weekinteger | nullNFL/NCAAF week number.
season_typeenumRegular season, postseason, or both (default).regularpostseasonall Default all.
limitintegerPage size, 1–1000. Default 100. e.g. 100
cursorstringOpaque cursor from next_cursor.
formatenumResponse format. CSV also via Accept: text/csv.jsoncsv

Paging and CSV behave the same on every list endpoint — see Pagination & CSV.

Response

Captured from production on 2026-10-13, trimmed to two rows. GET /v1/games?sport=nfl&season=2024&team=KC&season_type=regular&limit=2

200 OK
{
  "data": [
    {
      "game_id": "NFL-20240905-BAL-KC",
      "sport": "nfl",
      "season": 2024,
      "season_type": "regular",
      "week": 1,
      "game_date": "2024-09-05",
      "start_time": "2024-09-06T00:40:00.000Z",
      "status": "final",
      "home": {
        "team_id": 139,
        "abbreviation": "KC",
        "name": "Kansas City Chiefs",
        "score": 27
      },
      "away": {
        "team_id": 126,
        "abbreviation": "BAL",
        "name": "Baltimore Ravens",
        "score": 20
      },
      "neutral_site": false,
      "overtime": null,
      "venue": {
        "venue_id": 2300,
        "name": "GEHA Field at Arrowhead Stadium",
        "city": "Kansas City",
        "indoor": false
      },
      "referee": "Shawn Hochuli",
      "result": {
        "margin_home": 7,
        "home_covered": true,
        "went_over": null,
        "favorite": "home"
      },
      "consensus": {
        "moneyline": {
          "home_open": -148,
          "home_close": -148,
          "away_open": 124,
          "away_close": 124
        },
        "spread": {
          "open": -3,
          "close": -3,
          "home_juice_open": null,
          "home_juice_close": -105,
          "away_juice_open": null,
          "away_juice_close": -115
        },
        "total": {
          "open": 46.5,
          "close": 47,
          "over_juice_close": -112,
          "under_juice_close": -108
        }
      }
    },
    {
      "game_id": "NFL-20240915-CIN-KC",
      "sport": "nfl",
      "season": 2024,
      "season_type": "regular",
      "week": 2,
      "game_date": "2024-09-15",
      "start_time": "2024-09-15T20:25:00.000Z",
      "status": "final",
      "home": {
        "team_id": 139,
        "abbreviation": "KC",
        "name": "Kansas City Chiefs",
        "score": 26
      },
      "away": {
        "team_id": 130,
        "abbreviation": "CIN",
        "name": "Cincinnati Bengals",
        "score": 25
      },
      "neutral_site": false,
      "overtime": null,
      "venue": {
        "venue_id": 2300,
        "name": "GEHA Field at Arrowhead Stadium",
        "city": "Kansas City",
        "indoor": false
      },
      "referee": "Alex Kemp",
      "result": {
        "margin_home": 1,
        "home_covered": false,
        "went_over": true,
        "favorite": "home"
      },
      "consensus": {
        "moneyline": {
          "home_open": -180,
          "home_close": -285,
          "away_open": 150,
          "away_close": 235
        },
        "spread": {
          "open": -3.5,
          "close": -6.5,
          "home_juice_open": null,
          "home_juice_close": -115,
          "away_juice_open": null,
          "away_juice_close": -105
        },
        "total": {
          "open": 48.5,
          "close": 48,
          "over_juice_close": -105,
          "under_juice_close": -115
        }
      }
    }
  ],
  "next_cursor": "eyJrIjp7InQiOiIyMDI0LTA5LTE1IDIwOjI1OjAwLjAwMCIsImlkIjoiTkZMLTIwMjQwOTE1LUNJTi1LQyJ9LCJmIjoiYWY0OWI3ZGQzN2NkIn0",
  "meta": {
    "count": 2,
    "request_id": "d3c69063-3e97-4040-afe2-e045eb201d8d"
  }
}

Envelope: { data: Game[], next_cursor: string | null, meta: { count, request_id } }.

Game fields

FieldTypeDescription
game_idstring—
sportenumSport. ncaaf is FBS college football.mlbnflncaafnbanhl
seasoninteger—
season_typestring | nullregular | postseason
weekinteger | nullNFL/NCAAF week
game_datestringYYYY-MM-DD in America/New_York.
start_timestringISO-8601 UTC kickoff / first pitch / tip.
statusenum—final
homeobject—
home.team_idinteger | nullTeam id
home.abbreviationstring | nullAbbreviation as in /v1/teams
home.namestring | nullTeam name
home.scoreinteger | nullFinal score
awayobject—
away.team_idinteger | nullTeam id
away.abbreviationstring | nullAbbreviation as in /v1/teams
away.namestring | nullTeam name
away.scoreinteger | nullFinal score
neutral_siteboolean | nullNeutral site
overtimeboolean | nullWent to OT / extra innings / shootout
venueobject | null—
venue.venue_idinteger | nullVenue id
venue.namestring | nullVenue name
venue.citystring | nullCity
venue.indoorboolean | nullIndoor / dome
refereestring | nullLead official / home-plate umpire name
resultobject—
result.margin_homeinteger | nullhome score − away score
result.home_coveredboolean | nullHome covered the consensus closing spread (null on push or no line).
result.went_overboolean | nullFinal total went over the consensus closing total (null on push or no line).
result.favoriteenum | nullConsensus closing favorite.homeaway
consensusobjectMarket-wide consensus: the modal line across US books and the mean implied-probability price of the books on that line. Same numbers the web builder grades against. Null when no US book posted the market.
consensus.moneylineobject—
consensus.moneyline.home_openinteger | nullHome ML open. American odds (e.g. -110).
consensus.moneyline.home_closeinteger | nullHome ML close. American odds (e.g. -110).
consensus.moneyline.away_openinteger | nullAway ML open. American odds (e.g. -110).
consensus.moneyline.away_closeinteger | nullAway ML close. American odds (e.g. -110).
consensus.spreadobject—
consensus.spread.opennumber | nullHome spread open (negative = home favored). Decimal line (e.g. -3.5, 47.5).
consensus.spread.closenumber | nullHome spread close. Decimal line (e.g. -3.5, 47.5).
consensus.spread.home_juice_openinteger | nullHome spread price at open. American odds (e.g. -110).
consensus.spread.home_juice_closeinteger | nullHome spread price at close. American odds (e.g. -110).
consensus.spread.away_juice_openinteger | nullAway spread price at open. American odds (e.g. -110).
consensus.spread.away_juice_closeinteger | nullAway spread price at close. American odds (e.g. -110).
consensus.totalobject—
consensus.total.opennumber | nullTotal open. Decimal line (e.g. -3.5, 47.5).
consensus.total.closenumber | nullTotal close. Decimal line (e.g. -3.5, 47.5).
consensus.total.over_juice_closeinteger | nullOver price at close. American odds (e.g. -110).
consensus.total.under_juice_closeinteger | nullUnder price at close. American odds (e.g. -110).

Errors

StatusWhen
400Invalid parameter
401Missing or unknown API key
403Key revoked or subscription inactive
429Rate limit or monthly quota exceeded (see Retry-After)

All errors share one envelope — see Errors.