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
| Parameter | Type | Description |
|---|---|---|
| sportrequired | enum | Sport. ncaaf is FBS college football.mlbnflncaafnbanhl |
| from | string | Game date (America/New_York), inclusive. YYYY-MM-DD. e.g. 2024-09-08 |
| to | string | Game date (America/New_York), inclusive. YYYY-MM-DD. e.g. 2024-09-08 |
| season | integer | Season label. MLB: calendar year. NFL/NCAAF: year the season started. NBA/NHL: year the season ENDED (2026 = 2025-26). e.g. 2024 |
| team | string | Team id or abbreviation; matches home OR away. e.g. KC |
| home | string | Home team id or abbreviation. e.g. KC |
| away | string | Away team id or abbreviation. e.g. KC |
| week | integer | null | NFL/NCAAF week number. |
| season_type | enum | Regular season, postseason, or both (default).regularpostseasonall Default all. |
| limit | integer | Page size, 1–1000. Default 100. e.g. 100 |
| cursor | string | Opaque cursor from next_cursor. |
| format | enum | Response 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
| Field | Type | Description |
|---|---|---|
| game_id | string | — |
| sport | enum | Sport. ncaaf is FBS college football.mlbnflncaafnbanhl |
| season | integer | — |
| season_type | string | null | regular | postseason |
| week | integer | null | NFL/NCAAF week |
| game_date | string | YYYY-MM-DD in America/New_York. |
| start_time | string | ISO-8601 UTC kickoff / first pitch / tip. |
| status | enum | —final |
| home | object | — |
| home.team_id | integer | null | Team id |
| home.abbreviation | string | null | Abbreviation as in /v1/teams |
| home.name | string | null | Team name |
| home.score | integer | null | Final score |
| away | object | — |
| away.team_id | integer | null | Team id |
| away.abbreviation | string | null | Abbreviation as in /v1/teams |
| away.name | string | null | Team name |
| away.score | integer | null | Final score |
| neutral_site | boolean | null | Neutral site |
| overtime | boolean | null | Went to OT / extra innings / shootout |
| venue | object | null | — |
| venue.venue_id | integer | null | Venue id |
| venue.name | string | null | Venue name |
| venue.city | string | null | City |
| venue.indoor | boolean | null | Indoor / dome |
| referee | string | null | Lead official / home-plate umpire name |
| result | object | — |
| result.margin_home | integer | null | home score − away score |
| result.home_covered | boolean | null | Home covered the consensus closing spread (null on push or no line). |
| result.went_over | boolean | null | Final total went over the consensus closing total (null on push or no line). |
| result.favorite | enum | null | Consensus closing favorite.homeaway |
| consensus | object | Market-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.moneyline | object | — |
| consensus.moneyline.home_open | integer | null | Home ML open. American odds (e.g. -110). |
| consensus.moneyline.home_close | integer | null | Home ML close. American odds (e.g. -110). |
| consensus.moneyline.away_open | integer | null | Away ML open. American odds (e.g. -110). |
| consensus.moneyline.away_close | integer | null | Away ML close. American odds (e.g. -110). |
| consensus.spread | object | — |
| consensus.spread.open | number | null | Home spread open (negative = home favored). Decimal line (e.g. -3.5, 47.5). |
| consensus.spread.close | number | null | Home spread close. Decimal line (e.g. -3.5, 47.5). |
| consensus.spread.home_juice_open | integer | null | Home spread price at open. American odds (e.g. -110). |
| consensus.spread.home_juice_close | integer | null | Home spread price at close. American odds (e.g. -110). |
| consensus.spread.away_juice_open | integer | null | Away spread price at open. American odds (e.g. -110). |
| consensus.spread.away_juice_close | integer | null | Away spread price at close. American odds (e.g. -110). |
| consensus.total | object | — |
| consensus.total.open | number | null | Total open. Decimal line (e.g. -3.5, 47.5). |
| consensus.total.close | number | null | Total close. Decimal line (e.g. -3.5, 47.5). |
| consensus.total.over_juice_close | integer | null | Over price at close. American odds (e.g. -110). |
| consensus.total.under_juice_close | integer | null | Under price at close. American odds (e.g. -110). |
Errors
| Status | When |
|---|---|
| 400 | Invalid parameter |
| 401 | Missing or unknown API key |
| 403 | Key revoked or subscription inactive |
| 429 | Rate limit or monthly quota exceeded (see Retry-After) |
All errors share one envelope — see Errors.