Skip to content

Latest commit

 

History

History
1079 lines (840 loc) · 27.5 KB

File metadata and controls

1079 lines (840 loc) · 27.5 KB

ESPN NFL Weather Conditions API - Deep Research Report

Report Title: ESPN NFL Game Weather Conditions Public API Comprehensive Research
Version: 1.0
Author: Goldmann LLC Research Team
Date: January 2025
Status: ✅ Complete Research Reference
Focus: NFL Game Weather Conditions, Temperature, Wind, Stadium Conditions


Executive Summary

This comprehensive research report documents ESPN's public API for NFL game weather conditions data. ESPN does not officially document or support a public API, but weather information is embedded within game data responses through the site.api.espn.com domain without authentication.

Key Finding: Weather data is not a standalone endpoint but rather embedded within game event data (scoreboard, event summary). Weather information is primarily available for outdoor games and may not be present for indoor/dome stadiums. The weather object appears in both scoreboard and event summary endpoints.

Primary Domain: site.api.espn.com


1. API Base URL & Domain

1.1 Primary Domain

Base URL: https://site.api.espn.com

API Version: v2

Sport/League Path: /apis/site/v2/sports/football/nfl

1.2 Base Path Structure

Base Pattern: /apis/site/v2/sports/football/nfl/{endpoint}

Weather Data Location: Weather data is embedded within game event responses, not a separate endpoint.


2. Weather Data Availability

2.1 Endpoints Containing Weather Data

Endpoint Weather Location Availability
/scoreboard events[].weather or events[].competitions[].weather ✅ Embedded
/summary?event={eventId} gameInfo.weather ✅ Embedded
/teams/{teamId}/schedule events[].weather ✅ Embedded

Note: Weather data is not a standalone endpoint - it's included as part of game event responses.

2.2 Weather Data Availability by Stadium Type

Outdoor Stadiums:

  • ✅ Weather data typically available
  • Includes: temperature, condition, wind
  • Updated close to game time

Indoor/Dome Stadiums:

  • ⚠️ Weather data may be absent or minimal
  • May show "Dome" or "Indoor" condition
  • No temperature/wind data typically provided

Retractable Roof Stadiums:

  • ✅ Weather data available if roof is open
  • May vary based on roof status
  • Condition may reflect indoor vs outdoor

3. Weather Data Structure

3.1 Weather Object Schema

Location in Scoreboard Response:

{
  "events": [
    {
      "id": "401220339",
      "weather": {
        "displayName": "Sunny",
        "temperature": 78,
        "highTemperature": 82,
        "conditionId": "1",
        "link": {
          "$ref": "http://www.espn.com/nfl/weather"
        }
      }
    }
  ]
}

Location in Event Summary Response:

{
  "gameInfo": {
    "venue": {
      "id": "4246",
      "fullName": "M&T Bank Stadium",
      "address": {
        "city": "Baltimore",
        "state": "MD"
      }
    },
    "weather": {
      "displayName": "Sunny",
      "temperature": 78,
      "highTemperature": 82,
      "conditionId": "1",
      "windSpeed": 5,
      "windDirection": "NE"
    }
  }
}

3.2 Weather Object Fields

Field Type Description Example
displayName string Human-readable weather condition "Sunny", "Partly Cloudy", "Rain", "Snow"
temperature number Current temperature in Fahrenheit 78
highTemperature number High temperature for the day 82
conditionId string Weather condition identifier "1", "2", "3"
windSpeed number Wind speed in MPH (optional) 5
windDirection string Wind direction abbreviation (optional) "NE", "SW", "N"
link object Link to weather details (optional) {"$ref": "..."}

Note: Not all fields may be present in all responses. Fields may vary by endpoint and game status.


4. Complete Weather Endpoints Reference

4.1 Scoreboard Endpoint (Weather Embedded)

Endpoint: /apis/site/v2/sports/football/nfl/scoreboard

Description: Returns daily/weekly NFL games with scores, statuses, and weather information embedded in each event.

HTTP Method: GET

Query Parameters:

  • dates (optional): Date range in YYYYMMDD format (e.g., 20251017)
  • seasontype (optional): 2 (regular season), 3 (playoffs)
  • week (optional): Week number (1-18 for regular season)

Example Request:

GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard?dates=20251017

Response Structure with Weather:

