NHL Excite‑o‑Meter

Acknowledgments & Data Sources

NHL api-web data

Both live excitement scores and previews rely entirely on the league’s public api-web feeds.

The backend proxies those endpoints so the frontend avoids CORS hurdles while staying within the NHL’s rate limits and cache windows defined in exciteo/config.py. Every goal, hit, danger chance, fight, and broadcast listing you see here is sourced straight from the league.

Key endpoints the service depends on:

  • api-web.nhle.com/v1/gamecenter/<gamePk>/play-by-play for detailed event streams
  • api-web.nhle.com/v1/schedule/<date> for upcoming matchups and game states
  • api-web.nhle.com/v1/how-to-watch/<gamePk> for broadcast availability
  • api-web.nhle.com/v1/club-schedule-season/<team>/<seasonId> so previews can rescore each club’s recent form

Thank you to the NHL for publishing rich, timely data that makes this project possible.

Community & Inspiration

The broader hockey analytics community—public researchers, open-source tool builders, and sites such as MoneyPuck—continues to influence how we think about pace, danger, and storytelling. Earlier versions experimented with community datasets; today the preview engine leans solely on NHL-provided data, but those ideas still shape the model and how we present “chance barrage” or “hits frenzy” narratives.

On the engineering side we owe a nod to the Python ecosystem: Flask and flask-cors power the API, requests handles NHL fetches, and numpy/pandas assist with batch analysis and tooling.