Find golf clubs
Use the clubs endpoint to discover golf clubs using text, location and access filters:
GET /v1/clubs
All protected requests require an API key:
Authorization: Bearer YOUR_API_KEY
List golf clubs
Request the first page of available clubs:
curl 'https://api.eae.golf/v1/clubs?limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Accept: application/json'
Search by name
Use name to search specifically within club names:
curl 'https://api.eae.golf/v1/clubs?name=Green%20Eagle&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
The name search is case-insensitive and can match partial names.
Use search for a broader text search across club name, town and postal code:
curl 'https://api.eae.golf/v1/clubs?search=Hamburg&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
Search near a place
Use near for the location behavior most people expect. The API resolves the place to coordinates and searches within 50 km by default:
curl 'https://api.eae.golf/v1/clubs?near=Hamburg&country=DE&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
Add radius_km to override the default radius. Results are ordered by distance.
Filter by exact town
Use town to filter by the postal town stored for each club:
curl 'https://api.eae.golf/v1/clubs?town=Hamburg&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
This is not a geographic search. Clubs located near Hamburg but registered in surrounding towns will not match the filter.
Filter by postal code
Use postal_code to find clubs by postal code:
curl 'https://api.eae.golf/v1/clubs?postal_code=24629&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
Postal codes are handled as strings because they may contain leading zeroes, spaces or letters.
Search by coordinates
Provide latitude, longitude and a radius to discover clubs near a geographic location:
curl 'https://api.eae.golf/v1/clubs?lat=53.5511&lon=9.9937&radius_km=50&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
The parameters are:
| Parameter | Description |
|---|---|
lat | Latitude of the search centre |
lon | Longitude of the search centre |
radius_km | Search radius in kilometres |
limit | Maximum number of results returned |
radius_km requires near or both lat and lon.
Location-based results include the calculated distance:
{
"location": {
"distanceMeters": 32147
}
}
Filter by access characteristics
Access filters can be combined with location or text searches:
curl 'https://api.eae.golf/v1/clubs?near=Hamburg&country=DE&radius_km=100&public=true&independent_players=true&dogs=true&limit=20' \
--header 'Authorization: Bearer YOUR_API_KEY'
Common access filters include:
| Parameter | Description |
|---|---|
public | Clubs with confirmed public access |
independent_players | Clubs that accept independent players |
dogs | Clubs where dogs are allowed |
dogs_leash_required | Clubs where dogs must remain on a leash |
membership_available | Clubs offering membership |
Consult the API reference for the current list of supported filters.
Combine filters
Filters are combined using AND.
For example:
?near=Hamburg&country=DE&public=true
returns clubs near Hamburg whose public access is confirmed.
Do not combine town=Hamburg with near=Hamburg when the intention is to find every nearby club. The exact town filter would exclude clubs in surrounding municipalities.
Pagination
List responses use cursor-based pagination:
{
"pagination": {
"hasMore": true,
"nextCursor": "NEXT_CURSOR_VALUE"
}
}
When hasMore is true, pass nextCursor as the cursor parameter:
curl 'https://api.eae.golf/v1/clubs?limit=20&cursor=NEXT_CURSOR_VALUE' \
--header 'Authorization: Bearer YOUR_API_KEY'
Continue until hasMore is false or nextCursor is null.
Treat cursors as opaque values. Applications should not parse, modify or construct them.