nfl_odds

Pro tier

Sportsbook odds

Use for current NFL sportsbook market questions. Returns one compact game block with each bookmaker's moneyline, spread, and total line/prices plus one freshness block. Use nfl_schedule for dates, scores, weather, and historical closing lines. This tool reads the latest ingested snapshot; it does not place bets, recommend picks, or guarantee that a displayed price is still available.

Minimum tier
Pro
Data coverage
Varies by query

Parameters

NameTypeRequiredDescription
game_idstringOptionalExact NFL game ID, usually discovered with nfl_schedule.
teamstringOptionalTeam abbreviation; matches home or away games.
seasonintegerOptionalNFL season year.
weekintegerOptionalNFL week.
marketstringOptionalMarket family (default all).Options: all, h2h, spreads, totals
bookmakerstringOptionalOptional lowercase bookmaker key.
limitintegerOptionalMax grouped games per page (default 100).
offsetintegerOptionalGrouped-game offset for pagination.
plan_idstringOptionalOptional analysis correlation ID returned by nfl_plan. Pass the same plan_id to every tool call that belongs to that analysis.

Example request

A Model Context Protocol tools/call over Streamable HTTP. Replace YOUR_API_KEY with a key from your dashboard. This is a low-level request example; MCP clients manage protocol initialization and browser OAuth for you.

curl -X POST https://mcp.nflmcp.com/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "nfl_odds",
    "arguments": {
      "season": 2026,
      "week": 3,
      "market": "spreads",
      "limit": 10
    }
  }
}'

Example response

Excerpt · lists trimmed
{
  "games": [
    {
      "game_id": "2026_03_CAR_CLE",
      "commence_time": "2026-09-27 17:00:00",
      "away_team": "CAR",
      "home_team": "CLE",
      "books": [
        {
          "bookmaker": "bet365",
          "markets": {
            "spread": {
              "away": {
                "line": -2.5,
                "odds": -115
              },
              "home": {
                "line": 2.5,
                "odds": -105
              }
            }
          },
          "updated_at": "2026-09-25 01:55:43"
        },
        {
          "bookmaker": "betmgm",
          "markets": {
            "spread": {
              "away": {
                "line": -2.5,
                "odds": -115
              },
              "home": {
                "line": 2.5,
                "odds": -105
              }
            }
          },
          "updated_at": "2026-09-25 01:46:03"
        },
        {
          "bookmaker": "betonline",
          "markets": {
            "spread": {
              "away": {
                "line": -2.5,
                "odds": -116
              },
              "home": {
                "line": 2.5,
                "odds": -104
              }
            }
          },
          "updated_at": "2026-09-25 02:04:29"
        }
      ]
    },
    {
      "game_id": "2026_03_CIN_PIT",
      "commence_time": "2026-09-27 17:00:00",
      "away_team": "CIN",
      "home_team": "PIT",
      "books": [
        {
          "bookmaker": "bet365",
          "markets": {
            "spread": {
              "away": {
                "line": -3.5,
                "odds": -110
              },
              "home": {
                "line": 3.5,
                "odds": -110
              }
            }
          },
          "updated_at": "2026-09-25 01:55:43"
        },
        {
          "bookmaker": "betmgm",
          "markets": {
            "spread": {
              "away": {
                "line": -3.5,
                "odds": -108
              },
              "home": {
                "line": 3.5,
                "odds": -110
              }
            }
          },
          "updated_at": "2026-09-25 01:50:33"
        },
        {
          "bookmaker": "betonline",
          "markets": {
            "spread": {
              "away": {
                "line": -3.5,
                "odds": -105
              },
              "home": {
                "line": 3.5,
                "odds": -115
              }
            }
          },
          "updated_at": "2026-09-25 02:04:29"
        }
      ]
    },
    {
      "game_id": "2026_03_HOU_IND",
      "commence_time": "2026-09-27 17:00:00",
      "away_team": "HOU",
      "home_team": "IND",
      "books": [
        {
          "bookmaker": "bet365",
          "markets": {
            "spread": {
              "away": {
                "line": -1.5,
                "odds": -115
              },
              "home": {
                "line": 1.5,
                "odds": -105
              }
            }
          },
          "updated_at": "2026-09-25 01:55:43"
        },
        {
          "bookmaker": "betmgm",
          "markets": {
            "spread": {
              "away": {
                "line": -1.5,
                "odds": -110
              },
              "home": {
                "line": 1.5,
                "odds": -108
              }
            }
          },
          "updated_at": "2026-09-25 01:55:43"
        },
        {
          "bookmaker": "betonline",
          "markets": {
            "spread": {
              "away": {
                "line": -1.5,
                "odds": -115
              },
              "home": {
                "line": 1.5,
                "odds": -105
              }
            }
          },
          "updated_at": "2026-09-25 02:04:29"
        }
      ]
    }
  ],
  "count": 10,
  "book_count": 116,
  "has_more": true,
  "next_offset": 10,
  "freshness": {
    "observed_at": "2026-09-25 02:05:16.474032",
    "provider_updated_at": "2026-09-25 02:04:43",
    "live": false
  }
}

Saved reference output, not a live production result. Query your authenticated connection for current data and read its coverage, freshness, and missing-result hints. Understand the limitations.