DiscGolfAPI

The trusted source of structured disc golf course data for developers. Stop scraping. Use a stable, verified API.

Build a course finder in minutes Filter by country, show name, location, and open status — no scraping required.
Stop maintaining your own scraped dataset Multi-source verification with confidence scores and timestamps baked in.
Know when course data is actually accurate Every record includes last_verified_at and confidence_score — you decide when it is fresh enough.

Base URL

https://io.discgolfapi.com

All endpoints are read-only. No authentication required.

Endpoints

Quick start

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
    }
  ]
}

Key fields

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

Remote Model Context Protocol (MCP)

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.

https://io.discgolfapi.com/mcp
Public Tools Available
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.
MCP Client Configuration (e.g. claude_desktop_config.json)
{
  "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.

Data Limitations & Provenance

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.