NBA API: Get scores
Gets NBA games for a date or up to seven days, using the NBA games calendar in US Eastern time. Each game has its score, status, start time, TV channels and venue.
Unofficial. Not affiliated with or endorsed by NBA.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Date optional
date First NBA calendar date, for example 2026-10-03. Defaults to today in US Eastern time.
2025-04-01
- Days optional
days Number of calendar days to include, for example 7 (one week).
2
Whole number from 1 to 7. Default
1.- Team optional
team Keep only this team’s games, for example Boston Celtics or Celtics.
Celtics
- Time Zone optional
time_zone Time zone for game start times, for example America/Los_Angeles. Defaults to US Eastern.
America/Los_Angeles
Default
America/New_York.
Input as JSON
{ "date": "2025-04-01", "days": 2, "team": "Celtics", "time_zone": "America/Los_Angeles" }Output
{ "games": [ { "city": "Boston", "date": "2025-04-02", "arena": "TD Garden", "clock": null, "status": "final", "game_id": "0022401106", "quarter": null, "away_team": "Miami Heat", "game_link": "https://www.nba.com/game/mia-vs-bos-0022401106" , "home_team": "Boston Celtics", "away_score": 124, "home_score": 103, "start_time": "2025-04-02T16:30:00-07:00", "tv_channels": [ "NBCSB", "FDSNSU", "Elta" ] } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"nba.com/get_scores","input":{"date":"2025-04-01","days":2,"team":"Celtics","time_zone":"America/Los_Angeles"}}' # 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": "nba.com/get_scores" , "input": { "date": "2025-04-01", "days": 2, "team": "Celtics", "time_zone": "America/Los_Angeles" }})# 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": "nba.com/get_scores" , "input": { "date": "2025-04-01", "days": 2, "team": "Celtics", "time_zone": "America/Los_Angeles" } }), 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 nba.com/get_scores# with {"date":"2025-04-01","days":2,"team":"Celtics","time_zone":"America/Los_Angeles"}"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", "properties": { "date": { "type": "string", "description": "First NBA calendar date, for example 2026-10-03. Defaults to today in US Eastern time." }, "days": { "type": "integer", "default": 1, "maximum": 7, "minimum": 1, "description": "Number of calendar days to include, for example 7 (one week)." }, "team": { "type": "string", "description": "Keep only this team’s games, for example Boston Celtics or Celtics." }, "time_zone": { "type": "string", "default": "America/New_York" , "description": "Time zone for game start times, for example America/Los_Angeles. Defaults to US Eastern." } }}Output schema
{ "type": "object", "required": [ "games" ], "properties": { "games": { "type": "array", "items": { "type": "object", "properties": { "city": { "type": [ "string", "null" ] }, "date": { "type": "string" }, "arena": { "type": [ "string", "null" ] }, "clock": { "type": [ "string", "null" ] }, "status": { "enum": [ "scheduled", "live", "final" ], "type": "string" }, "game_id": { "type": "string" }, "quarter": { "type": [ "string", "null" ] }, "away_team": { "type": "string" }, "game_link": { "type": "string" }, "home_team": { "type": "string" }, "away_score": { "type": [ "integer", "null" ] }, "home_score": { "type": [ "integer", "null" ] }, "start_time": { "type": [ "string", "null" ] }, "tv_channels": { "type": "array", "items": { "type": "string" } } } } } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
nba.com/get_scores- Returns
- date, start time, teams, scores, status, quarter, clock, TV channels, arena, city, game link, game id
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 nba.com/get_scores with the inputs above.
Ask your agent
- What NBA games are on for October 15, 2026 and what time do they tip off in Pacific time?
- Show me the Lakers schedule and scores for the next week
- Did the Celtics win last night, and what was the final score?
- Give me every NBA game this weekend with TV channels and arena names
- Which games are live right now in the NBA, with the current quarter and clock?
See more
All NBA methodsReturns the NBA box score for a game between two teams on a date; without a date, their most recent matchup, including Summer League and games in progress.
nba.com/get_box_scoreReturns NBA regular-season standings for a season, with Eastern and Western Conference teams in rank order. Defaults to the season shown on the NBA standings page.
nba.com/get_standingsLooks 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_playerLists 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_scoresGets ESPN scores and the schedule for a league on a local day. You can filter by team, and start times are shown in your time zone.
espn.com/get_scoresLists MLB games and scores for a date or up to seven days, optionally for one team. Start times are shown in the requested time zone.
mlb.com/get_scoresGets 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 scores and schedules for a league on a date, or for the football week that contains the date. Results can be limited to one team. Venue names come from each game page, for up to 22 games.
sports.yahoo.com/get_scores