{
  "leagues": [...],
  "events": [
    {
      "id": "401220339",
      "uid": "s:20~l:28~e:401220339",
      "date": "2025-09-07T17:00:00Z",
      "name": "Kansas City Chiefs at Baltimore Ravens",
      "shortName": "KC @ BAL",
      "competitions": [
        {
          "id": "401220339",
          "uid": "s:20~l:28~e:401220339~c:401220339",
          "date": "2025-09-07T17:00:00Z",
          "attendance": 71008,
          "venue": {
            "id": "4246",
            "fullName": "M&T Bank Stadium",
            "address": {
              "city": "Baltimore",
              "state": "MD"
            }
          },
          "competitors": [...],
          "status": {...}
        }
      ],
      "weather": {
        "displayName": "Sunny",
        "temperature": 78,
        "highTemperature": 82,
        "conditionId": "1"
      },
      "links": [...],
      "status": {...}
    }
  ]
}

Weather Data Location:

  • Weather appears at the event level (top level of each event object)
  • Also may appear within competitions array in some responses

4.2 Event Summary Endpoint (Weather in gameInfo)

Endpoint: /apis/site/v2/sports/football/nfl/summary?event={eventId}

Description: Returns comprehensive game summary including weather information in the gameInfo object.

HTTP Method: GET

Parameters:

  • event (required, query): Event ID (e.g., 401220339)

Example Request:

GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/summary?event=401220339

Response Structure with Weather:

{
  "header": {
    "id": "401220339",
    "competitions": [...],
    "status": {...}
  },
  "boxscore": {
    "teams": [...],
    "players": [...]
  },
  "gameInfo": {
    "venue": {
      "id": "4246",
      "fullName": "M&T Bank Stadium",
      "address": {
        "city": "Baltimore",
        "state": "MD"
      }
    },
    "weather": {
      "displayName": "Sunny",
      "temperature": 78,
      "highTemperature": 82,
      "conditionId": "1",
      "windSpeed": 5,
      "windDirection": "NE"
    },
    "attendance": 71008
  },
  "drives": [...],
  "plays": [...]
}

Weather Data Location:

  • Weather appears in gameInfo.weather object
  • More detailed than scoreboard weather (includes wind data)
  • Available for completed, in-progress, and scheduled games

4.3 Team Schedule Endpoint (Weather Embedded)

Endpoint: /apis/site/v2/sports/football/nfl/teams/{teamId}/schedule

Description: Returns complete schedule for a team with weather information embedded in each event.

HTTP Method: GET

Parameters:

  • teamId (path, required): NFL team identifier
  • season (query, optional): Year (e.g., 2025)
  • seasontype (query, optional): 2 (regular season), 3 (playoffs)

Example Request:

GET https://site.api.espn.com/apis/site/v2/sports/football/nfl/teams/12/schedule?season=2025

Response Structure with Weather:

{
  "team": {
    "id": "12",
    "name": "Kansas City Chiefs"
  },
  "events": [
    {
      "id": "401220339",
      "date": "2025-09-07T17:00:00Z",
      "name": "Kansas City Chiefs at Baltimore Ravens",
      "competitions": [...],
      "weather": {
        "displayName": "Sunny",
        "temperature": 78,
        "highTemperature": 82,
        "conditionId": "1"
      },
      "status": {...}
    }
  ]
}

Weather Data Location:

  • Weather appears at the event level (top level of each event object)
  • Same structure as scoreboard weather data

5. Weather Condition Types

5.1 Common Weather Conditions

Based on displayName field:

Condition Description Typical Conditions
"Sunny" Clear skies Temperature range: 60-85°F
"Partly Cloudy" Partial cloud cover Temperature range: 55-80°F
"Cloudy" Overcast skies Temperature range: 50-75°F
"Rain" Precipitation Temperature: 35-65°F
"Snow" Snowfall Temperature: <32°F
"Dome" / "Indoor" Indoor stadium No temperature/wind
"Clear" Clear conditions Similar to Sunny

Note: Condition names may vary. Always check the actual displayName value.

5.2 Condition IDs

Common Condition IDs:

Condition ID Condition Type
"1" Clear/Sunny
"2" Partly Cloudy
"3" Cloudy
"4" Rain
"5" Snow
"6" Dome/Indoor

