Skip to content

Data

NFL historical odds and closing lines

Closing spread, total and moneyline for every NFL game since 1999, a whole season in one call. REST or MCP, 500 free credits to start.

EndzoneAPI serves the closing spread, total and moneyline for every NFL game since 1999, regular season and playoffs, and returns a whole season of them in a single call.

It is built for backtesting. Pull every closing line for a season with get_games, pair them with final scores, which come back on the same rows, and measure your model against the number the market settled on. The table below is read from the database.

Coverage by season

Counted from the database when this page was built: finished regular-season and playoff games.

SeasonGamesCovered
202647100%
2025285100%
2024285100%
2023285100%
2022284100%
2021285100%
2020269100%
2019267100%
2018267100%
2017267100%
2016267100%
2015267100%
2014267100%
2013267100%
2012267100%
2011267100%
2010267100%
2009267100%
2008267100%
2007267100%
2006267100%
2005267100%
2004267100%
2003267100%
2002267100%
2001259100%
2000259100%
1999259100%

How to get it

get_games, 5 credits a call. A full 2025 season is 1 call and 5 credits, inside the 500 free credits every account starts with.

curl -X POST https://mcp.endzoneapi.com/v1/get_games \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
  "season": 2024,
  "game_type": "REG",
  "limit": 300
}'

What comes back

games[]List of objects
games[].game_id
games[].season
games[].game_type
games[].week
games[].gameday
games[].weekday
games[].kickoff
games[].away_team
games[].home_team
games[].away_score
games[].home_score
games[].result
games[].total

Every field and a real response: get_games docs.

Questions

How far back do the NFL odds go?

Every game since the 1999 season, regular season and playoffs. The table on this page is the live coverage by season.

Whose closing line is it?

A consensus closing line: one market number per game, from the nflverse project. From September 2026 on, get_odds and get_line_movement also carry per-book prices from DraftKings, FanDuel, ESPN BET and BetMGM.

How many calls is a full season?

One. get_games returns up to 500 games per call with the closing lines and the final score on each, for 5 credits.

Can I use it from Claude or ChatGPT?

Yes. EndzoneAPI is an MCP server as well as a REST API: add one URL to Claude, Cursor or any MCP client and ask in plain English.

Is it free?

Every account starts with 500 free credits and no card, enough to pull every closing line since 1999.

What it will not do

  • Historical lines are a consensus close, not per sportsbook. Per-book prices start in September 2026.
  • Closing lines only for past seasons: no openers, no line movement before September 2026.
  • Game lines only. No player props, no futures.

Works with

Start with 500 free credits

No card. REST or MCP.