Yahoo Sports API endpoint
Returns one source game boxscore with matchup, line score and team stat totals, plus Yahoo's play-by-play and win-probability timeline when available. Event objects retain Yahoo's sport-specific fields. Use league plus game for direct league pages, or league=soccer with the exact game_url from a soccer scoreboard for competitions whose game path is published per match.
/yahoo-sports/gameReturns one game's boxscore — matchup, line score by period, and team stat totals — from Yahoo Sports. It also returns Yahoo's source play-by-play events and win-probability timeline when the game page publishes them. Event objects retain their sport-specific Yahoo fields.
Query parameters:
league: required enum. Allowed values: nfl, nba, wnba, mlb, nhl, college-football, college-basketball, college-womens-basketball, soccer, mls, premier-league, la-liga, serie-a, bundesliga, ligue-1, champions-league, nwsl, ligamx-apertura, ligamx-clausura, copa-america, club-world-cup, world-cup, concacaf-champions-cup, concacaf-gold-cup, concacaf-league, womens-world-cup, europa-league, euro-championship.game: optional for direct league pages. Use the slug from a scoreboard or team-schedule response's game url (the last path segment), e.g. cleveland-guardians-detroit-tigers-460811106.game_url: optional exact source url from a soccer scoreboard game. Use it with league=soccer when the competition has no fixed game-page path. Supply exactly one of game or game_url.Notable response behavior:
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.competition ID and name. game_url accepts only HTTPS sports.yahoo.com/soccer/... game links with a source game ID in the final path segment.play_by_play contains Yahoo's source event objects when present. The event fields vary by sport (for example, NHL plays include rink coordinates), so their contents are preserved without flattening them into a cross-sport schema.win_probability_timeline contains Yahoo's source probability points when present. Yahoo does not publish this timeline for every sport or game; soccer game pages may omit it.league/game values return an invalid-parameter error before upstream IO; an unknown game slug returns a 404.Example request for a source-linked soccer game:
/api/v1/yahoo-sports/game?league=soccer&game_url=https%3A%2F%2Fsports.yahoo.com%2Fsoccer%2Fwomens-world-cup%2Fengland-spain-13281462%2F
| Field | Filled in, of 9 checked | Values in the sample |
|---|---|---|
| label | 9 | “Bottom 1st” and 8 other values |
| away | 9 | 0 to 1, median 0 |
| home | 8 | 0 to 3, median 0 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| league | string | Yes | League key Allowed values: nfl, nba, wnba, mlb, nhl, college-football, college-basketball, college-womens-basketball, soccer, mls, premier-league, la-liga, serie-a, bundesliga, ligue-1, champions-league, nwsl, ligamx-apertura, ligamx-clausura, copa-america, club-world-cup, world-cup, concacaf-champions-cup, concacaf-gold-cup, concacaf-league, womens-world-cup, europa-league, euro-championship. | mlb | |
| game | string | No | Yahoo game slug for direct league pages; supply game or game_url | cleveland-guardians-detroit-tigers-460811106 | |
| game_url | string | No | Exact game.url from a soccer scoreboard; requires league=soccer and cannot be combined with game | https://sports.yahoo.com/soccer/european-championship-finals/belgium-france-13514469/ | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/game?league=mlb" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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"
}
]
}
],
"play_by_play": [
{
"playId": "...",
"period": 1,
"homeScore": 0,
"awayScore": 0,
"text": "..."
}
],
"win_probability_timeline": [
{
"homeScore": 6,
"awayScore": 4,
"homeTeamProbability": 0.64,
"awayTeamProbability": 0.36
}
]
}
}Request schema
No body schema
Response schema
#/definitions/yahoosports.gameResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahoosports.GameResponse | No | ||||
| data.away_score | integer | No | ||||
| data.away_team | yahoosports.TeamRef | No | ||||
| data.away_team.abbreviation | string | No | GB | |||
| data.away_team.id | string | No | nfl.t.9 | |||
| data.away_team.location | string | No | Green Bay | |||
| data.away_team.logo | string | No | ||||
| data.away_team.name | string | No | Green Bay Packers | |||
| data.away_team.nickname | string | No | Packers | |||
| data.away_team.primary_color | string | No | 203731 | |||
| data.away_team.secondary_color | string | No | FFB612 | |||
| data.away_team.short_name | string | No | Green Bay | |||
| data.away_team.url | string | No | https://sports.yahoo.com/nfl/teams/green-bay/ | |||
| data.broadcasts | array | No | ||||
| data.broadcasts[].abbr | string | No | NFLN | |||
| data.broadcasts[].name | string | No | NFL Network | |||
| data.competition | yahoosports.SoccerCompetitionRef | No | ||||
| data.competition.id | string | No | soccer.l.fbgb | |||
| data.competition.logo_url | string | No | ||||
| data.competition.name | string | No | Premier League | |||
| data.competition.short_name | string | No | EPL | |||
| data.competition.url | string | No | https://sports.yahoo.com/soccer/premier-league/ | |||
| data.display_name | string | No | Cleveland @ Detroit | |||
| data.fetched_at | string | No | ||||
| data.game | string | No | cleveland-guardians-detroit-tigers-460811106 | |||
| data.home_score | integer | No | ||||
| data.home_team | yahoosports.TeamRef | No | ||||
| data.home_team.abbreviation | string | No | GB | |||
| data.home_team.id | string | No | nfl.t.9 | |||
| data.home_team.location | string | No | Green Bay | |||
| data.home_team.logo | string | No | ||||
| data.home_team.name | string | No | Green Bay Packers | |||
| data.home_team.nickname | string | No | Packers | |||
| data.home_team.primary_color | string | No | 203731 | |||
| data.home_team.secondary_color | string | No | FFB612 | |||
| data.home_team.short_name | string | No | Green Bay | |||
| data.home_team.url | string | No | https://sports.yahoo.com/nfl/teams/green-bay/ | |||
| data.id | string | No | mlb.g.460811106 | |||
| data.league | string | No | mlb | |||
| data.line_score | array | No | ||||
| data.line_score[].away | integer | No | ||||
| data.line_score[].home | integer | No | ||||
| data.line_score[].label | string | No | Bottom 5th | |||
| data.play_by_play | array | No | ||||
| data.source_url | string | No | ||||
| data.start_time | string | No | ||||
| data.status | string | No | FINAL | |||
| data.status_display | string | No | Final | |||
| data.team_stats | array | No | ||||
| data.team_stats[].stats | array | No | ||||
| data.team_stats[].stats[].id | string | No | RUNS | |||
| data.team_stats[].stats[].label | string | No | Runs | |||
| data.team_stats[].stats[].value | string | No | 6 | |||
| data.team_stats[].team | yahoosports.TeamRef | No | ||||
| data.team_stats[].team.abbreviation | string | No | GB | |||
| data.team_stats[].team.id | string | No | nfl.t.9 | |||
| data.team_stats[].team.location | string | No | Green Bay | |||
| data.team_stats[].team.logo | string | No | ||||
| data.team_stats[].team.name | string | No | Green Bay Packers | |||
| data.team_stats[].team.nickname | string | No | Packers | |||
| data.team_stats[].team.primary_color | string | No | 203731 | |||
| data.team_stats[].team.secondary_color | string | No | FFB612 | |||
| data.team_stats[].team.short_name | string | No | Green Bay | |||
| data.team_stats[].team.url | string | No | https://sports.yahoo.com/nfl/teams/green-bay/ | |||
| data.venue | yahoosports.Venue | No | ||||
| data.venue.city | string | No | ||||
| data.venue.country | string | No | ||||
| data.venue.name | string | No | Acrisure Stadium | |||
| data.venue.state | string | No | ||||
| data.week | integer | No | ||||
| data.win_probability_timeline | array | No | ||||
| data.winning_team_id | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/game?league=mlb" \
-H "x-api-key: $CRAWLORA_API_KEY"