For Developers

Golf Course Maps API

Display detailed golf course maps in your app or website with our geodata API.

Get a key

Optimized geodata on the top golf courses in the United States

Polygons for greens, fairways, and hazards. Placements for tee boxes on holes. Scorecard data with course slope and rating. Detailed golf course-specific data attributes.

1. Get all holes for a specific course 
  awscurl --access_key **** --secret_key ****  -X GET 
  https://api.golfbert.com/v1/courses/4803/holes -H "x-api-key: ****" 
  'Response code: 200\n'
  { 
    "resources": [ 
      { 
        "id": 25506, 
        "number": 18, 
        "courseid": 4803, 
        "rotation": 2.04479566062, 
        "range": { 
          "x": { 
            "min": -122.2707111, 
            "max": -122.269083337 
          },
          "y": { 
            "min": 47.3838734109, 
            "max": 47.3896241104
          } 
        },
        "dimensions": { 
          "width": 960, 
          "height": 960 
        },
        "vectors": [ 
          { 
            "type": "Flag", 
            "lat": 47.3893912619, 
            "long": -122.2692596912384 
          },
          { 
            "type": "Blue", 
            "lat": 47.3838734109, 
            "long": -122.269259691
          },
          { 
             "type": "White", 
            "lat": 47.3843622628, 
            "long": -122.269388009 
          },
          { 
            "type": "Red", 
            "lat": 47.3850228683, 
            "long": -122.269657507 
          } 
        ],
        "flagcoords": { 
          "lat": 47.38135479698122, 
          "long": -122.26435018374639 
        }  
      } 
    ] 
  }
  
  2. Get hole polygon information for specific hole

  awscurl --access_key **** --secret_key **** -X GET 
  https://api.golfbert.com/v1/holes/25506/polygons -H "x-api-key: ***" 
  'Response code: 200\n'
  { 
    "resources": [ 
      { 
        "holeid": 25506, 
        "surfacetype": "Green", 
        "polygon": [ 
          { 
            "lat": 47.3814806732001, 
            "long": -122.26437270641327 
          },
          { 
            "lat": 47.38148793784317, 
            "long": -122.2643968462944 
          },
          { 
            "lat": 47.38148975400378, 
            "long": -122.26441696286201 
          },
          { 
            "lat": 47.38148793784317, 
            "long": -122.26443707942963
          },
          { 
            "lat": 47.381483397441365, 
            "long": -122.26445451378822 
          },
          { 
            "lat": 47.38147340855601, 
            "long": -122.26447060704231 
          },
          { 
            "lat": 47.38145887926487, 
            "long": -122.26448804140091 
          },
          { 
            "lat": 47.381439809564135, 
            "long": -122.26449877023697 
          },
          { 
            "lat": 47.38142073985653, 
            "long": -122.26450279355049 
          },
          { 
            "lat": 47.38139531356897, 
            "long": -122.26449877023697 
          },
          { 
            "lat": 47.38136716302202, 
            "long": -122.26448267698288 
          },
          { 
            "lat": 47.38133356396243, 
            "long": -122.26447463035583
          },
          { 
            "lat": 47.381290884045065, 
            "long": -122.26447463035583
          },
          { 
            "lat": 47.38126182535814, 
            "long": -122.2644692659378 
          },
          { 
            "lat": 47.381238215163215, 
            "long": -122.26446121931076 
          },
          { 
            "lat": 47.38122550197696, 
            "long": -122.2644491493702 
          },
          { 
            "lat": 47.38121823729771, 
            "long": -122.2644317150116 
          },
          { 
            "lat": 47.38121188070257, 
            "long": -122.26439818739891 
          },
          { 
            "lat": 47.38120915644726, 
            "long": -122.26436868309975 
          },
          { 
            "lat": 47.38120915644726, 
            "long": -122.26433515548706 
          },
          { 
            "lat": 47.38121823729771, 
            "long": -122.26429894566536 
          },
          { 
            "lat": 47.38124003133243, 
            "long": -122.26424127817154 
          },
          { 
            "lat": 47.38126636577903, 
            "long": -122.26418629288673 
          },
          { 
            "lat": 47.38128725171007, 
            "long": -122.26415008306503 
          },
          { 
            "lat": 47.381299964881435, 
            "long": -122.26413533091545 
          },
          { 
            "lat": 47.38131540229967, 
            "long": -122.2641272842884 
          },
          { 
            "lat": 47.381340828625774, 
            "long": -122.26412996649742 
          },
          { 
            "lat": 47.38136171452732, 
            "long": -122.26414069533348 
          },
          { 
            "lat": 47.3813798761741, 
            "long": -122.2641621530056 
          },
          { 
            "lat": 47.381392589323156, 
            "long": -122.26419970393181 
          },
          { 
            "lat": 47.38140621055085, 
            "long": -122.26423993706703 
          },
          { 
            "lat": 47.38142618834512, 
            "long": -122.26429358124733 
          },
          { 
            "lat": 47.38146432774951, 
            "long": -122.26434588432312 
          },
          { 
            "lat": 47.3814806732001, 
            "long": -122.26437270641327 
          } 
        ] 
      } 
    ] 
  }

  

Code Samples

See below for some examples on how to call data from the API.

API Tutorial — check out our detailed tutorial building a React app using the Golfbert API with Google Maps

In addition to these examples, check out any golf course or hole page to see what can be achieved with our golf course API.

New Courses Added! Follow along with the intensive process of creating geodata mapped golf course maps on the timeline.

Further Development

Once you are calling the API correctly and have some golf course maps in your app or website, the fun really starts. Here are some examples of what can be achieved by developing with our maps geodata.

Just some things to think about — feel free to bounce an idea off us, and start experimenting!

  • Check distances to / from any point on the hole
  • Distance to front, center, back of green
  • Distance from any tee box
  • Distance from the golfer's position via Location Services
  • Polygon checks: determine if the golfer's current position is inside a specific polygon: "Golfer's ball landed in the left rough"
  • Calculate statistics on course usage: "67.5% of drives ended up on the left side of the fairway"
  • Hole rotation: display hole maps green up, tee box down
  • Course layout: display entire course at once, or layout in a grid hole-by-hole
Get an API Key

Need help? Contact us and we'll assist you with anything you need.