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.
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 'https://io.discgolfapi.com/v1/courses?country=GB'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);import requests
res = requests.get("https://io.discgolfapi.com/v1/courses?country=GB", timeout=20)
res.raise_for_status()
print(res.json()){
"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:53Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
country | query | Optional | ISO 3166-1 alpha-2 country code. GB |
region | query | Optional | Region or subdivision code within the country. ENG |
limit / offset | query | Optional | Paging 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
Distance Calculator
Calculate the straight-line distance and bearing between two points on a map by latitude/longitude using the Haversine formula — km, miles and nautical miles.
Coordinate Converter
Convert GPS coordinates between decimal degrees, degrees-minutes-seconds and decimal minutes instantly. Paste any format like 40°26'46"N and copy the result.
GeoJSON Validator
Validate GeoJSON against RFC 7946 and get the exact JSON path of every problem: unclosed rings, swapped coordinates, missing properties and more.
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.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| TheSportsDB | Free sports database API with a public test key: teams, players, leagues, fixtures and results across football, basketball, cricket and more, with images. Tested. | No key | Yes | 19 Aug 2026 |
| NHL Web API | Free NHL API with no key: live scores, standings, team rosters, player statistics and schedules from the official NHL data service. Tested curl example. | No key | No | 19 Aug 2026 |
| OpenLigaDB | Free OpenLigaDB API with no key: Bundesliga fixtures, results, tables and goalscorers, plus other leagues. Community-maintained open data. Tested example. | No key | No | 19 Aug 2026 |
| wger Workout Manager | Free wger fitness API with no key for public data: exercise database with muscles worked, equipment, categories, images and nutrition information. Tested. | No key | Yes | 19 Aug 2026 |
| F1API.dev | Free Formula 1 API with no key: current season calendar, race results, driver and constructor standings, circuits and historical champions. Tested example included. | No key | Yes | 21 Aug 2026 |
| Fantasy Premier League | Free 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 key | No | 21 Aug 2026 |
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.