Ice Hockey Data API documentation
Results, box scores and odds for every leagueIce Hockey API answers with 898,345 finished games in 1,275 leagues and competitions, from to tonight. Scores reach the API within about ten minutes in every league we follow, and North American top league games are read again every minute while they are being played.
It is built for people who make things with the numbers: odds models and backtests, fantasy and stats sites, apps for one club, newsletters and research. The same key works in the REST API, in these pages and in the MCP server, so an assistant can read the data for you. There are no predictions or tips here: only what happened, and the prices that were offered.
Start here
Three steps to your first answer. The key you make is filled in on every page of these docs.
Get a key
Sign in with your Google account. The free key appears on the next page, with 50 calls a day.
Get a free keyMake the first call
Yesterday's results in every league: one call, no parameters, and a Run button.
Yesterday's resultsRead the answer
Every answer has data and meta, with your plan and where you are in a list.
Quick startEvery subject
A guide for each part of the data: what it covers, how the records link, and the jobs people do with it.
Inside a game
Periods, goals, penalties, lineups, lines, events, officials and coaches.
Every endpoint
48 endpoints in 9 groups. The dot is the plan that reads it.
GET/v1/usageYour plan, calls used today and this period, limits, reset times and the data your plan covers.GET/v1/coverageWhat the data holds: leagues, seasons, teams, finished games, games with detail and with odds, players and venues, and the first and last game dates.GET/v1/countriesEvery country with the number of leagues and teams it has. GET/v1/leaguesEvery league and competition, with country, level, age group and gender.GET/v1/leagues/{league_id}One league, with its number of seasons and its latest season.GET/v1/leagues/{league_id}/seasonsEvery season of a league, newest first, with first and last game dates and the number of games.GET/v1/leagues/{league_id}/teamsEvery team that has played in a league, most recent first, with its first and last season and games played. GET/v1/seasons/{season_id}One season: its league, label, dates and number of games.GET/v1/seasons/{season_id}/gamesEvery game of a season, by date, with the same fields as the games list.GET/v1/seasons/{season_id}/standingsThe regular season table built from the results: games, wins, losses, overtime and shootout results, goals and points. The free key reads current seasons.GET/v1/seasons/{season_id}/teamsThe teams that took part in a season, with their number of games. The free key reads current seasons.GET/v1/seasons/{season_id}/playoffsPlayoff series in the order they started: the two teams, wins each, the winner and every game. The free key reads current seasons.GET/v1/seasons/{season_id}/leadersThe regular season leaders in points, goals, assists, plus-minus, penalty minutes or shots, for leagues with game detail.GET/v1/seasons/{season_id}/summaryA season in numbers: goals a game, home and away wins, overtime and shootout share, average attendance and the biggest win. GET/v1/teamsTeams, by name, country, or the league or season they played in.GET/v1/teams/{team_id}One team: its name, short name, country and the leagues it has played in.GET/v1/teams/{team_id}/gamesA team's results and fixtures by date, optionally for one season or a date range.GET/v1/teams/{team_id}/seasonsA team's regular season record, season by season, newest first, with points under each league's rule.GET/v1/teams/{team_id}/rosterThe players who dressed for a team in a season, with number, position and games, for leagues with game detail.GET/v1/teams/{team_id}/statsA team's regular season in one season: overall, home and away records, shots a game and average home attendance.GET/v1/teams/{team_id}/head-to-head/{other_id}Every meeting of two teams your plan covers, newest first, with the first team's record against the second. GET/v1/gamesGames by date, date range, league, season or team: teams, score, how it ended, venue and attendance.GET/v1/games/upcomingScheduled games from today over the next two days, optionally for one league.GET/v1/games/{game_id}One game, with its odds on paid plans.GET/v1/results/yesterdayEvery finished game from yesterday (UTC), on every plan.GET/v1/resultsFinished games for one day or a date range, optionally for one league. Give date, or from (and to). GET/v1/games/{game_id}/periodsGoals and shots for each side, period by period, overtime and shootout included.GET/v1/games/{game_id}/goalsEvery goal in order: period, time, side, scorer, assists, strength, empty net and the score after it.GET/v1/games/{game_id}/penaltiesEvery penalty in order: period, time, side, player, who drew it, minutes, kind and offence.GET/v1/games/{game_id}/lineupsWho dressed for each side, with number, position, line, captaincy and the starting goalie.GET/v1/games/{game_id}/skatersEach skater's line: goals, assists, points, plus-minus, penalty minutes, shots, hits, blocks, faceoffs and ice time.GET/v1/games/{game_id}/goaliesEach goalie's line: ice time, shots against, saves, goals against, save percentage and decision.GET/v1/games/{game_id}/team-statsTeam totals for the game side by side: shots, faceoffs, power play, penalty minutes, hits, blocks, giveaways and takeaways.GET/v1/games/{game_id}/eventsEvery event in order: type, period, time, side, players, goalie, zone, rink position and shot type. While a North American top league game is being played it is read again every minute, and meta.live gives the period, clock and score as they stand.GET/v1/games/{game_id}/officialsThe referees and linesmen of the game.GET/v1/games/{game_id}/coachesThe head coach behind each bench, with side.GET/v1/games/{game_id}/starsThe three stars of the game, with side. GET/v1/games/{game_id}/oddsOdds for one game: three-way, moneyline, puck line and totals, opening, closing or average prices.GET/v1/oddsGames with odds for one day or a date range, each with its prices. Give date, or from (and to). GET/v1/playersPlayers by part of the name, position, nationality or birth year.GET/v1/players/{player_id}One player: name, position, shoots, birth date and place, nationality, height, weight, draft and number of awards.GET/v1/players/{player_id}/seasonsA player's career season by season, every league and team, regular season and playoffs, with skater or goalie numbers.GET/v1/players/{player_id}/gamesEvery game your plan covers in which the player has a line, newest first, with his goals, assists, shots and ice time.GET/v1/players/{player_id}/awardsThe trophies and awards a player has won, by season.GET/v1/draft/{year}Every pick of one draft year in order: round, pick, overall, the drafting team's code and the player. GET/v1/venuesArenas by part of the name or city, or by country.GET/v1/venues/{venue_id}One arena: name, city, country and the teams that have played home games there.GET/v1/venues/{venue_id}/gamesGames played at an arena that your plan covers, newest first. Popular calls
The endpoints people call most.
/v1/teams?league_id=lg_6t11wec7&q=New&per_page=3List teams/v1/seasons/ss_0n4zhhnaOne season/v1/leagues?per_page=3List leagues/v1/usageYour usage/v1/seasons/ss_0n4zhhna/standingsStandings Use with Claude and agents
Four ways to give an assistant the whole API, each rebuilt from the same registry as these pages.
MCP server
Add it to Claude, ChatGPT or Cursor and ask in plain words.
https://icehockeyapi.com/mcpAgent skill
One file that teaches an agent the calls and the rules.
https://icehockeyapi.com/skill.mdManual
The whole API in one file, for a model to read at once.
https://icehockeyapi.com/documentation/manual.mdPlans in short
Every plan reads every league. Prices and checkout.
Free key
Real data for yesterday, today and games scheduled ahead. No card needed.
50 calls a day, 10 a minuteLive
Current seasons in every league we cover: games, scores and odds.
100,000 calls a month, 60 a minuteArchive
Every past season we hold, back to the earliest recorded games.
200,000 calls a month, 60 a minuteComplete
Live and Archive together, with the highest limits.
500,000 calls a month, 120 a minuteWhat is new
/v1/games/{game_id}/coaches.meta.live on /v1/games/{game_id}/events.live, and results arrive within about ten minutes in more than a thousand leagues.The rest
Authentication
Send your key in X-API-Key or Authorization: Bearer, never in the address.
AuthenticationQuestions people ask
Is there a free key?
Yes: 50 calls a day, no card, reading yesterday, today and the next two days in every league. Plans and limits
How far back does it go?
Results go back to , and every North American top league game since 1917 has its box score. Inside a game
How soon is a result in?
Within about ten minutes in every league we follow, and every minute during North American top league games. How fresh the data is
Can my assistant use it?
Yes, through the MCP server with your own key, or with the agent skill. MCP