How to Use DiscGolfAPI Course Data in Your App, Site or Club

DiscGolfAPI provides structured disc golf course data for websites, apps, maps, directories, and tools.
No API key is needed for public endpoints.

Quick start: Copy an example below and run it in your browser console or project.

GET Get courses in a country

Fetch a paginated list of courses in Great Britain.

Sample request

fetch("https://io.discgolfapi.com/v1/courses?country=GB&limit=5&offset=0")
  .then(response => response.json())
  .then(data => console.log(data));

Sample response excerpt

{
  "count": 5,
  "total": 30,
  "offset": 0,
  "courses": [
    {
      "id": "crs_ackers_adventure",
      "name": "Ackers Adventure",
      "country_code": "GB",
      "region_code": "ENG"
    }
  ]
}

Use limit and offset for maps, directories, and country pages that load in pages. Hole counts are currently sparse, so handle holes: null as “unknown”.

GET Get a single course

Fetch one course by its public ID.

Sample request

fetch("https://io.discgolfapi.com/v1/courses/crs_a6_discgolfpark")
  .then(response => response.json())
  .then(data => console.log(data));

Sample response excerpt

{
  "count": 1,
  "courses": [
    {
      "id": "crs_a6_discgolfpark",
      "name": "A6 Discgolfpark",
      "country_code": "SE",
      "holes": 18,
      "confidence_score": 0.75,
      "verification_strength": "strong"
    }
  ]
}

Use this for course pages and detailed views.

GET List countries

Fetch countries currently represented in the API.

Sample request

fetch("https://io.discgolfapi.com/v1/countries")
  .then(response => response.json())
  .then(data => console.log(data));

Sample response excerpt

{
  "countries": [
    {
      "country_code": "GB",
      "country_name": "United Kingdom",
      "course_count": 30,
      "updated_at": "2026-04-30T20:30:58.267177Z"
    }
  ]
}

Use this to build filters and navigation.

GET List regions

Fetch regions currently represented in the API.

Sample request

fetch("https://io.discgolfapi.com/v1/regions")
  .then(response => response.json())
  .then(data => console.log(data));

Sample response excerpt

{
  "regions": [
    {
      "country_code": "GB",
      "region_code": "ENG",
      "region_name": "England",
      "course_count": 28,
      "updated_at": "2026-04-30T20:30:58.267177Z"
    }
  ]
}

Use this for regional pages, filters, and maps.

POST Report an issue

Submit a correction or flag a course data issue.

Sample request

fetch("https://io.discgolfapi.com/v1/report", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    course_id: "crs_a6_discgolfpark",
    type: "wrong_data",
    message: "The course has recently changed from 9 holes to 18 holes."
  })
})
  .then(response => response.json())
  .then(data => console.log(data));

Sample response excerpt

{
  "ok": true,
  "id": "d1762815-c4f1-48e5-a89b-69c3a6932fbe"
}

Use this when you spot missing, outdated, or incorrect course data.

Want a ready-made course finder?

Use the configurator to set country, region, layout, and display options before you embed it.

Build course finder →

Attribution

If you use DiscGolfAPI data, include this attribution near the data:

“Course data supplied by DiscGolfAPI.”

Where possible, link it to discgolfapi.com

Attribution should be visible to users, placed near the data, and not hidden in metadata only.

Data usage

  • No API key required
  • Public endpoints are free to use with attribution
  • Data is provided as-is
  • Accuracy, completeness, and availability are not guaranteed
  • Hole counts, access, and condition fields should be treated as optional

Stay in the loop

Want updates and new endpoints?

Get notified when data changes, new fields are added, or endpoints are released. No spam.

Got it — we’ll be in touch.

Using DiscGolfAPI in production?

Tell us where you are using it. This helps us improve coverage, stability, and documentation.

✓ Thanks. We have received the URL and will take a look.

Share a URL, app name, or just say hi.

Part of the disc golf data ecosystem

Part of the disc golf data ecosystem