get_games
Query games by season, week, team, date, type, or status, with closing lines
When to use it
You need games with scores and closing lines for a season, week, team, or date range. The consensus closing spread and total are on every game since 1999, which makes this the backtest table.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| season | string | number | no | Season year (e.g. 2025) |
| week | integer | no | Week number (1-18 regular season; 19+ postseason) |
| team | string | no | Team code (home or away) |
| date_from | string | no | Start date YYYY-MM-DD |
| date_to | string | no | End date YYYY-MM-DD |
| game_type | enum: REG | WC | DIV | CON | SB | POST | no | REG, WC, DIV, CON, SB, or POST for any playoff game |
| status | enum: FUT | LIVE | FINAL | no | Game status |
| limit | integer | no | Max results (default 100) |
Request
curl -X POST https://football-mcp-production.up.railway.app/v1/get_games \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"season": 2025,
"week": 1,
"team": "KC"
}'Over MCP, ask for it in plain English and the client calls get_games itself. Point any MCP client at https://football-mcp-production.up.railway.app/mcp?key=YOUR_API_KEY.
Response
{
"games": [
{
"game_id": "2025_01_KC_LAC",
"season": 2025,
"game_type": "REG",
"week": 1,
"gameday": "2025-09-05",
"weekday": "Friday",
"kickoff": "2025-09-06T00:00:00.000Z",
"away_team": "KC",
"home_team": "LAC",
"away_score": 21,
"home_score": 27,
"result": 6,
"total": 48,
"overtime": 0,
"status": "FINAL",
"location": "Neutral",
"stadium": "SoFi Stadium",
"roof": "dome",
"surface": null,
"temp": null,
"wind": null,
"div_game": true,
"away_rest": 7,
"home_rest": 7,
"spread_line": -3,
"total_line": 47.5,
"away_moneyline": -175,
"home_moneyline": 145,
"away_qb_name": "Patrick Mahomes",
"home_qb_name": "Justin Herbert",
"away_qb_id": "00-0033873",
"home_qb_id": "00-0036355",
"away_coach": "Andy Reid",
"home_coach": "Jim Harbaugh",
"referee": "Carl Cheffers",
"espn_id": "401772714",
"pfr_id": "202509050sdg"
}
],
"count": 1,
"filters": {
"season": 2025,
"week": 1,
"team": "KC"
}
}Response fields
| Field | Type | Description |
|---|---|---|
| games[] | array | List of objects |
| games[].game_id | string | |
| games[].season | number | |
| games[].game_type | string | |
| games[].week | number | |
| games[].gameday | string | |
| games[].weekday | string | |
| games[].kickoff | string | |
| games[].away_team | string | |
| games[].home_team | string | |
| games[].away_score | number | |
| games[].home_score | number | |
| games[].result | number | |
| games[].total | number | |
| games[].overtime | number | |
| games[].status | string | |
| games[].location | string | |
| games[].stadium | string | |
| games[].roof | string | |
| games[].surface | null | |
| games[].temp | null | |
| games[].wind | null | |
| games[].div_game | boolean | |
| games[].away_rest | number | |
| games[].home_rest | number | |
| games[].spread_line | number | |
| games[].total_line | number | |
| games[].away_moneyline | number | |
| games[].home_moneyline | number | |
| games[].away_qb_name | string | |
| games[].home_qb_name | string | |
| games[].away_qb_id | string | |
| games[].home_qb_id | string | |
| games[].away_coach | string | |
| games[].home_coach | string | |
| games[].referee | string | |
| games[].espn_id | string | |
| games[].pfr_id | string | |
| count | number | |
| filters | object |
Related endpoints
Takes the game_id this one returns.
Full game detail with team stats, starting QBs, odds, weather, and officials
Takes the game_id this one returns.
Odds by game with bookmaker filters
Returns the team this one takes.
All 32 teams with conference, division, colours, and logos
Returns the team this one takes.
Team totals and per-week lines with EPA, success rate, and situational splits
Try it
500 credits free on signup — 100 calls to get_games — and no card.