Elevation API
Query high-resolution topographical elevation data (meters above sea level) across individual coordinates or sampled along transit corridors.
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
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET | /elevation/30m | Elevation - single location |
GET | /elevation/30m | Elevation - single location (GeoJSON) |
GET | /elevation/30m | Elevation - multiple locations |
GET | /elevation/30m | Elevation - multiple locations (GeoJSON) |
POST | /elevation/30m | Elevation - multiple locations (POST) |
POST | /elevation/30m | Elevation - multiple locations (POST, GeoJSON) |
All requests need only your API key, as the api-key query parameter - no bearer token:
?api-key=<apiKey>
Elevation - single location
GET /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | query | string | Yes | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
format | query | string | No | json (default) or geojson. | |
interpolation | query | string | No | How to interpolate between data points: nearest, bilinear (default) or cubic. | |
nodata_value | query | string | No | Elevation to return where the dataset has no data: null (default), nan, or an integer such as -9999. |
Response Schema
200 OK
{
"results": [
{
"dataset": "srtm30m",
"elevation": 213,
"location": {
"lat": 28.6129,
"lng": 77.2295
}
}
],
"status": "OK"
}
| Field | Type | Description |
|---|---|---|
results | array | One entry per input location, in input order. |
results[] | object | |
results[].dataset | string | Dataset the elevation comes from. |
results[].elevation | integer | Elevation in metres. null when the location is outside the dataset or has no data. |
results[].location | object | |
results[].location.lat | number | Latitude of the location. |
results[].location.lng | number | Longitude of the location. |
status | string | OK on success, INVALID_REQUEST for an input error, SERVER_ERROR otherwise. |
Elevation - single location (GeoJSON)
GET /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | query | string | Yes | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
format | query | string | No | json (default) or geojson. | geojson |
interpolation | query | string | No | How to interpolate between data points: nearest, bilinear (default) or cubic. | |
nodata_value | query | string | No | Elevation to return where the dataset has no data: null (default), nan, or an integer such as -9999. |
Response Schema
200 OK
{
"features": [
{
"geometry": {
"coordinates": [
77.2295,
28.6129,
213
],
"type": "Point"
},
"properties": {
"dataset": "srtm30m"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
| Field | Type | Description |
|---|---|---|
features | array | One point feature per input location, in input order. |
features[] | object | |
features[].geometry | object | |
features[].geometry.coordinates | array | [longitude, latitude, elevation] - elevation in metres. |
features[].geometry.coordinates[] | number | |
features[].geometry.type | string | |
features[].properties | object | |
features[].properties.dataset | string | Dataset the elevation comes from. |
features[].type | string | |
type | string | Always FeatureCollection. |
Elevation - multiple locations
GET /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | query | string | Yes | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
format | query | string | No | json (default) or geojson. | |
interpolation | query | string | No | How to interpolate between data points: nearest, bilinear (default) or cubic. | |
nodata_value | query | string | No | Elevation to return where the dataset has no data: null (default), nan, or an integer such as -9999. |
Response Schema
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"
}
| Field | Type | Description |
|---|---|---|
results | array | One entry per input location, in input order. |
results[] | object | |
results[].dataset | string | Dataset the elevation comes from. |
results[].elevation | integer | Elevation in metres. null when the location is outside the dataset or has no data. |
results[].location | object | |
results[].location.lat | number | Latitude of the location. |
results[].location.lng | number | Longitude of the location. |
status | string | OK on success, INVALID_REQUEST for an input error, SERVER_ERROR otherwise. |
Elevation - multiple locations (GeoJSON)
GET /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | query | string | Yes | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
format | query | string | No | json (default) or geojson. | geojson |
interpolation | query | string | No | How to interpolate between data points: nearest, bilinear (default) or cubic. | |
nodata_value | query | string | No | Elevation to return where the dataset has no data: null (default), nan, or an integer such as -9999. |
Response Schema
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"
}
| Field | Type | Description |
|---|---|---|
features | array | One point feature per input location, in input order. |
features[] | object | |
features[].geometry | object | |
features[].geometry.coordinates | array | [longitude, latitude, elevation] - elevation in metres. |
features[].geometry.coordinates[] | number | |
features[].geometry.type | string | |
features[].properties | object | |
features[].properties.dataset | string | Dataset the elevation comes from. |
features[].type | string | |
type | string | Always FeatureCollection. |
Elevation - multiple locations (POST)
POST /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | body | string | No | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
Request body
{
"locations": "28.6129,77.2295|31.1048,77.1734|12.9716,77.5946"
}
Response Schema
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"
}
| Field | Type | Description |
|---|---|---|
results | array | One entry per input location, in input order. |
results[] | object | |
results[].dataset | string | Dataset the elevation comes from. |
results[].elevation | integer | Elevation in metres. null when the location is outside the dataset or has no data. |
results[].location | object | |
results[].location.lat | number | Latitude of the location. |
results[].location.lng | number | Longitude of the location. |
status | string | OK 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.
Elevation - multiple locations (POST, GeoJSON)
POST /elevation/30m
Base URL: https://api-gw.sovereignsolutions.com/gateway
Request Parameters
| Parameter | In | Type | Required | Description | Example |
|---|---|---|---|---|---|
locations | body | string | No | latitude,longitude pairs separated by ` | `, or an encoded polyline. |
format | body | string | No | json (default) or geojson. |
Request body
{
"locations": "28.6129,77.2295|31.1048,77.1734|12.9716,77.5946",
"format": "geojson"
}
Response Schema
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"
}
| Field | Type | Description |
|---|---|---|
features | array | One point feature per input location, in input order. |
features[] | object | |
features[].geometry | object | |
features[].geometry.coordinates | array | [longitude, latitude, elevation] - elevation in metres. |
features[].geometry.coordinates[] | number | |
features[].geometry.type | string | |
features[].properties | object | |
features[].properties.dataset | string | Dataset the elevation comes from. |
features[].type | string | |
type | string | Always FeatureCollection. |
Same arguments as the GET call, in the body - use it when the location list is too long for a URL.
Example
curl -X GET 'https://api-gw.sovereignsolutions.com/gateway/elevation/30m?locations=28.6129,77.2295&api-key=$API_KEY'
Notes
Coordinates are WGS-84 (EPSG:4326). Note the order: the locations argument is latitude,longitude, while GeoJSON output is [longitude, latitude, elevation].