The trusted source of structured disc golf course data for developers. Stop scraping. Use a stable, verified API.
last_verified_at and confidence_score — you decide when it is fresh enough.
All endpoints are read-only. No authentication required.
Request
curl -s "https://io.discgolfapi.com/v1/courses?country=GB" | jq .
Response
{
"schema_version": "1.0",
"generated_at": "2026-04-06T22:13:06Z",
"count": 1,
"meta": { "publish_version": "20260406T221306Z" },
"attribution": "DiscGolfAPI contributors and sources",
"attribution_required": true,
"license": "CC BY 4.0",
"license_url": "https://creativecommons.org/licenses/by/4.0/",
"terms_url": "https://discgolfapi.com/terms",
"no_warranty": "Data is provided as-is without warranty of accuracy.",
"courses": [
{
"id": "crs_example_park",
"slug": "example-disc-golf-park",
"name": "Example Disc Golf Park",
"lat": 51.5074,
"lon": -0.1278,
"country_code": "GB",
"region_code": "ENG",
"locality": "London",
"website": "https://example.com/disc-golf",
"operator_name": null,
"holes": 18,
"existence_status": "existing",
"operational_status": "open",
"access_model": "public_free",
"condition_status": "good",
"listing_status": "listed",
"confidence_score": 0.82,
"verification_strength": "strong",
"last_verified_at": "2026-04-06T12:00:00Z",
"updated_at": "2026-04-06T22:13:06Z",
"primary_layout": {
"id": "abc123",
"slug": "main-layout",
"name": "Main Layout",
"holes": 18,
"par_total": 54,
"length_meters": 1640,
"confidence_score": 0.82,
"verification_strength": "strong",
"last_verified_at": "2026-04-06T12:00:00Z"
},
"attributes": null
}
]
}
| Field | Type | Description |
|---|---|---|
| id | string | Stable public identifier — never changes once assigned |
| confidence_score | number 0–1 | Multi-source confidence that the record is accurate. 0.6+ is publishable, 0.8+ is strong. |
| last_verified_at | ISO timestamp | When the course was last checked against a primary source |
| operational_status | enum | open, seasonal, limited, closed_temporarily, closed_permanently, unknown |
| listing_status | enum | listed = fully verified. listed_with_warning = some fields uncertain. |
| access_model | enum | public_free, public_paid, members_only, private_permission_required, unknown |
| existence_status | enum | existing = course is known to exist. unverified = not yet confirmed. |
| condition_status | enum | Physical condition of the course: good, fair, poor, unknown |
| verification_strength | enum | How well-evidenced the record is: strong, moderate, weak |
| slug | string | URL-safe identifier derived from the course name. Stable but may update if the name changes substantially. |
| operator_name | string | null | Named operator or managing organisation, if known |
| primary_layout | object | null | The main layout for this course (holes, par, length, verification metadata). Null if no layout data has been collected. |
| attributes | object | null | Supplementary course attributes (facilities, terrain, access notes). Null until the attributes pipeline is built. |
| updated_at | ISO timestamp | When any field on this record was last modified |
Connect AI assistants and MCP-compatible developer tools directly to structured disc golf course data through the public DiscGolfAPI remote disc golf MCP server (Specification 2026-07-28). Access this disc golf course API using the Model Context Protocol to query verified disc golf course data with real-time tools for search, proximity lookups, and details.
| Tool | Description |
|---|---|
search_courses |
Filter courses by name, city, country, region, 18-hole status, multiple tees, multiple pins, free/paid, or dog-friendly. |
find_courses_near |
Find courses within a radius (0.1–100 km) of latitude/longitude coordinates, sorted by distance. |
get_course |
Retrieve full details, coordinates, and canonical links for a course by unique ID or historical alias. |
get_recent_updates |
Track newly listed and modified courses with change types (added | updated) and timestamps. |
{
"mcpServers": {
"discgolfapi": {
"url": "https://io.discgolfapi.com/mcp"
}
}
}
This direct configuration can be used with compatible MCP clients such as Claude Desktop (claude_desktop_config.json), Cursor, OpenAI Codex, and other clients supporting remote Streamable HTTP MCP servers. Configuration formats and setup steps may vary depending on the client.
DiscGolfAPI supplies verified course characteristics and geographic data (hole counts, tee/basket options, fee rules, coordinates). DiscGolfAPI does not infer subjective suitability or recommend courses; client AI models can use those facts when answering questions or performing their own reasoning.