GET /elevation?lat={lat}&lon={lon}

Elevation API

Terrain for your map. Elevation for a point or a whole path.

Try it

Example response/elevation?lat=39.77&lon=-104.9
{
  "latitude": 39.77,
  "longitude": -104.9,
  "elevation": 1610,
  "elevation_ft": 5282,
  "resolution": 30
}

1M requests · $20/mo. Get started

Up to 512 points

A whole track.
One request.

Send your coordinates or sample evenly along a path. Get every height back in order, with feet, meters, and grid spacing on each point.

Example profile / Front Range, Colorado

6,693 ft

Sample 9 of 17

39.74, -105.31

5,233 ft10,774 ft
Elevation samples across the Front Range, from 5,233 to 10,774 ft. Horizontal position follows sample order.
DenverSample orderRocky Mountains
View the 17-point JSON response
{
  
    
      "latitude": 39.74,
      "longitude": -104.99,
      "elevation": 1595,
      "elevation_ft": 5233,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.03,
      "elevation": 1615,
      "elevation_ft": 5299,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.07,
      "elevation": 1644,
      "elevation_ft": 5394,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.11,
      "elevation": 1699,
      "elevation_ft": 5574,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.15,
      "elevation": 1723,
      "elevation_ft": 5653,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.19,
      "elevation": 1787,
      "elevation_ft": 5863,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.23,
      "elevation": 1865,
      "elevation_ft": 6119,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.27,
      "elevation": 1821,
      "elevation_ft": 5974,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.31,
      "elevation": 2040,
      "elevation_ft": 6693,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.35,
      "elevation": 2118,
      "elevation_ft": 6949,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.39,
      "elevation": 2090,
      "elevation_ft": 6857,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.43,
      "elevation": 2225,
      "elevation_ft": 7300,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.47,
      "elevation": 2548,
      "elevation_ft": 8360,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.51,
      "elevation": 2346,
      "elevation_ft": 7697,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.55,
      "elevation": 2545,
      "elevation_ft": 8350,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.59,
      "elevation": 2798,
      "elevation_ft": 9180,
      "resolution": 30
    },
    
      "latitude": 39.74,
      "longitude": -105.63,
      "elevation": 3284,
      "elevation_ft": 10774,
      "resolution": 30
    }
  ]
}

17 sampled coordinates across the Front Range. Move across the profile or use the slider to inspect each point.

Send a list or sample a path

The 17 profile points as coordinates, a compact polyline, or JSON. POST a coordinate array for longer payloads. Up to 512 points count as one pooled request.

curl --get 'https://api.parseapi.com/elevation' \
  --data-urlencode 'points=39.74,-104.99|39.74,-105.03|39.74,-105.07|39.74,-105.11|39.74,-105.15|39.74,-105.19|39.74,-105.23|39.74,-105.27|39.74,-105.31|39.74,-105.35|39.74,-105.39|39.74,-105.43|39.74,-105.47|39.74,-105.51|39.74,-105.55|39.74,-105.59|39.74,-105.63' \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"

Polylines use standard precision 5. Read the API reference.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/elevation?lat=39.77&lon=-104.9" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "latitude": 39.77,
  "longitude": -104.9,
  "elevation": 1610,
  "elevation_ft": 5282,
  "resolution": 30
}

API referenceSDKsKeys and authentication

Every response field

latitudenumber
Sample latitude
longitudenumber
Sample longitude
elevationinteger or null
Height in meters relative to EGM2008 (null if unavailable)
elevation_ftinteger or null
Height in feet relative to EGM2008 (null if unavailable)
resolutioninteger or null
Approx grid spacing in meters

QUESTIONS

What do I pass?
Latitude and longitude for one point. For a track, pass up to 512 coordinate pairs or an encoded polyline with the enc: prefix. A track counts as one pooled request.
What comes back?
Coordinates, elevation in meters, elevation_ft in feet, and resolution for the selected grid. A track wraps the same records in a points array, in your original order. Missing elevations stay null.
How do I send a track?
Use GET /elevation?points= with lat,lon pairs separated by pipes. A precision-5 encoded polyline prefixed with enc: keeps the URL compact. For longer payloads, POST a JSON coordinate array to /elevation. Every format supports up to 512 points; POST arrays avoid URL-length limits.
Can it sample evenly along a route?
Yes. Send 2-512 vertices in path and choose 2-512 samples. The response includes your start and finish, with evenly spaced elevations along the great-circle segments between waypoints. GET accepts a coordinate list or polyline; POST also accepts coordinate arrays. The whole path uses one pooled request.
What is the grid?
Nearest sample on a 30m terrain grid or a global fallback with about 460m spacing, including ocean depth. resolution reports spacing, not a guarantee of vertical accuracy. Ocean depth is negative, below sea level.
Is it on /point too?
Yes. Add deep=true on Point for elevation, elevation_ft, and resolution on every plan. Paid Postal and City detail also include elevation where available.

The terrain at your location: What is my elevation?