get_course_history
5 creditsStats + aggregationPOST /v1/get_course_history
A player's record at one tournament or course, every year
Use it when you want event or course form: a player's every start at one tournament, or every round on one course.
Parameters
player_idstringrequired- Player id from search_players.
tournament_idstringoptional- Any year's id of the tournament; every edition is returned.
course_idstringoptional- A course id (list_tournaments lists each tournament's courses).
Notes
- Over MCP, ask for it in plain English and the client calls
get_course_historyitself. Point any MCP client athttps://mcp.birdieapi.com/mcp?key=YOUR_API_KEY. - Each call costs 5 credits, taken before it runs and refunded if the server errors.
- Not the call you need? Find the right call by what you are trying to answer.
Request
curl -X POST https://mcp.birdieapi.com/v1/get_course_history \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"player_id": "3470",
"tournament_id": "401580344"
}'Response
json
{
"player": {
"player_id": "3470",
"name": "Rory McIlroy"
},
"tournament": "Masters Tournament",
"summary": {
"starts": 18,
"wins": 2,
"top_tens": 9,
"made_cut": 15,
"missed_cut": 3,
"average_finish": 12.4,
"vs_field": 1.42,
"earnings": 13023021
},
"editions": [
{
"tournament_id": "401811941",
"name": "Masters Tournament",
"season": 2026,
"start_date": "2026-04-09",
"courses": "Augusta National Golf Club",
"position": 1,
"position_display": "1",
"status": "finished",
"to_par": -12,
"total_strokes": 276,
"earnings": 4500000,
"vs_field": 3.55,
"rounds": [
67,
65,
73
]
},
{
"tournament_id": "401703504",
"name": "Masters Tournament",
"season": 2025,
"start_date": "2025-04-10",
"courses": "Augusta National Golf Club",
"position": 1,
"position_display": "1",
"status": "finished",
"to_par": -11,
"total_strokes": 277,
"earnings": 4200000,
"vs_field": 3.43,
"rounds": [
72,
66,
66
]
},
{
"tournament_id": "401580344",
"name": "Masters Tournament",
"season": 2024,
"start_date": "2024-04-11",
"courses": "Augusta National Golf Club",
"position": 22,
"position_display": "T22",
"status": "finished",
"to_par": 4,
"total_strokes": 292,
"earnings": 175500,
"vs_field": 0.82,
"rounds": [
71,
77,
71
]
}
],
"count": 18
}Response fields
playerobjectplayer.player_idstringplayer.namestringtournamentstringsummaryobjectsummary.startsnumbersummary.winsnumbersummary.top_tensnumbersummary.made_cutnumbersummary.missed_cutnumbersummary.average_finishnumbersummary.vs_fieldnumbersummary.earningsnumbereditions[]array- List of objects
editions[].tournament_idstringeditions[].namestringeditions[].seasonnumbereditions[].start_datestringeditions[].coursesstringeditions[].positionnumbereditions[].position_displaystringeditions[].statusstringeditions[].to_parnumbereditions[].total_strokesnumbereditions[].earningsnumbereditions[].vs_fieldnumbereditions[].rounds[]array- List of number
countnumber
Related endpoints
get_schedule1 cr
Returns the player_id this one takes.
Tournaments this week and coming up, with the host course
search_players1 cr
Returns the player_id this one takes.
Find players by name
get_scorecard2 cr
Takes the player_id this one returns.
A player's hole-by-hole scorecard for a tournament, with par and yardage
get_player5 cr
Takes the player_id this one returns.
Profile, rating, season lines and recent finishes
Try it
500 credits free on signup: 100 calls to get_course_history, and no card.