Skip to main content

Elevation API

Query high-resolution topographical elevation data (meters above sea level) across individual coordinates or sampled along transit corridors.

Where it's used​

Use cases, value and how it works

Overview & Solution

Elevation and ground slope critically influence infrastructure engineering, telecommunication signal propagation, heavy vehicle fuel consumption, and drainage planning. The Elevation API extracts accurate altitude data derived from global digital elevation models (DEM).

Industry Use Cases

1. Property & Asset Risk Assessment

  • Flood risk screening: Factor a property's elevation relative to its surroundings into flood and waterlogging risk checks for insurance underwriting or loan collateral review.

API reference​

Map Visualization · API key only

Quick try​

curl
curl -X GET 'https://api-gw.sovereignsolutions.com/gateway/elevation/30m?locations=28.6129,77.2295&api-key=$API_KEY'

Endpoints​

MethodPathPurpose
GET/elevation/30mElevation - single location
GET/elevation/30mElevation - single location (GeoJSON)
GET/elevation/30mElevation - multiple locations
GET/elevation/30mElevation - multiple locations (GeoJSON)
POST/elevation/30mElevation - multiple locations (POST)
POST/elevation/30mElevation - multiple locations (POST, GeoJSON)

Elevation - single location​

GET https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescriptionExample
locationsquerystringYeslatitude,longitude pairs separated by ``, or an encoded polyline.
formatquerystringNojson (default) or geojson.
interpolationquerystringNoHow to interpolate between data points: nearest, bilinear (default) or cubic.
nodata_valuequerystringNoElevation to return where the dataset has no data: null (default), nan, or an integer such as -9999.

Response

200 OK
{
"results": [
{
"dataset": "srtm30m",
"elevation": 213,
"location": {
"lat": 28.6129,
"lng": 77.2295
}
}
],
"status": "OK"
}
FieldTypeDescription
resultsarrayOne entry per input location, in input order.
results[]object
results[].datasetstringDataset the elevation comes from.
results[].elevationintegerElevation in metres. null when the location is outside the dataset or has no data.
results[].locationobject
results[].location.latnumberLatitude of the location.
results[].location.lngnumberLongitude of the location.
statusstringOK on success, INVALID_REQUEST for an input error, SERVER_ERROR otherwise.

Errors: non-2xx responses use the standard status codes listed on Errors.

Elevation - single location (GeoJSON)​

GET https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescriptionExample
locationsquerystringYeslatitude,longitude pairs separated by ``, or an encoded polyline.
formatquerystringYesjson (default) or geojson.geojson
interpolationquerystringNoHow to interpolate between data points: nearest, bilinear (default) or cubic.
nodata_valuequerystringNoElevation to return where the dataset has no data: null (default), nan, or an integer such as -9999.

Response

