Europeantour APIeuropeantour.com ↗
Track detailed hole-by-hole scorecards and round-by-round statistics for DP World Tour players to analyze performance across European Tour tournaments. Monitor individual player scores, course difficulty, and scoring patterns to gain insights into competitive golf results.
curl -X GET 'https://api.parse.bot/scraper/152f9562-8e88-44cc-a2f7-0ec3529525c9/get_scorecard?event_id=2026126&player_id=34024' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace europeantour-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: DP World Tour Shot By Shot SDK — bounded, re-runnable; every call capped."""
from parse_apis.europeantour_com_api import DPWorldTour, ScorecardNotFound
client = DPWorldTour()
# Fetch a player's full scorecard for a tournament
try:
scorecard = client.scorecards.get(event_id="2026126", player_id="34024")
print(scorecard.event_id, scorecard.player_id, scorecard.last_updated)
except ScorecardNotFound as e:
print(f"not found: event={e.event_id}, player={e.player_id}")
# Walk hole-by-hole data for each round
if scorecard:
for rnd in scorecard.rounds[:2]:
print(f"Round {rnd.round_number}: {rnd.total_strokes} strokes, {rnd.score_to_par} to par")
for hole in rnd.holes[:3]:
print(f" Hole {hole.hole_number}: {hole.strokes} strokes ({hole.score_class})")
# Get detailed round stats
if scorecard:
stats = scorecard.stats(round_number="1")
print(stats.driving_distance_yards, stats.putts_per_round, stats.greens_in_regulation_pct)
print("exercised: scorecards.get / scorecard.stats")
Retrieve a player's hole-by-hole scorecard for all rounds in a tournament. Each hole shows the number of strokes and score classification (eagle, birdie, par, bogey). Returns all completed rounds with front-nine/back-nine/total strokes and score-to-par per round.
| Param | Type | Description |
|---|---|---|
| event_idrequired | string | Numeric tournament event identifier (e.g. 2026126 for Genesis Scottish Open 2026). |
| player_idrequired | string | Numeric player identifier on the DP World Tour (e.g. 34024 for Rory McIlroy). |
{
"type": "object",
"fields": {
"rounds": "array of round objects containing hole-by-hole scoring",
"event_id": "integer — tournament event identifier",
"player_id": "integer — player identifier",
"last_updated": "string — ISO 8601 timestamp of last data update"
},
"sample": {
"data": {
"rounds": [
{
"holes": [
{
"penalty": 0,
"strokes": 3,
"hole_number": 1,
"score_class": "ea"
},
{
"penalty": 0,
"strokes": 4,
"hole_number": 2,
"score_class": "pa"
}
],
"strokes_in": 34,
"strokes_out": 31,
"round_number": 1,
"score_to_par": -5,
"course_number": 1,
"total_strokes": 65
}
],
"event_id": 2026126,
"player_id": 34024,
"last_updated": "2026-07-12T16:43:25+00:00"
},
"status": "success"
}
}About the Europeantour API
The Europeantour API on Parse exposes 2 endpoints for the publicly available data on europeantour.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.