BYTETOOLS

DiscGolfAPI

Free disc golf course API with no key: mapped courses by country with coordinates, region codes, operator details and explicit licence metadata. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 21 Aug 2026

What is the DiscGolfAPI?

DiscGolfAPI serves structured disc golf course data with no API key. Filtering by country returns each course with its coordinates, region and locality, website, operator and hole count, wrapped in an envelope declaring the licence and attribution requirement.

Disc golf course information has historically lived in one or two proprietary apps with no export path. This API publishes it as structured data instead — every course carrying latitude and longitude, an ISO country and region code, and a stable slug — which is enough to build a map, a route planner or a course finder without scraping anything.

What stands out is the honesty of the envelope. Before the course list you get `license`, `attribution_required`, `terms_url` and an explicit `no_warranty` statement, plus `generated_at` and a `publish_version` telling you exactly which build of the dataset you received. Free data sources rarely bother; here the licensing terms are unambiguous and machine-readable. Do note the attribution requirement is set to true — using this data in public means crediting DiscGolfAPI. Optional fields such as `holes`, `locality` and `operator_name` are frequently null.

Quick facts

Base URL
https://io.discgolfapi.com/v1
Authentication
No API key and no account. Attribution to DiscGolfAPI is required by the licence when you publish the data.
Rate limit
No published limit. The dataset is republished periodically rather than changing live.
Pricing
Free to use with attribution.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the DiscGolfAPI

Every request below was executed against the live API on 21 Aug 2026, and the response shown is the real body it returned — not an illustration.

1. List disc golf courses in a country

GET https://io.discgolfapi.com/v1/courses?country=GB

curl
curl 'https://io.discgolfapi.com/v1/courses?country=GB'
JavaScript (fetch)
const res = await fetch("https://io.discgolfapi.com/v1/courses?country=GB");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://io.discgolfapi.com/v1/courses?country=GB", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "schema_version": "1.0.0",
  "generated_at": "2026-08-10T17:05:44.718245Z",
  "attribution": "Course data supplied by DiscGolfAPI.",
  "attribution_required": true,
  "license": "Free to use with attribution.",
  "license_url": "https://discgolfapi.com/licence/",
  "terms_url": "https://discgolfapi.com/terms/",
  "no_warranty": "Data is provided as-is. Accuracy, completeness and availability are not guaranteed.",
  "meta": {
    "publish_version": "20260810T170544Z",
    "release_scope": "all"
  },
  "count": 37,
  "courses": [
    {
      "id": "crs_ackers_adventure",
      "slug": "ackers-adventure",
      "name": "Ackers Adventure",
      "lat": 52.4579339107501,
      "lon": -1.85255245845531,
      "country_code": "GB",
      "region_code": "ENG",
      "locality": null,
      "website": "https://ackers-adventure.co.uk/",
      "operator_name": null,
      "holes": null,
      "existence_status": "existing",
      "operational_status": "open",
      "access_model": "unknown",
      "condition_status": "unknown",
      "listing_status": "listed",
      "confidence_score": 0.65,
      "verification_strength": "medium",
      "last_verified_at": "2026-04-27T22:40:53.197339Z",
      "updated_at": "2026-04-29T20:35:03.752326Z",
      "primary_layout": {
        "id": "c30f319b-b111-4b94-afd1-77585659f6f2",
        "slug": "main-layout",
        "name": "Main Layout",
        "holes": null,
        "par_total": null,
        "length_meters": null,
        "confidence_score": 0.65,
        "verification_strength": "medium",
        "last_verified_at": "2026-04-27T22:40:53

Parameters

ParameterTypeRequiredDescription
countryqueryOptionalISO 3166-1 alpha-2 country code. GB
regionqueryOptionalRegion or subdivision code within the country. ENG
limit / offsetqueryOptionalPaging controls for large countries. 50

Response fields

coursesarray
The matching courses.
courses[].id / slugstring
Stable identifier and URL-friendly slug — `crs_ackers_adventure` and `ackers-adventure` respectively.
courses[].namestring
Course name.
courses[].lat / lonfloat
Coordinates in WGS84, ready to drop onto a map.
courses[].country_code / region_codestring
ISO country code and subdivision code, for example `GB` and `ENG`.
courses[].localitystring
Town or city. Frequently null.
courses[].website / operator_namestring
Course website and operating organisation, where known. Both are often null.
courses[].holesinteger
Hole count, when recorded. Null is common and does not mean the course has no holes.
countinteger
Number of courses matching the filter.
license / license_url / attribution / attribution_required / terms_urlstring / boolean
Machine-readable licensing block. `attribution_required` is true — credit DiscGolfAPI when you publish.
generated_at / meta.publish_version / schema_versionstring
When this build of the dataset was produced, its version stamp and the schema version, so you can detect changes.

What you can build with the DiscGolfAPI

  • Build a course finder map for a region
  • Plan a disc golf road trip from real coordinates
  • Enrich a scoring app with course metadata
  • Analyse course density by country or region

Common errors and how to fix them

Null holes, locality or website

These fields are optional and frequently unrecorded.

Fix: Render conditionally. Null means unknown, not zero or absent.

Empty course list

The country has no mapped courses, or the code was wrong.

Fix: Use ISO 3166-1 alpha-2 codes — `GB`, not `UK`. Check `count` before iterating.

Attribution missing from your app

The licence sets `attribution_required` to true.

Fix: Credit DiscGolfAPI visibly wherever you display the data. The terms URL is in every response.

Stale data

The dataset is republished periodically, not updated live.

Fix: Read `generated_at` and `meta.publish_version` to see exactly which build you have.

DiscGolfAPI — frequently asked questions

Is DiscGolfAPI free?

Yes, free to use with no key. The licence does require visible attribution to DiscGolfAPI when you publish the data, and every response restates that in machine-readable form.

How do I filter by country?

Pass an ISO 3166-1 alpha-2 code as the `country` parameter — `GB` for the United Kingdom, not `UK`. A `region` parameter narrows further.

Why are so many fields null?

Hole counts, localities, websites and operator names are optional and depend on what contributors have recorded. Treat null as unknown and render those fields conditionally.

How current is the data?

Every response carries `generated_at` and a `publish_version`, so you can see the exact build you received. The dataset is republished periodically rather than edited live.

Tools that pair with this API

Alternatives to DiscGolfAPI

If DiscGolfAPI does not fit, these sports & fitness apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.

APIWhat it doesAuthCORSLast verified
TheSportsDBFree sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested.No keyYes19 Aug 2026
NHL Web APIFree NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example.No keyNo19 Aug 2026
OpenLigaDBFree OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example.No keyNo19 Aug 2026
wger Workout ManagerFree wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested.No keyYes19 Aug 2026
F1API.devFree Formula 1 API with no key: current season calendar, race results, driver and constructor standings, circuits and historical champions. Tested example included.No keyYes21 Aug 2026
Fantasy Premier LeagueFree Fantasy Premier League API with no key: the whole game state in one call — players, teams, gameweeks, prices, chips and scoring rules. Tested example included.No keyNo21 Aug 2026
All Sports & Fitness APIs

DiscGolfAPI is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.