Note: Condition IDs may vary and may not be consistently used across all responses.


6. Weather Data Details

6.1 Temperature Data

Temperature Fields:

Field Type Unit Description
temperature number Fahrenheit (°F) Current temperature at game time
highTemperature number Fahrenheit (°F) High temperature for the day

Temperature Format:

  • Integer or decimal number
  • Fahrenheit scale (not Celsius)
  • May be missing for indoor games

Example:

{
  "temperature": 78,
  "highTemperature": 82
}

6.2 Wind Data

Wind Fields:

Field Type Unit Description
windSpeed number MPH Wind speed in miles per hour
windDirection string Cardinal Wind direction abbreviation (N, NE, E, SE, S, SW, W, NW)

Wind Data Availability:

  • ⚠️ Wind data may not always be present
  • More commonly available in gameInfo.weather than in scoreboard weather
  • May be absent for indoor games

Example:

{
  "windSpeed": 5,
  "windDirection": "NE"
}

Wind Direction Abbreviations:

  • N - North
  • NE - Northeast
  • E - East
  • SE - Southeast
  • S - South
  • SW - Southwest
  • W - West
  • NW - Northwest

6.3 Display Name

Display Name Format:

  • Human-readable string
  • Short descriptive text
  • Examples: "Sunny", "Partly Cloudy", "Rain", "Snow"

Example:

{
  "displayName": "Sunny"
}

7. Stadium Type Considerations

7.1 Outdoor Stadiums

Characteristics:

  • Weather data typically available
  • Includes temperature, condition, wind
  • Data updated close to game time
  • Reflects actual outdoor conditions

Example Outdoor Stadiums:

  • Lambeau Field (Green Bay Packers)
  • Soldier Field (Chicago Bears)
  • Gillette Stadium (New England Patriots)
  • Heinz Field (Pittsburgh Steelers)

Weather Data Availability: ✅ Full weather data available


7.2 Indoor/Dome Stadiums

Characteristics:

  • Weather data may be minimal or absent
  • May show "Dome" or "Indoor" as condition
  • No temperature/wind data typically provided
  • Controlled environment

Example Indoor Stadiums:

  • Mercedes-Benz Stadium (Atlanta Falcons) - Retractable
  • Lucas Oil Stadium (Indianapolis Colts) - Retractable
  • AT&T Stadium (Dallas Cowboys) - Retractable
  • Ford Field (Detroit Lions) - Fixed dome

Weather Data Availability: ⚠️ Limited or no weather data


7.3 Retractable Roof Stadiums

Characteristics:

  • Weather data depends on roof status
  • May show indoor or outdoor conditions
  • Temperature/wind data if roof is open
  • Condition may reflect roof position

Example Retractable Roof Stadiums:

  • State Farm Stadium (Arizona Cardinals)
  • NRG Stadium (Houston Texans)
  • Mercedes-Benz Stadium (Atlanta Falcons)

Weather Data Availability: ✅ Weather data available when roof is open


8. Weather Data Timing

8.1 Pre-Game Weather

Availability:

  • Weather data available for scheduled games
  • Forecast-based (may change closer to game time)
  • Updated as game time approaches

Typical Update Schedule:

  • 24-48 hours before: Initial forecast
  • 6-12 hours before: Updated forecast
  • 1-2 hours before: Final forecast
  • Game time: Current conditions

8.2 In-Game Weather

Availability:

  • Weather data may be updated during game
  • Reflects current conditions at stadium
  • Real-time updates possible (not confirmed)

8.3 Post-Game Weather

Availability:

  • Weather data remains in historical records
  • Final game-time conditions preserved
  • Available in event summary for completed games

9. Response Examples

9.1 Scoreboard Weather Example

Outdoor Game:

{
  "events": [
    {
      "id": "401220339",
      "name": "Kansas City Chiefs at Baltimore Ravens",
      "date": "2025-09-07T17:00:00Z",
      "weather": {
        "displayName": "Sunny",
        "temperature": 78,
        "highTemperature": 82,
        "conditionId": "1"
      }
    }
  ]
}

Indoor Game:

{
  "events": [
    {
      "id": "401220340",
      "name": "New Orleans Saints at Atlanta Falcons",
      "date": "2025-09-08T13:00:00Z",
      "weather": {
        "displayName": "Dome",
        "conditionId": "6"
      }
    }
  ]
}

