GET /elevation?lat={lat}&lon={lon}
Elevation API
A point or a whole track. Height and depth in feet and meters.
Try it
{
"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
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.
Coverage
From the mountains to the ocean floor. Pole to pole.
30m
Across the land
Fine terrain samples bring the hills and valleys into view.
460m
Around the globe
The global grid supplies ocean depth and fills points without a usable fine sample.
Approximate grid spacing. Each result reports its selected grid in resolution. Below sea level, elevation is negative. Grid spacing describes horizontal sampling, not vertical accuracy. Sources and height reference.
SPEED
Warm single-point lookups.
Median time to first byte for one coordinate over the last seven days, measured every 30 minutes. Lists, paths, and uncached requests can take longer.
US
68ms
EU
128ms
APAC
179ms
LatAm
198ms
ME
159ms
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?
Get some altitude.
A point or a track. Every plan.
Start includes 1M API requests a month for $20/mo.
Ready for busy moments.Start includes 1,800 requests per minute, with extra capacity for bursts. Rate limits