GET
/courses
Retrieve a paginated list of golf courses with optional filtering.
Available on all plans.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| limit | integer | 10 | Number of results to return (max varies by plan: Free=10, Developer=20, Pro=25, Enterprise=50) |
| offset | integer | 0 | Number of results to skip for pagination |
| state | string | — | Filter by state name (e.g., "California") |
| city | string | — | Filter by city (partial match) |
| search | string | — | Search course names |
| min_rating | number | — | Minimum rating (0-5) |
| order_by | string | name | Sort field: name, rating, city, state |
| order | string | asc | Sort direction: asc or desc |
Example Request
bash
curl "https://golfly.dev/api/v1/courses?state=California&limit=10" \
-H "x-api-key: gf_your_api_key"Response
json
{
"data": [
{
"course_id": 12345,
"name": "Pebble Beach Golf Links",
"address": "1700 17 Mile Dr",
"city": "Pebble Beach",
"state": "California",
"latitude": 36.5725,
"longitude": -121.9486,
"rating": "4.9",
"num_reviews": 2847,
"holes": 18,
"par": "72",
"length_yards": 6828,
"slope": "145",
"year_built": 1919,
"architects": "Jack Neville, Douglas Grant"
}
],
"meta": {
"total": 1014,
"limit": 10,
"offset": 0,
"has_more": true
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| course_id | integer | Unique course identifier |
| name | string | Course name |
| address | string | Street address |
| city | string | City location |
| state | string | US State |
| latitude | number | GPS latitude |
| longitude | number | GPS longitude |
| rating | string | Average rating (0-5) |
| num_reviews | integer | Number of reviews |
| holes | integer | Number of holes |
| par | string | Course par |
| length_yards | integer | Total course length in yards |
| slope | string | Course slope rating |
| year_built | integer | Year course was established |
| architects | string | Course architect(s) |