API & widgets
Build on the database of championship golf venues. Free with a Championship.courses account.
Get an API key
Every API request and widget needs a key tied to a verified account. Keys are free, limited to 60 requests per minute each, and can be revoked at any time.
Authentication
Send your key as a bearer token (or in an X-API-Key header). The API is read-only and returns JSON.
curl -H "Authorization: Bearer cc_your_key_here" \
https://championship.courses/api/v1/courses?q=pebble
Calling from a browser? Lock the key to your domains on the keys page. Requests carrying a different Origin are refused. Never put an unrestricted key in public page source; use a domain-locked one.
Endpoints
Base URL: https://championship.courses/api/v1
| Endpoint | Returns | Query parameters |
|---|---|---|
| GET /courses | Paginated courses. | q, country, state, league (slug), open_to_public (0|1), page, per_page (1-50) |
| GET /courses/{slug} | One course with hosting history, winners, winning scores and its tough-meter rating. | — |
| GET /championships | Paginated championships. | q, league (slug), major (0|1), page, per_page (1-50) |
| GET /championships/{slug} | One championship with every edition: year, course, winner, winning score. | — |
| GET /leagues | All tours with championship counts. | — |
| GET /stats/hosting | Courses ranked by editions hosted. | league (slug), limit (1-100) |
| GET /social/leaderboard | Golfers, brands, tournaments, tours and courses ranked by combined social followers. | type (person|sponsor|championship|league|course), platform (youtube|instagram|tiktok|x|...), limit (1-100) |
| GET /on-this-day | Golf history for a calendar day (today by default). | month (1-12) and day (1-31), together |
Inputs are validated: unknown values, out-of-range numbers and over-long strings return 422 with a message per field. Search terms match literally (wildcards are escaped). Lists are paginated with data, links and meta.
Example: a course
{
"data": {
"slug": "augusta-national-golf-club",
"title": "Augusta National Golf Club",
"location": { "city": "Augusta", "state": "Georgia", "country": "United States" },
"coordinates": { "latitude": 33.503, "longitude": -82.022 },
"yardage": 7545,
"opened_year": 1933,
"architect": "Alister MacKenzie, Bobby Jones",
"difficulty": { "score": 68, "rating": 6.8, "label": "Demanding", "basis": "scoring and length" },
"history": [
{ "year": 2025, "championship": { "slug": "masters-tournament", "title": "Masters Tournament" },
"winner": "Rory McIlroy", "winning_to_par": -11 }
]
}
}
Illustrative values; fields can be null when we have no data.
Errors & limits
401missing, invalid or revoked key.403key is domain-locked and the request came from another site.404unknown slug.422invalid query parameters.429more than 60 requests a minute on one key; see theRetry-Afterheader.
Embeddable widgets
Drop a widget into any page with an iframe. Widgets use the same keys (passed as ?key=), so create a domain-locked key for each site. Keep the "Powered by" link in place.
On this day in golf
<iframe src="https://championship.courses/widgets/on-this-day?key=cc_your_key_here"
width="100%" height="420" style="border:0" loading="lazy"
title="On this day in golf"></iframe>
Optional month and day pin it to a calendar day.
Course card
<iframe src="https://championship.courses/widgets/course/augusta-national-golf-club?key=cc_your_key_here"
width="100%" height="360" style="border:0" loading="lazy"
title="Augusta National Golf Club"></iframe>
About the data
- Tough meter scores a course 0-10 from how the field scored there (average winning score to par, needing two or more recorded scores) blended 65/35 with yardage. With only one signal it uses that alone; with neither it is
null. - Wikipedia and Wikimedia content (history entries, course summaries, photos) is reused under its own licence, such as CC BY-SA 4.0. If you republish it, credit the source and keep the licence. Wikidata facts are CC0.
- Do not resell the data as a competing database. Please cache responses sensibly.
Public pages
- Course map: every placed venue; filter by tour or public access; circle size is editions hosted.
- Hosting frequency: the busiest host courses plus a course-by-tour matrix.
- On this day in golf: pick any calendar day.
- Each course page shows the tough meter and a winning-score trend line once scores are recorded.