Note: Indoor games may have minimal or no weather data.


9.2 Event Summary Weather Example

Detailed Weather Data:

{
  "gameInfo": {
    "venue": {
      "id": "4246",
      "fullName": "M&T Bank Stadium",
      "address": {
        "city": "Baltimore",
        "state": "MD"
      }
    },
    "weather": {
      "displayName": "Sunny",
      "temperature": 78,
      "highTemperature": 82,
      "conditionId": "1",
      "windSpeed": 5,
      "windDirection": "NE"
    },
    "attendance": 71008
  }
}

9.3 Weather in Winter Conditions

Cold Weather Example:

{
  "weather": {
    "displayName": "Partly Cloudy",
    "temperature": 28,
    "highTemperature": 35,
    "conditionId": "2",
    "windSpeed": 12,
    "windDirection": "NW"
  }
}

Snow Example:

{
  "weather": {
    "displayName": "Snow",
    "temperature": 22,
    "highTemperature": 30,
    "conditionId": "5",
    "windSpeed": 8,
    "windDirection": "N"
  }
}

10. Data Extraction & Parsing

10.1 Extracting Weather from Scoreboard

Python Example:

import requests

def get_game_weather_scoreboard(date="20251017"):
    """Extract weather data from scoreboard endpoint."""
    url = f"https://site.api.espn.com/apis/site/v2/sports/football/nfl/scoreboard?dates={date}"
    response = requests.get(url)
    data = response.json()
    
    weather_data = []
    for event in data.get("events", []):
        event_id = event.get("id")
        weather = event.get("weather", {})
        
        weather_data.append({
            "event_id": event_id,
            "game_name": event.get("name"),
            "temperature": weather.get("temperature"),
            "high_temperature": weather.get("highTemperature"),
            "condition": weather.get("displayName"),
            "condition_id": weather.get("conditionId"),
            "wind_speed": weather.get("windSpeed"),
            "wind_direction": weather.get("windDirection")
        })
    
    return weather_data

# Usage
weather = get_game_weather_scoreboard("20251017")
for game_weather in weather:
    print(f"{game_weather['game_name']}: {game_weather['temperature']}°F, {game_weather['condition']}")

10.2 Extracting Weather from Event Summary

Python Example:

import requests

def get_game_weather_summary(event_id):
    """Extract weather data from event summary endpoint."""
    url = f"https://site.api.espn.com/apis/site/v2/sports/football/nfl/summary?event={event_id}"
    response = requests.get(url)
    data = response.json()
    
    game_info = data.get("gameInfo", {})
    weather = game_info.get("weather", {})
    venue = game_info.get("venue", {})
    
    return {
        "event_id": event_id,
        "venue": venue.get("fullName"),
        "city": venue.get("address", {}).get("city"),
        "state": venue.get("address", {}).get("state"),
        "temperature": weather.get("temperature"),
        "high_temperature": weather.get("highTemperature"),
        "condition": weather.get("displayName"),
        "condition_id": weather.get("conditionId"),
        "wind_speed": weather.get("windSpeed"),
        "wind_direction": weather.get("windDirection")
    }

# Usage
weather = get_game_weather_summary("401220339")
print(f"Venue: {weather['venue']}")
print(f"Weather: {weather['temperature']}°F, {weather['condition']}")
print(f"Wind: {weather['wind_speed']} mph {weather['wind_direction']}")

10.3 Filtering Outdoor Games

Python Example:

def filter_outdoor_games(weather_data):
    """Filter games with outdoor weather conditions."""
    outdoor_games = []
    
    for game in weather_data:
        condition = game.get("condition", "").lower()
        # Exclude indoor/dome games
        if "dome" not in condition and "indoor" not in condition:
            # Check if temperature is available (indicates outdoor)
            if game.get("temperature") is not None:
                outdoor_games.append(game)
    
    return outdoor_games

# Usage
all_games = get_game_weather_scoreboard("20251017")
outdoor_games = filter_outdoor_games(all_games)
print(f"Outdoor games: {len(outdoor_games)}")

11. Data Availability & Limitations

11.1 Availability Challenges

