NFL API: Get team roster
Gets an NFL team's current NFL.com roster by team name, nickname or city. You can limit it to offense, defense or special teams. Released players are left out.
Unofficial. Not affiliated with or endorsed by NFL.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Team, required
team Team name, nickname, or city, for example Green Bay Packers or Packers.
Green Bay Packers
- Unit optional
unit Roster unit to include, for example offense. Defaults to all.
all (default)
One of
all,offense,defense,special_teams.
Input as JSON
{ "team": "Green Bay Packers"}Output
{ "team": "Green Bay Packers", "players": [ { "age": 26, "name": "Sean Rhyan", "height": "6 ft 5 in", "status": "Active", "college": "UCLA", "position": "Center", "player_link": "https://www.nfl.com/players/sean-rhyan/" , "jersey_number": 75, "position_code": "C", "weight_pounds": 320, "years_experience": 5 }, { "age": 21, "name": "Brandon Cisse", "height": "6 ft 0 in", "status": "Active", "college": "South Carolina", "position": "Cornerback", "player_link": "https://www.nfl.com/players/brandon-cisse/" , "jersey_number": 2, "position_code": "CB", "weight_pounds": 189, "years_experience": 0 }, { "age": 23, "name": "Domani Jackson", "height": "6 ft 1 in", "status": "Practice Squad", "college": "Alabama", "position": "Cornerback", "player_link": "https://www.nfl.com/players/domani-jackson/" , "jersey_number": 20, "position_code": "CB", "weight_pounds": 194, "years_experience": 0 } ], "team_link": "https://www.nfl.com/teams/green-bay-packers/" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"nfl.com/get_team_roster","input":{"team":"Green Bay Packers"}}' # 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": "nfl.com/get_team_roster" , "input": { "team": "Green Bay Packers" }})# 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": "nfl.com/get_team_roster" , "input": { "team": "Green Bay Packers" } }), 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 nfl.com/get_team_roster# with {"team":"Green Bay Packers"}"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": [ "team" ], "properties": { "team": { "type": "string", "description": "Team name, nickname, or city, for example Green Bay Packers or Packers." }, "unit": { "enum": [ "all", "offense", "defense", "special_teams" ], "type": "string", "default": "all", "description": "Roster unit to include, for example offense. Defaults to all." } }}Output schema
{ "type": "object", "required": [ "team", "team_link", "players" ], "properties": { "team": { "type": "string" }, "players": { "type": "array", "items": { "type": "object", "properties": { "age": { "type": [ "integer", "null" ] }, "name": { "type": "string" }, "height": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "college": { "type": [ "string", "null" ] }, "position": { "type": [ "string", "null" ] }, "player_link": { "type": "string" }, "jersey_number": { "type": [ "integer", "null" ] }, "position_code": { "type": [ "string", "null" ] }, "weight_pounds": { "type": [ "integer", "null" ] }, "years_experience": { "type": [ "integer", "null" ] } } } }, "team_link": { "type": "string" } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
nfl.com/get_team_roster- Returns
- team, team link, players with jersey number, position, status, height, weight, age, experience, college
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 nfl.com/get_team_roster with the inputs above.
Ask your agent
- Who is on the Packers offense right now? I want the current roster with jersey numbers and positions.
- Show me the Chicago Bears defensive players, including height, weight, age, and college.
- Can you pull the current special teams unit for the Dallas Cowboys from NFL.com?
- I need the full active roster for the Bengals, excluding anyone who has been released.
- Give me the defense roster for the Seattle team, listing each player's experience and college.
See more
All NFL methodsGets a named NFL player's season and career stats, with profile details. Active players are preferred when names match.
nfl.com/get_player_statsGets NFL scores and scheduled games for the week that contains a date. You can keep only one team's games. Kickoff times are in US Eastern time unless you choose another time zone.
nfl.com/get_scoresGets NFL regular-season standings by conference and division for a season, with clinch status when shown.
nfl.com/get_standingsLooks 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 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_playerReturns a team's past results and upcoming games for a season on ESPN, with opponents, local start times, scores, broadcasts and venues. Soccer fixtures include all competitions shown for the team.
espn.com/get_team_scheduleLooks 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_statsLists NHL games for a date, optionally limited to one team, with start times in the chosen time zone, scores, status, and TV networks.
nhl.com/get_scores