Scoreboard tracking
Use Yahoo Sports endpoints to turn scoreboard tracking into repeatable API requests with documented inputs and JSON responses.
Turn sports.yahoo.com's own server-rendered pages into structured JSON — scoreboards, standings, teams, rosters, players, game boxscores, golf tournament schedules and leaderboards, MMA fight cards, motorsports race results, tennis rankings and scores, Olympic medal counts, and league news across seven leagues plus five golf tours. Credential-free.
Extract Yahoo Sports scoreboards, standings, teams, rosters, players, game boxscores, golf tournaments, and league news as structured JSON.
Endpoint families
6
Documented params
41
Examples
18
Live catalog snapshot
Active endpoints
18
Methods
GET
Required params
37
Schema refs
18
{
"platform": "Yahoo Sports",
"endpoint": "yahoo-sports-scoreboard",
"method": "GET",
"path": "/yahoo-sports/scoreboard",
"auth": "apiKey"
}Use cases
Extract Yahoo Sports scoreboards, standings, teams, rosters, players, game boxscores, golf tournaments, and league news as structured JSON.
Use Yahoo Sports endpoints to turn scoreboard tracking into repeatable API requests with documented inputs and JSON responses.
Use Yahoo Sports endpoints to turn team and roster enrichment into repeatable API requests with documented inputs and JSON responses.
Use Yahoo Sports endpoints to turn sports news monitoring into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Yahoo Sports endpoint catalog — 18 endpoints, 41 documented request parameters, and 18 published response schemas — the same catalog Docs and Playground run against.
18 documented Yahoo Sports endpoints, grouped into 18 request families — Game, Golf Leaderboard and Golf Schedule, plus 15 more.
41 request parameters are documented across those Yahoo Sports endpoints, 37 of them required — the full input contract is public before you write any integration code.
18 of the 18 Yahoo Sports endpoints ship a recorded example response, and 18 carry a documented response schema — you can code against the real JSON before the first request.
Yahoo Sports endpoints document their error responses (400, 404, 429 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
18 hosted MCP tools back the Yahoo Sports endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/yahoo-sports/game
/yahoo-sports/golf-leaderboard
/yahoo-sports/golf-schedule
/yahoo-sports/mma-fight-card
/yahoo-sports/mma-schedule
/yahoo-sports/motorsports-race
Featured endpoints
/yahoo-sports/scoreboardReturns games (teams, score, status, venue, and broadcast info) for a league on a date, from sports.yahoo.com's own server-rendered scoreboard page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `college-womens-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `copa-america`, `club-world-cup`, `world-cup`, `concacaf-champions-cup`, `concacaf-gold-cup`, `concacaf-league`, and `champions-league`.
Response notes
- A valid date with no games returns an empty `games` array (not an error). - `away_score`/`home_score` are `null` until the game starts. - `status` is Yahoo's raw status code (e.g. `PREGAME`, `INPROGRESS`, `FINAL`); `status_display` is the human-readable label. - Each game's `slug` is the identifier the `game`/boxscore endpoint expects. - Invalid `league`/`date` values return an invalid-parameter error before upstream IO. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "nfl", "date": "2026-08-13", "count": 1, "source_url": "https://sports.yahoo.com/nfl/scoreboard/?date=2026-08-13", "fetched_at": "2026-08-13T20:05:00Z", "games": [ { "id": "nfl.g.20260813023", "slug": "green-bay-packers-pittsburgh-steelers-20260813023", "display_name": "Green Bay @ Pittsburgh", "status": "PREGAME", "status_display": "7:00 PM", "start_time": "2026-08-13T16:00:00-07:00", "venue": { "name": "Acrisure Stadium", "city": "Pittsburgh", "state": "PA", "country": "USA" }, "away_team": { "id": "nfl.t.9", "name": "Green Bay Packers", "short_name": "Green Bay", "abbreviation": "GB" }, "home_team": { "id": "nfl.t.23", "name": "Pittsburgh Steelers", "short_name": "Pittsburgh", "abbreviation": "PIT" }, "broadcasts": [{ "name": "NFL Network", "abbr": "NFLN" }] } ] } } ```
MCP tool yahoo_sports_scoreboard
/yahoo-sports/standingsReturns league standings (record, streak, games back, and clinch status) grouped by conference/division, from sports.yahoo.com's own server-rendered standings page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `world-cup`, and `champions-league` (not `college-womens-basketball`, whose standings page does not embed a full grouped table). Soccer leagues return a single ungrouped table (no conference/division) and each entry's `record.points` is populated (3 per win, 1 per draw).
Response notes
- `groups` preserves Yahoo's own conference/division ordering; each group's `entries` preserves Yahoo's own position ordering. - `games_back` is `null` for a division/conference leader. - Single-table soccer leagues (`mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `champions-league`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`) return a single ungrouped table — `groups` has one entry with empty `conference`/`division` — and each entry's `record.points` is populated (3 per win, 1 per draw); `record.points` is omitted for every other league. - `world-cup` is the one exception with real grouping: its group-stage format returns multiple groups (e.g. `division: "Group J"`), not a single table. - `college-basketball` groups by conference only (`division` is empty for every group); `college-football` groups by conference then division (e.g. `division: "FBS"`). - Invalid `league` values return an invalid-parameter error before upstream IO. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "mlb", "count": 30, "source_url": "https://sports.yahoo.com/mlb/standings/", "fetched_at": "2026-08-13T20:05:00Z", "groups": [ { "conference": "American League", "division": "East", "entries": [ { "team": { "id": "mlb.t.2", "name": "Boston", "abbreviation": "BOS" }, "record": { "wins": 64, "losses": 56, "win_pct": ".533", "display": "64-56" }, "home_record": "29-31", "away_record": "35-25", "last10": "5-5", "streak": "L-5", "games_back": 10, "position": 3 } ] } ] } } ```
MCP tool yahoo_sports_standings
/yahoo-sports/teamReturns one team's detail (identity, colors, conference/division, and current standing summary) from sports.yahoo.com's own server-rendered team page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `college-womens-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `copa-america`, `club-world-cup`, `world-cup`, `concacaf-champions-cup`, `concacaf-gold-cup`, `concacaf-league`, and `champions-league`. Get a team slug from the scoreboard or standings response (e.g. `green-bay`, `la-lakers`).
Response notes
- `team` is looked up by matching the requested slug against the page's own team links, so an unknown slug returns a not-found error rather than a wrong team. - `record` reflects Yahoo's current-season record; preseason/off-season windows may show `0-0`. - Invalid `league`/`team` values return an invalid-parameter error before upstream IO; an unknown team slug returns a 404. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "nfl", "source_url": "https://sports.yahoo.com/nfl/teams/green-bay/", "fetched_at": "2026-08-13T20:05:00Z", "team": { "id": "nfl.t.9", "name": "Green Bay Packers", "short_name": "Green Bay", "abbreviation": "GB", "nickname": "Packers", "primary_color": "203731", "secondary_color": "FFB612", "url": "https://sports.yahoo.com/nfl/teams/green-bay/", "conference": "NFC", "division": "NFC North", "standing_summary": "4th NFC North", "record": { "wins": 0, "losses": 0, "win_pct": ".000", "display": "0-0" } } } } ```
MCP tool yahoo_sports_team
/yahoo-sports/team-rosterReturns a team's full roster (position, jersey number, status, injury, physicals, college, and experience) from sports.yahoo.com's own server-rendered roster page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `college-womens-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `copa-america`, `club-world-cup`, `world-cup`, `concacaf-champions-cup`, `concacaf-gold-cup`, `concacaf-league`, and `champions-league`. Get a team slug from the scoreboard or standings response (e.g. `green-bay`, `la-lakers`).
Response notes
- `players` includes every player on the current roster page; `status`/`injury` reflect Yahoo's current designations (e.g. `ACT`, `IR`, `Questionable`). - `team` is the roster page's own team header (id, name, colors, url); it is omitted if the page's team header could not be matched. - Invalid `league`/`team` values return an invalid-parameter error before upstream IO. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "nfl", "team": { "id": "nfl.t.9", "name": "Green Bay Packers", "short_name": "Green Bay", "url": "https://sports.yahoo.com/nfl/teams/green-bay/" }, "count": 53, "source_url": "https://sports.yahoo.com/nfl/teams/green-bay/roster/", "fetched_at": "2026-08-13T20:05:00Z", "players": [ { "id": "nfl.p.42019", "name": "John Williams", "position": "G", "number": "73", "status": "ACT", "injury": "Questionable", "age": 24, "height": "6'4\"", "weight": 322, "college": "Cincinnati", "experience_years": 2, "url": "https://sports.yahoo.com/nfl/players/42019/" } ] } } ```
MCP tool yahoo_sports_team_roster
/yahoo-sports/team-scheduleReturns a team's full schedule (regular season plus any already-played/scheduled playoff games), with the same per-game fields as the scoreboard, from sports.yahoo.com's own server-rendered team schedule page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `college-womens-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `copa-america`, `club-world-cup`, `world-cup`, `concacaf-champions-cup`, `concacaf-gold-cup`, `concacaf-league`, and `champions-league`. Get a team slug from the scoreboard or standings response (e.g. `green-bay`, `la-lakers`).
Response notes
- `games` preserves Yahoo's own chronological ordering. - Each game's `slug` field is the identifier the `game`/boxscore endpoint expects. - Invalid `league`/`team` values return an invalid-parameter error before upstream IO. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "nfl", "team": { "id": "nfl.t.9", "name": "Green Bay Packers", "short_name": "Green Bay", "url": "https://sports.yahoo.com/nfl/teams/green-bay/" }, "count": 25, "source_url": "https://sports.yahoo.com/nfl/teams/green-bay/schedule/", "fetched_at": "2026-08-13T20:05:00Z", "games": [ { "id": "nfl.g.20260110003", "slug": "green-bay-packers-chicago-bears-20260110003", "display_name": "Green Bay @ Chicago - Wild Card Playoff", "status": "FINAL", "status_display": "Final", "start_time": "2026-01-10T13:00:00-08:00", "away_team": { "id": "nfl.t.9", "name": "Green Bay Packers", "abbreviation": "GB" }, "home_team": { "id": "nfl.t.3", "name": "Chicago Bears", "abbreviation": "CHI" }, "away_score": 27, "home_score": 31 } ] } } ```
MCP tool yahoo_sports_team_schedule
/yahoo-sports/gameReturns one game's boxscore (matchup, line score by period, and team stat totals) from sports.yahoo.com's own server-rendered game page. The `league` enum accepts `nfl`, `nba`, `wnba`, `mlb`, `nhl`, `college-football`, `college-basketball`, `college-womens-basketball`, `mls`, `premier-league`, `la-liga`, `serie-a`, `bundesliga`, `ligue-1`, `nwsl`, `ligamx-apertura`, `ligamx-clausura`, `copa-america`, `club-world-cup`, `world-cup`, `concacaf-champions-cup`, `concacaf-gold-cup`, `concacaf-league`, and `champions-league`. Get the `game` slug from a scoreboard or team-schedule response's game `url` (the last path segment), e.g. `cleveland-guardians-detroit-tigers-460811106`.
Response notes
- `line_score` has one entry per period actually played (innings/quarters/periods), each carrying that period's away/home score. - `team_stats` has one entry per team with a flat, labeled stat list (e.g. runs, hits, errors for baseball); a stat's `label` falls back to its raw `id` when Yahoo's own payload de-duplicated the label text elsewhere on the page. - Pre-game and in-progress games return whatever score/line-score/stat data Yahoo has published so far — this is a genuine partial result, not an error. - Invalid `league`/`game` values return an invalid-parameter error before upstream IO; an unknown game slug returns a 404. Example response: ```json { "code": 200, "msg": "OK", "data": { "league": "mlb", "game": "cleveland-guardians-detroit-tigers-460811106", "source_url": "https://sports.yahoo.com/mlb/cleveland-guardians-detroit-tigers-460811106/", "fetched_at": "2026-08-13T20:05:00Z", "id": "mlb.g.460811106", "display_name": "Cleveland @ Detroit", "status": "FINAL", "status_display": "Final", "away_team": { "id": "mlb.t.5", "name": "Cleveland Guardians", "abbreviation": "CLE" }, "home_team": { "id": "mlb.t.6", "name": "Detroit Tigers", "abbreviation": "DET" }, "away_score": 4, "home_score": 6, "winning_team_id": "mlb.t.6", "line_score": [ { "label": "Bottom 1st", "away": 0, "home": 0 }, { "label": "Bottom 2nd", "away": 0, "home": 1 } ], "team_stats": [ { "team": { "id": "mlb.t.5", "abbreviation": "CLE" }, "stats": [{ "id": "RUNS", "label": "Runs", "value": "4" }, { "id": "HITS", "label": "Hits", "value": "8" }] }, { "team": { "id": "mlb.t.6", "abbreviation": "DET" }, "stats": [{ "id": "RUNS", "label": "Runs", "value": "6" }, { "id": "HITS", "label": "Hits", "value": "9" }] } ] } } ```
MCP tool yahoo_sports_game
Related APIs
Media & Streaming
Research streaming catalogs, title availability, providers, offers, seasons, episodes, and release changes from JustWatch with normalized JSON.
Media & Streaming
Turn Apple Books ebook and audiobook pages into structured data — search, catalog detail, paginated customer reviews, similar titles, author bibliographies, series listings, and chart rankings as normalized JSON. Credential-free.
Media & Streaming
Search public Ticketmaster events and browse the full discovery hierarchy by category or city, with pagination plus event, attraction, and venue detail endpoints -- including fan reviews, related attractions, trending attractions, and enhanced venue branding -- for live-entertainment research.
How to scrape Yahoo Sports
Yahoo Sports has no public developer API, but sports.yahoo.com's own pages are credential-free public JSON-backed HTML. Crawlora's 18 Yahoo Sports endpoints return scoreboards, standings, teams, rosters, players, game boxscores, league news across nfl, nba, wnba, mlb, nhl, college-football, and college-basketball, golf tournament schedules and leaderboards across five tours, UFC fight cards and schedules, F1/NASCAR race results and schedules, ATP/WTA tennis rankings, schedules, and live scores, and the current Olympic games' medal count, as normalized JSON.
Every team-sport endpoint takes a league — nfl, nba, wnba, mlb, nhl, college-football, or college-basketball. Standings only covers nfl, nba, wnba, mlb, and nhl.
The scoreboard endpoint returns games for a league on a date — teams, score, status, venue, and broadcast info.
Team detail, roster, and schedule take a team slug from a scoreboard or standings response (e.g. green-bay, la-lakers); game boxscore takes a game slug from a scoreboard or team-schedule response's game URL.
Player detail takes a numeric player id from a roster response; the news endpoint returns recent articles for a league.
Pass a tour — pga-tour, pga-european-tours, lpga-tour, champions-tour, or european-tour — to /yahoo-sports/golf-schedule for the season's tournaments, then feed a tournament's id (e.g. golf.e.23) to /yahoo-sports/golf-leaderboard for every golfer's rank, to-par score, and per-round strokes.
/yahoo-sports/mma-schedule and /yahoo-sports/mma-fight-card cover UFC only; /yahoo-sports/motorsports-schedule and /yahoo-sports/motorsports-race take a series — f1 or nascar — with the race slug from a schedule response's race URL; /yahoo-sports/tennis-rankings takes a type (mens-singles, womens-singles, mens-doubles, womens-doubles), while /yahoo-sports/tennis-schedule and /yahoo-sports/tennis-scoreboard take no parameters.
/yahoo-sports/olympics-medals takes no parameters — it returns whichever Olympic games Yahoo currently has medal data for, ranked by country, with gold/silver/bronze/total counts.
FAQ
No. Yahoo Sports has no public developer API. Crawlora's endpoints read sports.yahoo.com's own server-rendered pages and return the data as normalized JSON.
nfl, nba, wnba, mlb, nhl, college-football, and college-basketball. Standings excludes college-football and college-basketball, whose pages use an unsupported conference-selector shape.
Pass a team slug (from a scoreboard or standings response, e.g. green-bay, la-lakers) to /yahoo-sports/team-roster or /yahoo-sports/team-schedule.
Yes — pass a game slug (the last path segment of a scoreboard or team-schedule response's game url, e.g. cleveland-guardians-detroit-tigers-460811106) to /yahoo-sports/game.
pga-tour, pga-european-tours, lpga-tour, champions-tour, and european-tour. Get a tournament's id from /yahoo-sports/golf-schedule, then pass it to /yahoo-sports/golf-leaderboard.
MMA coverage is UFC-only — Yahoo's own schedule page doesn't expose Bellator, PFL, or ONE Championship. Motorsports coverage is limited to the f1 and nascar series.
/yahoo-sports/tennis-rankings takes a type (mens-singles, womens-singles, mens-doubles, or womens-doubles); /yahoo-sports/tennis-scoreboard returns a snapshot of current/recent matches with no parameters needed.
Yes — /yahoo-sports/olympics-medals takes no parameters and returns the current Olympic games' full medal count by country. It always reflects whichever games Yahoo currently has data for, not a caller-selected prior edition.