Sports Reference API: Get player career statistics
Finds a player on Basketball, Pro Football, Baseball or Hockey Reference and returns regular-season career statistics, awards and a season-by-season record.
Unofficial. Not affiliated with or endorsed by Sports Reference.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Sport optional
sport Sport to search, for example basketball. All searches four sports and picks the strongest match.
hockey
One of
all,basketball,football,baseball,hockey. Defaultall.- Player, required
player The player name, for example Michael Jordan.
Wayne Gretzky
Input as JSON
{ "sport": "hockey", "player": "Wayne Gretzky"}Output
{ "sport": "hockey", "teams": [ "INR", "EDO", "EDM" ], "player": "Wayne Gretzky", "seasons": [ { "age": 18, "team": "INR / EDO", "games": 80, "goals": 46, "league": "WHA", "points": 110, "season": "1978-79", "assists": 64, "page_link": "https://www.hockey-reference.com/players/g/gretzwa01/gamelog/1979/" , "plus_minus": 20, "shots_on_goal": 270 }, { "age": 19, "team": "EDM", "games": 79, "goals": 51, "league": "NHL", "points": 137, "season": "1979-80", "assists": 86, "page_link": "https://www.hockey-reference.com/players/g/gretzwa01/gamelog/1980/" , "plus_minus": 14, "shots_on_goal": 284 }, { "age": 20, "team": "EDM", "games": 80, "goals": 55, "league": "NHL", "points": 164, "season": "1980-81", "assists": 109, "page_link": "https://www.hockey-reference.com/players/g/gretzwa01/gamelog/1981/" , "plus_minus": 41, "shots_on_goal": 261 } ], "positions": [ "C" ], "player_code": "gretzwa01", "years_active": "1978-79 to 1998-99", "player_page_link": "https://www.hockey-reference.com/players/g/gretzwa01.html" , "awards_and_honors": [ "Hall of Fame", "4x Cup Winner", "9x Hart" ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"sports-reference.com/get_player_career","input":{"sport":"hockey","player":"Wayne Gretzky"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "sports-reference.com/get_player_career" , "input": { "sport": "hockey", "player": "Wayne Gretzky" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "sports-reference.com/get_player_career" , "input": { "sport": "hockey", "player": "Wayne Gretzky" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run sports-reference.com/get_player_career# with {"sport":"hockey","player":"Wayne Gretzky"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "player" ], "properties": { "sport": { "enum": [ "all", "basketball", "football", "baseball", "hockey" ], "type": "string", "default": "all", "description": "Sport to search, for example basketball. All searches four sports and picks the strongest match." }, "player": { "type": "string", "minLength": 1, "description": "The player name, for example Michael Jordan." } }}Output schema
{ "type": "object", "required": [ "player", "sport", "positions", "teams", "years_active", "player_page_link", "awards_and_honors", "seasons", "player_code" ], "properties": { "sport": { "type": "string" }, "teams": { "type": "array", "items": { "type": "string" } }, "player": { "type": "string" }, "seasons": { "type": "array", "items": { "type": "object", "properties": { "age": { "type": [ "integer", "null" ] }, "team": { "type": [ "string", "null" ] }, "games": { "type": [ "integer", "null" ] }, "league": { "type": [ "string", "null" ] }, "season": { "type": "string" }, "page_link": { "type": "string" } } } }, "positions": { "type": "array", "items": { "type": "string" } }, "player_code": { "type": "string" }, "years_active": { "type": "string" }, "player_page_link": { "type": "string" }, "awards_and_honors": { "type": "array", "items": { "type": "string" } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
sports-reference.com/get_player_career- Returns
- player, sport, positions, teams, years active, awards, seasons with stats, career totals
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method sports-reference.com/get_player_career with the inputs above.
Ask your agent
- How many career points did LeBron James score across his NBA seasons?
- Show me Tom Brady's full career passing stats and season-by-season numbers on sports-reference.com.
- What awards has Ichiro Suzuki won during his baseball career, and what were his yearly batting averages?
- Pull up Wayne Gretzky's regular-season career totals, teams played for, and years active in hockey.
- Find Shaquille O'Neal's career stats, positions, and championships from the basketball reference data.
See more
All Sports Reference methodsLists league leaders for a season and statistic in NBA basketball, NFL football, MLB baseball or NHL hockey. If no season is given, it uses the latest season with published leaders.
sports-reference.com/list_season_leadersLooks up a Yahoo Sports player by name and returns the player's regular-season statistics for a season, alongside career totals. Each stat includes season and career values.
sports.yahoo.com/get_player_statsLooks up an ESPN player by name and returns season and career statistics. Use a league to tell apart players with the same name, and a season year or label to pick a past season.
espn.com/get_player_statsGets an MLB player's profile and regular-season hitting and pitching statistics for one season and for his career. Without a season it uses the current season, or the player's latest MLB season if he has no stats this year.
mlb.com/get_player_statsLooks up an NBA player by name, including retired players, and returns the bio and regular-season per-game averages for the reported season and career.
nba.com/get_playerLooks up an NHL player by name, link or ID and returns the profile with regular-season stats for a season and career totals.
nhl.com/get_player_statsLooks up a Premier League player by name and returns the profile and either career totals or the stats for a chosen season. If names clash, a current Premier League player is preferred.
premierleague.com/get_player_statsGets a named NFL player's season and career stats, with profile details. Active players are preferred when names match.
nfl.com/get_player_stats