200 OK
{
"features": [
{
"geometry": {
"coordinates": [
77.2295,
28.6129,
213
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
Response fields (10)
FieldTypeDescription
featuresarrayOne point feature per input location, in input order.
features[]object
features[].geometryobject
features[].geometry.coordinatesarray[longitude, latitude, elevation] - elevation in metres.
features[].geometry.coordinates[]number
features[].geometry.typestring
features[].propertiesobject
features[].properties.datasetstringDataset the elevation comes from.
features[].typestring
typestringAlways FeatureCollection.

Errors: non-2xx responses use the standard status codes listed on Errors.

Elevation - multiple locations​

GET https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescriptionExample
locationsquerystringYeslatitude,longitude pairs separated by ``, or an encoded polyline.
formatquerystringNojson (default) or geojson.
interpolationquerystringNoHow to interpolate between data points: nearest, bilinear (default) or cubic.
nodata_valuequerystringNoElevation to return where the dataset has no data: null (default), nan, or an integer such as -9999.

Response

200 OK
{
"results": [
{
"dataset": "srtm30m",
"elevation": 213,
"location": {
"lat": 28.6129,
"lng": 77.2295
}
},
{
"dataset": "srtm30m",
"elevation": 2204,
"location": {
"lat": 31.1048,
"lng": 77.1734
}
},
{
"dataset": "srtm30m",
"elevation": 914,
"location": {
"lat": 12.9716,
"lng": 77.5946
}
}
],
"status": "OK"
}
FieldTypeDescription
resultsarrayOne entry per input location, in input order.
results[]object
results[].datasetstringDataset the elevation comes from.
results[].elevationintegerElevation in metres. null when the location is outside the dataset or has no data.
results[].locationobject
results[].location.latnumberLatitude of the location.
results[].location.lngnumberLongitude of the location.
statusstringOK on success, INVALID_REQUEST for an input error, SERVER_ERROR otherwise.

Errors: non-2xx responses use the standard status codes listed on Errors.

Elevation - multiple locations (GeoJSON)​

GET https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescriptionExample
locationsquerystringYeslatitude,longitude pairs separated by ``, or an encoded polyline.
formatquerystringYesjson (default) or geojson.geojson
interpolationquerystringNoHow to interpolate between data points: nearest, bilinear (default) or cubic.
nodata_valuequerystringNoElevation to return where the dataset has no data: null (default), nan, or an integer such as -9999.

Response

200 OK
{
"features": [
{
"geometry": {
"coordinates": [
77.2295,
28.6129,
213
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
77.1734,
31.1048,
2204
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
77.5946,
12.9716,
914
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
Response fields (10)
FieldTypeDescription
featuresarrayOne point feature per input location, in input order.
features[]object
features[].geometryobject
features[].geometry.coordinatesarray[longitude, latitude, elevation] - elevation in metres.
features[].geometry.coordinates[]number
features[].geometry.typestring
features[].propertiesobject
features[].properties.datasetstringDataset the elevation comes from.
features[].typestring
typestringAlways FeatureCollection.

Errors: non-2xx responses use the standard status codes listed on Errors.

Elevation - multiple locations (POST)​

POST https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescription
locationsbodystring-latitude,longitude pairs separated by `
Request body
{
"locations": "28.6129,77.2295|31.1048,77.1734|12.9716,77.5946"
}

Response

200 OK
{
"results": [
{
"dataset": "srtm30m",
"elevation": 213,
"location": {
"lat": 28.6129,
"lng": 77.2295
}
},
{
"dataset": "srtm30m",
"elevation": 2204,
"location": {
"lat": 31.1048,
"lng": 77.1734
}
},
{
"dataset": "srtm30m",
"elevation": 914,
"location": {
"lat": 12.9716,
"lng": 77.5946
}
}
],
"status": "OK"
}
FieldTypeDescription
resultsarrayOne entry per input location, in input order.
results[]object
results[].datasetstringDataset the elevation comes from.
results[].elevationintegerElevation in metres. null when the location is outside the dataset or has no data.
results[].locationobject
results[].location.latnumberLatitude of the location.
results[].location.lngnumberLongitude of the location.
statusstringOK on success, INVALID_REQUEST for an input error, SERVER_ERROR otherwise.

Same arguments as the GET call, in the body - use it when the location list is too long for a URL.

Errors: non-2xx responses use the standard status codes listed on Errors.

Elevation - multiple locations (POST, GeoJSON)​

POST https://api-gw.sovereignsolutions.com/gateway/elevation/30m

Auth: api-key query parameter only - no bearer token, no tenant in the URL

Request parameters

ParameterInTypeRequiredDescription
locationsbodystring-latitude,longitude pairs separated by `
formatbodystring-json (default) or geojson.
Request body
{
"locations": "28.6129,77.2295|31.1048,77.1734|12.9716,77.5946",
"format": "geojson"
}

Response

200 OK
{
"features": [
{
"geometry": {
"coordinates": [
77.2295,
28.6129,
213
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
77.1734,
31.1048,
2204
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
},
{
"geometry": {
"coordinates": [
77.5946,
12.9716,
914
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
Response fields (10)
FieldTypeDescription
featuresarrayOne point feature per input location, in input order.
features[]object
features[].geometryobject
features[].geometry.coordinatesarray[longitude, latitude, elevation] - elevation in metres.
features[].geometry.coordinates[]number
features[].geometry.typestring
features[].propertiesobject
features[].properties.datasetstringDataset the elevation comes from.
features[].typestring
typestringAlways FeatureCollection.

Same arguments as the GET call, in the body - use it when the location list is too long for a URL.

Errors: non-2xx responses use the standard status codes listed on Errors.

Notes​

Coordinates are WGS-84 (EPSG:4326). Note the order: the locations argument is latitude,longitude, while GeoJSON output is [longitude, latitude, elevation].