Yahoo Sports API endpoint
Returns one player bio and current-season stats. Use league=soccer for Yahoo's flat soccer player namespace, or a league key from yahoo-sports-leagues; get the numeric player id from a roster record.
/yahoo-sports/playerReturns one player's bio/overview — position, jersey, status, injury, physicals, college, draft position — plus current-season stats by category, from Yahoo Sports.
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.player: required. A numeric Yahoo Sports player id from a team-roster response's player url (the last path segment), e.g. 42019.For soccer, team identity is global across competitions: league=soccer or a direct soccer league key uses Yahoo's flat /soccer/teams/{team}/ namespace. The team slug still comes from a source scoreboard, roster, or team record.
Notable response behavior:
season_stats has one entry per stat category (e.g. passing, rushing, defense for football) that has at least one accrued stat this season; categories with no accrued stats (a common preseason/off-season state) are omitted rather than returned empty.league/player values return an invalid-parameter error before upstream IO; an unknown player id returns a 404.| Field | In the sample | Value in the sample |
|---|---|---|
| league | Has a value | “nfl” |
| player.id | Has a value | |
| player.name | Has a value | “John Williams” |
| player.position | Has a value | “G” |
| player.number | Has a value | 73 |
| player.status | Has a value | “ACT” |
| player.height | Has a value | |
| player.weight | Has a value | 322 |
| player.college | Has a value | “Cincinnati” |
| player.url | Has a value | sports.yahoo.com |
| player.team | Has a value | |
| player.draft_year | Has a value | 2,025 |
| player.draft_round | Has a value | 7 |
| player.draft_pick | Has a value | 34 |
| 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. | nfl | |
| player | string | Yes | Numeric Yahoo Sports player id | 42019 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/player?league=nfl&player=42019" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"league": "nfl",
"source_url": "https://sports.yahoo.com/nfl/players/42019/",
"fetched_at": "2026-08-13T20:05:00Z",
"player": {
"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/",
"team": {
"id": "nfl.t.9",
"name": "Green Bay Packers",
"abbreviation": "GB"
},
"draft_year": 2025,
"draft_round": 7,
"draft_pick": 34,
"season_stats": []
}
}
}Request schema
No body schema
Response schema
#/definitions/yahoosports.playerResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahoosports.PlayerResponse | No | ||||
| data.fetched_at | string | No | ||||
| data.league | string | No | nfl | |||
| data.player | yahoosports.PlayerDetail | No | ||||
| data.player.age | integer | No | ||||
| data.player.college | string | No | ||||
| data.player.draft_pick | integer | No | 34 | |||
| data.player.draft_round | integer | No | 7 | |||
| data.player.draft_year | integer | No | 2025 | |||
| data.player.experience_years | integer | No | ||||
| data.player.height | string | No | 6'4" | |||
| data.player.id | string | No | nfl.p.42019 | |||
| data.player.injury | string | No | Questionable | |||
| data.player.name | string | No | John Williams | |||
| data.player.number | string | No | 73 | |||
| data.player.position | string | No | G | |||
| data.player.season_stats | array | No | ||||
| data.player.season_stats[].category | string | No | passing | |||
| data.player.season_stats[].stats | object | No | ||||
| data.player.status | string | No | ACT | |||
| data.player.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.player.url | string | No | ||||
| data.player.weight | integer | No | ||||
| 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/player?league=nfl&player=42019" \
-H "x-api-key: $CRAWLORA_API_KEY"