Common Issues:

  • ⚠️ Weather data may not be available for all games
  • ⚠️ Indoor games typically lack weather data
  • ⚠️ Weather data may be missing for games far in the future
  • ⚠️ Weather data may not update in real-time during games
  • ⚠️ Field structure may vary between endpoints

Recommendations:

  • Always check if weather object exists before accessing
  • Handle missing weather data gracefully
  • Provide fallback for indoor games
  • Cache weather data appropriately

11.2 Data Accuracy

Considerations:

  • Weather data is forecast-based for future games
  • Actual conditions may differ from forecast
  • Data sourced from ESPN's weather providers
  • Cross-reference with official weather sources for critical applications

Best Practices:

  • Verify accuracy with official weather services for critical use cases
  • Consider data freshness when displaying weather
  • Note that data is forecast for future games

12. Alternative Weather Data Sources

12.1 Third-Party Weather APIs

OpenWeatherMap:

  • URL: https://openweathermap.org/
  • Features: Current weather, forecasts, historical data
  • Pricing: Free tier available
  • Status: ✅ Officially supported

National Weather Service (NWS) API:

Weather.com API:

  • URL: https://weather.com/
  • Features: Comprehensive weather data
  • Pricing: Commercial license required
  • Status: ✅ Commercial API

12.2 Sports-Specific Weather APIs

SportsDataIO:

  • URL: https://sportsdata.io/
  • Features: NFL game weather forecasts included in game data
  • Pricing: Paid service
  • Status: ✅ Commercial API

Sportradar:

12.3 Historical Weather Data

GitHub Weather Data Repository:

NFLWeather.com:


13. Integration Patterns

13.1 Combining ESPN Game Data with Weather API

Pattern:

  1. Get game schedule from ESPN API
  2. Extract venue location (city, state)
  3. Get game date/time
  4. Fetch weather from third-party weather API
  5. Combine data for comprehensive game info

Python Example:

import requests
from openweathermap import OpenWeatherMap  # Example

def get_game_with_weather(event_id):
    """Combine ESPN game data with third-party weather API."""
    # 1. Get game data from ESPN
    espn_url = f"https://site.api.espn.com/apis/site/v2/sports/football/nfl/summary?event={event_id}"
    espn_response = requests.get(espn_url)
    game_data = espn_response.json()
    
    # 2. Extract venue info
    game_info = game_data.get("gameInfo", {})
    venue = game_info.get("venue", {})
    address = venue.get("address", {})
    city = address.get("city")
    state = address.get("state")
    
    # 3. Get game date
    header = game_data.get("header", {})
    game_date = header.get("date")
    
    # 4. Get detailed weather from third-party API
    weather_api = OpenWeatherMap(api_key="YOUR_API_KEY")
    detailed_weather = weather_api.get_weather(city=city, state=state, date=game_date)
    
    # 5. Combine data
    return {
        "game": {
            "id": event_id,
            "name": header.get("name"),
            "venue": venue.get("fullName"),
            "date": game_date
        },
        "espn_weather": game_info.get("weather", {}),
        "detailed_weather": detailed_weather
    }

14. Best Practices

14.1 Error Handling

Recommended Approach:

def get_weather_safely(event_data):
    """Safely extract weather data with error handling."""
    try:
        weather = event_data.get("weather", {})
        if not weather:
            return None
        
        return {
            "temperature": weather.get("temperature"),
            "high_temperature": weather.get("highTemperature"),
            "condition": weather.get("displayName"),
            "wind_speed": weather.get("windSpeed"),
            "wind_direction": weather.get("windDirection")
        }
    except (KeyError, TypeError, AttributeError) as e:
        print(f"Error extracting weather: {e}")
        return None

14.2 Caching Strategy

Recommended Cache Settings:

  • TTL: 30 minutes (future games - forecast updates)
  • TTL: 5 minutes (current games - conditions change)
  • TTL: 1 hour (completed games - historical data)

Cache Keys:

cache_key = f"nfl_weather:{event_id}:{timestamp}"

14.3 Data Validation

Schema Validation Example (Pydantic):

from pydantic import BaseModel
from typing import Optional

class WeatherData(BaseModel):
    displayName: Optional[str] = None
    temperature: Optional[int] = None
    highTemperature: Optional[int] = None
    conditionId: Optional[str] = None
    windSpeed: Optional[int] = None
    windDirection: Optional[str] = None

