Discover/Europeantour API
live

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.

This API takes change requests — .
Endpoint health
monitored
get_round_stats
get_scorecard
Checks pendingself-healing
Endpoints
2
Updated
2h ago
This call costs1 credit / call— charged only on success
Try it
Numeric tournament event identifier (e.g. 2026126 for Genesis Scottish Open 2026).
Numeric player identifier on the DP World Tour (e.g. 34024 for Rory McIlroy).
api.parse.bot/scraper/152f9562-8e88-44cc-a2f7-0ec3529525c9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
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'
Python SDK · recommended

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")
All endpoints · 2 totalmissing one? ·

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.

Input
ParamTypeDescription
event_idrequiredstringNumeric tournament event identifier (e.g. 2026126 for Genesis Scottish Open 2026).
player_idrequiredstringNumeric player identifier on the DP World Tour (e.g. 34024 for Rory McIlroy).
Response
{
  "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.