Skip to main content

Isochrone API

Compute realistic travel-time and travel-distance reachability polygon contours across road networks.


Overview & Solution​

Simple radial circles ignore geographic barriers like rivers, railway lines, one-way streets, and highway divides. The Isochrone API generates accurate geographic catchment polygons depicting everywhere reachable within a given time budget (e.g. "10-minute drive", "30-minute transit").


Industry Use Cases​

1. Dark Store & Quick-Commerce Expansion​

  • 10-Minute Delivery Boundaries: Map exact serviceable delivery polygons to guarantee SLA commitments for grocery and pharmacy fulfillment.

2. Retail Site Selection & Catchment Analysis​

  • Store Placement: Assess potential customer reach and demographic catchment areas around candidate commercial real estate locations.

3. Emergency Services & Hospital Networks​

  • Ambulance & Fire Reachability: Audit coverage dead zones to strategically position emergency response vehicles.


API reference​

Route and Journey Intelligence APIs · API key only

Endpoints​

MethodPathPurpose
POST/routing/adapter/isochroneIsochrone API - by distance
POST/routing/adapter/isochroneIsochrone API - by travel time

All requests need only your API key, as the api-key query parameter - no bearer token:

?api-key=<apiKey>

Isochrone API - by distance​

POST /routing/adapter/isochrone

Base URL: https://api-gw.sovereignsolutions.com/gateway

Request Parameters

ParameterInTypeRequiredDescriptionExample
locationsbodyarrayNoStarting point.
locations[]bodyobjectNo
locations[].latbodynumberNoLatitude of the point, decimal degrees.
locations[].lonbodynumberNoLongitude of the point, decimal degrees.
costingbodystringNoTravel mode used for costing. The examples use auto (driving) and pedestrian (walking).
polygonsbodybooleanNotrue returns polygons.
contoursbodyarrayNoLimits to compute - one polygon each.
contours[]bodyobjectNo
contours[].distancebodynumberNoDistance limit for this contour.
contours[].colorbodystringNoHex colour (without #) to tag the polygon with.

Request body

{
"locations": [
{
"lat": 30.744014,
"lon": 73.990508
}
],
"costing": "auto",
"polygons": true,
"contours": [
{
"distance": 5.0,
"color": "ff0000"
}
]
}

Response Schema

200 OK

{
"features": [
{
"properties": {
"fill-opacity": 0.33,
"fillColor": "#ff0000",
"opacity": 0.33,
"fill": "#ff0000",
"fillOpacity": 0.33,
"color": "#ff0000",
"contour": 5,
"metric": "distance"
},
"geometry": {
"coordinates": [
[
[
73.990508,
30.744847
],
[
73.989841,
30.744681
],
[
73.989675,
30.744014
],
[
73.989841,
30.743347
],
[
73.990508,
30.743181
],
[
73.991175,
30.743347
],
[
73.991341,
30.744014
],
[
73.991175,
30.744681
],
[
73.990508,
30.744847
]
]
],
"type": "Polygon"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
FieldTypeDescription
featuresarrayOne polygon per contour.
features[]object
features[].propertiesobject
features[].properties.fill-opacitynumberSuggested fill opacity.
features[].properties.fillColorstringFill colour, for rendering.
features[].properties.opacitynumberSuggested opacity.
features[].properties.fillstringFill colour, for rendering.
features[].properties.fillOpacitynumberSuggested fill opacity.
features[].properties.colorstringColour you requested, for rendering.
features[].properties.contourintegerThe contour value this polygon represents.
features[].properties.metricstringdistance or time.
features[].geometryobject
features[].geometry.coordinatesarrayPolygon rings of [longitude, latitude] points.
features[].geometry.coordinates[]array
features[].geometry.coordinates[][]array
features[].geometry.coordinates[][][]number
features[].geometry.typestring
features[].typestring
typestringAlways FeatureCollection.

Isochrone API - by travel time​

POST /routing/adapter/isochrone

Base URL: https://api-gw.sovereignsolutions.com/gateway

Request Parameters

ParameterInTypeRequiredDescriptionExample
locationsbodyarrayNoStarting point.
locations[]bodyobjectNo
locations[].latbodynumberNoLatitude of the point, decimal degrees.
locations[].lonbodynumberNoLongitude of the point, decimal degrees.
costingbodystringNoTravel mode used for costing. The examples use auto (driving) and pedestrian (walking).
polygonsbodybooleanNotrue returns polygons.
contoursbodyarrayNoLimits to compute - one polygon each.
contours[]bodyobjectNo
contours[].timebodynumberNoTravel-time limit for this contour.
contours[].colorbodystringNoHex colour (without #) to tag the polygon with.

Request body

{
"locations": [
{
"lat": 30.744014,
"lon": 73.990508
}
],
"costing": "pedestrian",
"polygons": true,
"contours": [
{
"time": 15.0,
"color": "ff0000"
}
]
}

Response Schema

200 OK

{
"features": [
{
"properties": {
"fill-opacity": 0.33,
"fillColor": "#ff0000",
"opacity": 0.33,
"fill": "#ff0000",
"fillOpacity": 0.33,
"color": "#ff0000",
"contour": 15,
"metric": "time"
},
"geometry": {
"coordinates": [
[
[
73.990508,
30.744952
],
[
73.989633,
30.744889
],
[
73.989633,
30.743139
],
[
73.991383,
30.743139
],
[
73.991383,
30.744889
],
[
73.990508,
30.744952
]
]
],
"type": "Polygon"
},
"type": "Feature"
}
],
"type": "FeatureCollection"
}
FieldTypeDescription
featuresarrayOne polygon per contour.
features[]object
features[].propertiesobject
features[].properties.fill-opacitynumberSuggested fill opacity.
features[].properties.fillColorstringFill colour, for rendering.
features[].properties.opacitynumberSuggested opacity.
features[].properties.fillstringFill colour, for rendering.
features[].properties.fillOpacitynumberSuggested fill opacity.
features[].properties.colorstringColour you requested, for rendering.
features[].properties.contourintegerThe contour value this polygon represents.
features[].properties.metricstringdistance or time.
features[].geometryobject
features[].geometry.coordinatesarrayPolygon rings of [longitude, latitude] points.
features[].geometry.coordinates[]array
features[].geometry.coordinates[][]array
features[].geometry.coordinates[][][]number
features[].geometry.typestring
features[].typestring
typestringAlways FeatureCollection.

Example​

curl -X POST 'https://api-gw.sovereignsolutions.com/gateway/routing/adapter/isochrone?api-key=$API_KEY' \
-H 'Content-Type: application/json' \
-d '{"locations": [{"lat": 30.744014, "lon": 73.990508}], "costing": "auto", "polygons": true, "contours": [{"distance": 5.0, "color": "ff0000"}]}'