Elevation API
Query terrain elevation (metres above sea level) for any coordinate or a batch of coordinates. Powered by the hillshading DEM source.
| Billing | 1 unit per request (single or batch, regardless of point count) |
| Coverage | Matches the hillshading source — Europe, Oceania, and expanding |
Single coordinate
/elevation/{lat}/{lng}?apiKey=<key>| Parameter | Type | Description |
|---|---|---|
lat | float | Latitude (WGS 84) |
lng | float | Longitude (WGS 84) |
Example
/elevation/50.732669/14.984353?apiKey=<key>Response
{
"long": 14.984353,
"lat": 50.732669,
"elevation": 1005.6,
"z": 12,
"x": 2218,
"y": 1376,
"pixelX": 250,
"pixelY": 34
}| Field | Description |
|---|---|
elevation | Altitude in metres above sea level |
z, x, y | DEM tile coordinates that were sampled |
pixelX, pixelY | Pixel position within the sampled tile |
Returns 404 if the requested location is outside the current DEM coverage area.
Note: Negative latitudes and longitudes (Southern/Western hemispheres) are not currently supported by the single-coordinate endpoint. Use the batch endpoint for these locations.
Batch
Query multiple coordinates in a single request.
POST /elevation?apiKey=<key>
Content-Type: application/jsonRequest body:
{
"points": [
{ "lat": 50.732669, "lon": 14.984353, "z": 12 },
{ "lat": 49.1951, "lon": 16.6068, "z": 12 },
{ "lat": 48.1486, "lon": 17.1077, "z": 12 }
]
}| Field | Type | Description |
|---|---|---|
lat | float | Latitude (WGS 84) |
lon | float | Longitude (WGS 84) |
z | int | DEM zoom level to sample. Use 12 for best available resolution. |
The Content-Type: application/json header is required.
Response — elevation values in input order (null where no data is available):
[1005.6, 237.0, 133.0]Notes
- Coverage matches the hillshading source — not worldwide. Returns
404(single) ornull(batch) for uncovered regions. - Resolution depends on the
zparameter —z=12gives the best available resolution (~10 m in Europe) - Coordinate order is always latitude, longitude