Yahoo Sports API endpoint
Returns grouped standings from a Yahoo Sports standings page. Use a league whose standings flag is true in yahoo-sports-leagues. Soccer standings can use a season from yahoo-sports-soccer-scoreboard; competitions without a source table are excluded.
/yahoo-sports/standingsReturns league standings — record, streak, games back, and clinch status — grouped by conference/division, from Yahoo Sports.
Query parameters:
league: required enum. Supported values include 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, champions-league, and europa-league. The soccer root, womens-world-cup, euro-championship, college-womens-basketball, copa-america, club-world-cup, concacaf-champions-cup, concacaf-gold-cup, and concacaf-league are unsupported here because their current source pages do not embed a full standings table.season: optional soccer season year from yahoo-sports-soccer-scoreboard. Omit to use the season selected by Yahoo's standings page.Notable response behavior:
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.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").league or unsupported standings values return an invalid-parameter error before upstream IO.| Field | Filled in, of 6 checked | Values in the sample |
|---|---|---|
| conference | 6 | American League (3), National League (3) |
| division | 6 | East (2), West (2), Central (2) |
| entries | 6 | median 5 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| league | string | Yes | League key Allowed values: nfl, nba, wnba, mlb, nhl, college-football, college-basketball, mls, premier-league, la-liga, serie-a, bundesliga, ligue-1, champions-league, nwsl, ligamx-apertura, ligamx-clausura, world-cup, europa-league. | mlb | |
| season | integer | No | Optional soccer standings season from yahoo-sports-soccer-scoreboard | 2026 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/standings?league=mlb" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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
}
]
}
]
}
}Request schema
No body schema
Response schema
#/definitions/yahoosports.standingsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahoosports.StandingsResponse | No | ||||
| data.count | integer | No | 30 | |||
| data.fetched_at | string | No | ||||
| data.groups | array | No | ||||
| data.groups[].conference | string | No | American League | |||
| data.groups[].division | string | No | East | |||
| data.groups[].entries | array | No | ||||
| data.groups[].entries[].away_record | string | No | 35-25 | |||
| data.groups[].entries[].clinched_division | boolean | No | ||||
| data.groups[].entries[].clinched_playoff | boolean | No | ||||
| data.groups[].entries[].games_back | number | No | ||||
| data.groups[].entries[].home_record | string | No | 29-31 | |||
| data.groups[].entries[].last10 | string | No | 5-5 | |||
| data.groups[].entries[].position | integer | No | 3 | |||
| data.groups[].entries[].record | yahoosports.TeamRecord | No | TeamRecord record, 6 fields: display, losses, points, ties, win_pct, wins. Described under Yahoo Sports team detail API. | |||
| data.groups[].entries[].streak | string | No | L-5 | |||
| data.groups[].entries[].team | yahoosports.TeamRef | No | TeamRef record, 10 fields: abbreviation, id, location, logo, name, nickname, primary_color, secondary_color, short_name, url. Described under Yahoo Sports game boxscore API. | |||
| data.league | string | No | mlb | |||
| data.season | integer | No | 2026 | |||
| data.source_url | 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/standings?league=mlb" \
-H "x-api-key: $CRAWLORA_API_KEY"