class GameWeather(BaseModel):
    event_id: str
    weather: Optional[WeatherData] = None

15. Use Cases

15.1 Game-Day Weather Dashboard

Use Case: Display current weather conditions for all games

Implementation:

  1. Fetch scoreboard for current date
  2. Extract weather for each game
  3. Display in dashboard format
  4. Update periodically (every 5-15 minutes)

15.2 Weather Impact Analysis

Use Case: Analyze how weather affects game outcomes

Implementation:

  1. Fetch historical game data
  2. Extract weather conditions from event summaries
  3. Correlate weather with game statistics
  4. Identify weather impact patterns

15.3 Fantasy Football Weather Integration

Use Case: Provide weather conditions for fantasy football decisions

Implementation:

  1. Get player game schedules
  2. Fetch weather for each game
  3. Provide weather impact recommendations
  4. Highlight extreme weather conditions

15.4 Pre-Game Weather Forecast

Use Case: Display weather forecasts for upcoming games

Implementation:

  1. Get team schedules
  2. Extract game dates and venues
  3. Fetch weather from scoreboard or combine with weather API
  4. Display forecast for each game

16. Limitations & Considerations

16.1 Known Limitations

Data Limitations:

  • ⚠️ Weather data may not be available for all games
  • ⚠️ Indoor games lack detailed weather data
  • ⚠️ Forecast accuracy varies with lead time
  • ⚠️ Real-time updates not guaranteed
  • ⚠️ Wind data may be missing

API Limitations:

  • ⚠️ No dedicated weather endpoint
  • ⚠️ Weather embedded in game responses
  • ⚠️ Must fetch full game data to get weather
  • ⚠️ Structure may vary between endpoints

16.2 Recommendations

For Production Applications:

  • Consider using third-party weather APIs for more reliable data
  • Implement fallback mechanisms for missing weather data
  • Cross-reference with official weather sources for critical use cases
  • Cache weather data appropriately to reduce API calls
  • Handle missing weather data gracefully in UI

For Research/Analysis:

  • Use ESPN API for historical game weather data
  • Supplement with third-party weather APIs for detailed conditions
  • Consider historical weather repositories for long-term analysis
  • Validate data accuracy with official sources

17. Conclusion

ESPN's public API provides weather condition data for NFL games embedded within game event responses. While not a dedicated endpoint, weather information is available through:

  • Scoreboard endpoint (/scoreboard)
  • Event summary endpoint (/summary?event={eventId})
  • Team schedule endpoint (/teams/{teamId}/schedule)

Key Findings:

  1. Weather data is embedded, not a standalone endpoint
  2. Available primarily for outdoor games
  3. Includes temperature, condition, and sometimes wind data
  4. Forecast-based for future games, actual conditions for completed games
  5. Data structure may vary between endpoints

Recommended Approach:

  • Use ESPN API for basic weather data embedded in game responses
  • Supplement with third-party weather APIs for detailed/forecast data
  • Implement robust error handling for missing weather data
  • Cache weather data appropriately to reduce API calls

18. References

  1. ESPN API Documentation (Community):

  2. Alternative Weather APIs:

  3. Historical Weather Data:

  4. Model Context Protocol:


19. Appendix: Quick Reference

19.1 Weather Data Locations

Endpoint Weather Location Wind Data
/scoreboard events[].weather ⚠️ Rarely
/summary?event={id} gameInfo.weather ✅ Often
/teams/{id}/schedule events[].weather ⚠️ Rarely

19.2 Weather Object Fields

Field Always Present Typical Values
displayName "Sunny", "Rain", "Snow"
temperature ⚠️ Outdoor only 20-85°F
highTemperature ⚠️ Outdoor only 30-90°F
conditionId ⚠️ Sometimes "1", "2", "3"
windSpeed ❌ Rarely 0-25 MPH
windDirection ❌ Rarely "N", "NE", "E", etc.

19.3 Common Weather Conditions

Condition Description Typical Temperature
"Sunny" Clear skies 60-85°F
"Partly Cloudy" Partial clouds 55-80°F
"Cloudy" Overcast 50-75°F
"Rain" Precipitation 35-65°F
"Snow" Snowfall <32°F
"Dome" Indoor stadium N/A

End of Report

Last Updated: January 2025 For questions or updates, refer to community resources or ESPN's official channels.