1. One of the Atlanta.pm members was raving at the last meeting about how useful Mojo is for web munging (scraping, parsing, and re-publishing as an internal "API"). I have no personal experience with Mojo, but I trust his ravings.
2. You can get elevation from lat+long from National Weather Service (NOAA)
or The National Map Elevation Point Query Service (USGS).
USGS has high granularity and accuracy:
$ curl -sS 'https://nationalmap.gov/epqs/pqs.php?units=Meters&output=j
| jq '.USGS_Elevation_Point_Query_Service.Elevation_Query.Elevation'
NOAA has the elevation of the 2.5km grid polygon, which will be lower granularity, but might (I'm just guessing) be helpful for water, where the elevation varies:
$ curl -LsS 'https://api.weather.gov/points/41.37,-83.65'
| jq '.properties.forecastGridData'
$ curl -LsS 'https://api.weather.gov/gridpoints/CLE/16,52'
| jq '.properties.elevation.value'