Skip to content

Guides

How do I get NFL scores and the schedule for a week in Python?

All 16 games of NFL week 4 with final scores, kickoff day, stadium and starting quarterbacks in one call. The week averaged 47.8 points a game.

Code verified October 12, 2026. One call to get_schedule, 2 credits.

The call

week is 1 to 22 of the current season and returns every game that week, played or not. The games sit under upcoming_games even for a week that is over. Without week, days (default 7) returns only games not yet played. Add team for one club.

import requests
import pandas as pd

API_KEY = "YOUR_API_KEY"

resp = requests.post(
    "https://mcp.endzoneapi.com/v1/get_schedule",
    headers={"x-api-key": API_KEY},
    json={
        "week": 4,
    },
    timeout=60,
)
resp.raise_for_status()
data = resp.json()["data"]

games = pd.DataFrame(data["upcoming_games"])
games["winner"] = games.apply(lambda g: g["home_team"] if g["home_score"] > g["away_score"] else g["away_team"], axis=1)
games["margin"] = (games["home_score"] - games["away_score"]).abs()
print("season", data["season"], "week", data["week"], "-", len(games), "games")
print(games[["gameday", "away_team", "away_score", "home_team", "home_score", "winner", "margin"]].to_string(index=False))
print("points per game:", round((games["home_score"] + games["away_score"]).mean(), 1))

Replace YOUR_API_KEY with a key from your dashboard. Python needs requests and pandas (pip install requests pandas). JavaScript runs on Node 18 or newer, or in the browser.

What comes back

The data object of the response, trimmed to the first rows. Every field is real output from the run above.

{
  "season": 2026,
  "week": 4,
  "days": null,
  "upcoming_games": [
    {
      "game_id": "2026_04_PIT_CLE",
      "season": 2026,
      "game_type": "REG",
      "week": 4,
      "gameday": "2026-10-01",
      "weekday": "Thursday",
      "kickoff": "2026-10-02T00:15:00.000Z",
      "away_team": "PIT",
      "home_team": "CLE",
      "away_score": 24,
      "home_score": 27,
      "result": 3,
      "total": 51,
      "overtime": 0,
      "status": "FINAL",
      "location": "Home",
      "stadium": "Huntington Bank Field",
      "roof": "outdoors",
      "surface": "grass",
      "temp": 77,
      "wind": 11,
      "div_game": true,
      "away_rest": 4,
      "home_rest": 4,
      "spread_line": -2.5,
      "total_line": 38.5,
      "away_moneyline": -148,
      "home_moneyline": 124,
      "away_qb_name": "Aaron Rodgers",
      "home_qb_name": "Deshaun Watson",
      "away_qb_id": "00-0023459",
      "home_qb_id": "00-0033537",
      "away_coach": "Mike McCarthy",
      "home_coach": "Todd Monken",
      "referee": "Clete Blakeman",
      "espn_id": "401872964",
      "pfr_id": "202610010cle"
    },
    {
      "game_id": "2026_04_IND_WAS",
      "season": 2026,
      "game_type": "REG",
      "week": 4,
      "gameday": "2026-10-04",
      "weekday": "Sunday",
      "kickoff": "2026-10-04T13:30:00.000Z",
      "away_team": "IND",
      "home_team": "WAS",
      "away_score": 30,
      "home_score": 13,
      "result": -17,
      "total": 43,
      "overtime": 0,
      "status": "FINAL",
      "location": "Neutral",
      "stadium": "Tottenham Hotspur Stadium",
      "roof": "outdoors",
      "surface": "grass",
      "temp": 70,
      "wind": 7,
      "div_game": false,
      "away_rest": 7,
      "home_rest": 7,
      "spread_line": -4.5,
      "total_line": 46.5,
      "away_moneyline": -230,
      "home_moneyline": 190,
      "away_qb_name": "Daniel Jones",
      "home_qb_name": "Marcus Mariota",
      "away_qb_id": "00-0035710",
      "home_qb_id": "00-0032268",
      "away_coach": "Shane Steichen",
      "home_coach": "Dan Quinn",
      "referee": "Alan Eck",
      "espn_id": "401872965",
      "pfr_id": "202610040was"
    },
    "...14 more"
  ],
  "count": 16
}

What to do next

More guides

Rather ask Claude? 16 free Claude skills call these endpoints for you.

Start with 500 free credits every month

No card. REST or MCP.