Skip to main content
POST
/
v1
/
routing
/
isochrone
curl --request POST \
  --url https://api.footstep.ai/v1/routing/isochrone \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "locations": [
    {
      "lat": 51.5322,
      "lon": -0.124
    }
  ],
  "costing": "pedestrian",
  "contours": [
    {
      "time": 5,
      "color": "ff0000"
    },
    {
      "time": 10,
      "color": "ffff00"
    },
    {
      "time": 15,
      "color": "00ff00"
    }
  ]
}
'
{
  "origin": {
    "lat": 0,
    "lon": 0
  },
  "costing": "<string>",
  "contours": [
    {
      "metric": "time",
      "value": 123,
      "geometry": {
        "type": "Polygon",
        "coordinates": "<unknown>"
      }
    }
  ]
}

Authorizations

x-api-key
string
header
required

Your Footstep API key

Body

application/json
locations
object[]
required

Single origin

Required array length: 1 element
contours
object[]
required
Required array length: 1 - 4 elements
costing
enum<string>
default:pedestrian
Available options:
auto,
bicycle,
pedestrian,
bus,
truck
costing_options
object

Mode-specific tuning. Include only the key matching your costing mode.

polygons
boolean
default:true
denoise
number
default:0.5

0 = detailed, 1 = smoothed

Required range: 0 <= x <= 1
show_locations
boolean
default:false
format
enum<string>
default:footstep

Response format. footstep = optimised for app developers (encoded polyline, flat structure). geojson = standard GeoJSON FeatureCollection (decoded coordinates, immediately usable in Leaflet/Mapbox GL/deck.gl).

Available options:
footstep,
geojson

Response

Isochrone contours

Structured isochrone response with typed contours

origin
object
required
costing
string
required

Transport mode used

contours
object[]
required