Skip to main content
POST

Authorizations

x-api-key
string
header
required

Your Footstep API key

Body

application/json
origin
required

Starting location. Either lat/lon coordinates, or a place name / postcode / address (geocoded internally).

destination
string
required

Place name, address, or landmark to find and route to

destination_country
string

ISO 3166-1 alpha-3 country code hint for geocoding (e.g. GBR, USA)

travel
enum<string>
default:auto
Available options:
auto,
bicycle,
pedestrian,
bus,
truck
travel_options
object

Fine-tuning options. Include only the key matching your travel type.

elevation_interval
number
default:30
Required range: 10 <= x <= 200
narrative
boolean
default:false

Include a natural language route summary. Adds ~500ms.

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
origin_country
string

ISO 3166-1 alpha-3 country hint applied when origin is a string.

Response

Geocoded destination with route

destination
object
required

The geocoded destination that was routed to

route
object
required

Route from origin to the geocoded destination

origin
object
required

Echoed origin — coordinates always present; geocoded label/name fields present only when the caller passed a string.

alternatives
object[]

Other geocoding matches (up to 3) in case the primary result wasn't what you meant. Filtered to the same country as the primary match with a minimum confidence threshold; absent when nothing useful survives the filter.

narrative
string

AI-generated 1-3 sentence summary of the route. Present only when narrative: true was requested and the LLM service was available.