Yahoo Sports API endpoint
Returns one golf tournament's full leaderboard (every golfer's rank, to-par score, status, holes-completed-in-current-round, per-round strokes, and a fixed stat set: earnings, eagles, birdies, pars, bogeys, double bogeys), from Yahoo Sports' own public tournament-leaderboard JSON API. Get the `tournament` id from a golf-schedule response's `id` field, e.g. `golf.e.23`.
/yahoo-sports/golf-leaderboardQuery parameters:
tournament: required. A Yahoo Sports golf tournament id from a golf-schedule response's id field, e.g. golf.e.23.season: optional. 4-digit season year — a tournament id is reused across years, so this disambiguates. Defaults to the tournament's most recent season.Notable response behavior:
entries preserves Yahoo's own leaderboard ordering (by rank).rank is a string and may carry a tie prefix, e.g. T1.score/score_display are relative to par for the whole tournament (e.g. -22, E, +3); each entry in rounds carries the same pair for that round alone.status is one of IN_PROGRESS, FINISHED, MISSED_CUT, WITHDRAWN, or DISQUALIFIED. A golfer keeps a real rank/score even after missing the cut, withdrawing, or being disqualified — these are not blanked out.thru is the golfer's holes-completed count for the tournament's current round specifically (tournament.current_round), not simply their furthest-along round — a golfer who has already finished today's round still reports that round's holes-completed (typically 18) rather than 0 from tomorrow's not-yet-started round.rounds is round-level only (strokes and to-par score per round); full hole-by-hole shot detail is not included, matching this platform's existing game-boxscore-stops-at-team-totals convention.stats is a fixed set (earnings, eagles, birdies, pars, bogeys, double bogeys) matching what Yahoo's own tournament page requests by default; a zero-valued stat is omitted.tournament values return an invalid-parameter error before upstream IO; an unknown tournament id returns a 404.| Field | Filled in, of 147 checked | Values in the sample |
|---|---|---|
| rank | 147 | “1” and 35 other values |
| player | 147 | |
| score | 147 | -22 to 13, median -2 |
| score_display | 147 | “-22” and 29 other values |
| status | 147 | FINISHED (81), MISSED_CUT (63), WITHDRAWN (2) and 1 more |
| thru | 147 | 9 to 18, median 18 |
| rounds | 147 | median 4 entries |
| stats | 147 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| tournament | string | Yes | Yahoo Sports golf tournament id from a golf-schedule response's id field | golf.e.23 | |
| season | integer | No | the tournament's most recent season | 4-digit season year (a tournament id is reused across years); defaults to the tournament's most recent season | 2026 |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/yahoo-sports/golf-leaderboard?tournament=golf.e.23" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"tour": "pga-tour",
"season": 2026,
"tournament": {
"id": "golf.e.17",
"name": "Wyndham Championship",
"status": "FINAL",
"start_date": "2026-08-06-07:00",
"end_date": "2026-08-09-07:00",
"current_round": 4,
"rounds": 4,
"purse": "8500000.00",
"venue": {
"name": "Sedgefield Country Club",
"city": "Greensboro",
"state": "North Carolina",
"country": "United States"
},
"url": "https://sports.yahoo.com/golf/pga-tour/2026/wyndham-championship/"
},
"count": 147,
"source_url": "https://graphite.sports.yahoo.com/v1/query/shangrila/playbookGolfTournament?...",
"fetched_at": "2026-08-14T07:05:00Z",
"entries": [
{
"rank": "1",
"player": {
"id": "golf.p.24201",
"name": "Michael Brennan",
"short_name": "M. Brennan",
"country": "United States",
"url": "https://sports.yahoo.com/golf/players/Michael+Brennan/24201/"
},
"score": -22,
"score_display": "-22",
"status": "FINISHED",
"thru": 18,
"rounds": [
{
"round": 1,
"strokes": 66,
"score": -4,
"score_display": "-4"
},
{
"round": 2,
"strokes": 65,
"score": -5,
"score_display": "-5"
},
{
"round": 3,
"strokes": 63,
"score": -7,
"score_display": "-7"
},
{
"round": 4,
"strokes": 64,
"score": -6,
"score_display": "-6"
}
],
"stats": {
"earnings": "$1530000.00",
"eagles": 1,
"birdies": 25,
"pars": 42,
"bogeys": 3,
"double_bogeys": 1
}
}
]
}
}Request schema
No body schema
Response schema
#/definitions/yahoosports.golfLeaderboardResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | yahoosports.GolfLeaderboardResponse | No | ||||
| data.count | integer | No | 156 | |||
| data.entries | array | No | ||||
| data.entries[].player | yahoosports.GolfPlayerRef | No | ||||
| data.entries[].player.country | string | No | United States | |||
| data.entries[].player.id | string | No | golf.p.23296 | |||
| data.entries[].player.name | string | No | Michael Thorbjornsen | |||
| data.entries[].player.short_name | string | No | M. Thorbjornsen | |||
| data.entries[].player.url | string | No | ||||
| data.entries[].rank | string | No | T1 | |||
| data.entries[].rounds | array | No | ||||
| data.entries[].rounds[].round | integer | No | 1 | |||
| data.entries[].rounds[].score | integer | No | -5 | |||
| data.entries[].rounds[].score_display | string | No | -5 | |||
| data.entries[].rounds[].strokes | integer | No | 65 | |||
| data.entries[].score | integer | No | -5 | |||
| data.entries[].score_display | string | No | -5 | |||
| data.entries[].stats | yahoosports.GolfPlayerStats | No | ||||
| data.entries[].stats.birdies | integer | No | 12 | |||
| data.entries[].stats.bogeys | integer | No | 3 | |||
| data.entries[].stats.double_bogeys | integer | No | 0 | |||
| data.entries[].stats.eagles | integer | No | 1 | |||
| data.entries[].stats.earnings | string | No | $0.00 | |||
| data.entries[].stats.pars | integer | No | 48 | |||
| data.entries[].status | string | No | IN_PROGRESS | |||
| data.entries[].thru | integer | No | 18 | |||
| data.fetched_at | string | No | ||||
| data.season | integer | No | 2026 | |||
| data.source_url | string | No | ||||
| data.tour | string | No | pga-tour | |||
| data.tournament | yahoosports.GolfTournamentRef | No | ||||
| data.tournament.current_round | integer | No | 1 | |||
| data.tournament.end_date | string | No | 2026-08-16 | |||
| data.tournament.id | string | No | golf.e.23 | |||
| data.tournament.name | string | No | FedEx St. Jude Championship | |||
| data.tournament.purse | string | No | 20000000.00 | |||
| data.tournament.rounds | integer | No | 4 | |||
| data.tournament.start_date | string | No | 2026-08-13 | |||
| data.tournament.status | string | No | IN_PROGRESS | |||
| data.tournament.url | string | No | ||||
| data.tournament.venue | yahoosports.Venue | No | Venue record, 4 fields: city, country, name, state. Described under Yahoo Sports game boxscore API. | |||
| 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/golf-leaderboard?tournament=golf.e.23" \
-H "x-api-key: $CRAWLORA_API_KEY"