Get an API key
Sign up at console.footstep.ai and create an API key. Your key will look likesk_live_abc123.... Keep it safe, as it’s used to authenticate every request.
Your first request
Every routing request needs at least two locations: a start and an end. Each location is alat/lon pair. Here’s a route from King’s Cross to Tower Bridge in London:
travel parameter.
Understand the response
The response contains aroute object with everything you need:
| Field | What it tells you |
|---|---|
distance_meters | Total route distance in meters |
duration_seconds | Estimated travel time in seconds |
terrain.total_ascent_meters | Total climbing over the route in meters |
terrain.total_descent_meters | Total descending over the route in meters |
terrain.elevation_profile | Array of distance/elevation points for charting |
terrain.difficulty | Overall classification: flat, rolling, hilly, or mountainous |
legs[].steps[] | Turn-by-turn directions with distance and time per manoeuvre |
All field names include their unit.
distance_meters is always meters, duration_seconds is always seconds, grade_percent is always a percentage. This is true regardless of the units parameter you send in the request.Change how you travel
The default isauto (car). You can switch to walking, cycling, or other travel types using the travel parameter:
| Travel | Use case |
|---|---|
auto | Car routing (default) |
pedestrian | Walking and hiking. Factors in terrain, avoids motorways |
bicycle | Cycling. Considers surface type and hill gradients |
bus | Bus routing |
truck | Truck routing. Respects vehicle dimensions and weight limits |
pedestrian route through hilly terrain will show significantly different difficulty and grade profiles compared to the same coordinates with auto.
Try GeoJSON format
By default, responses use thefootstep format, which is compact JSON with encoded polyline geometry. If you’re working with mapping libraries or GIS tools, you can request GeoJSON instead:
Try geocoding
Geocoding converts text into coordinates. Search for any address, place, or landmark:focus.point to bias results towards a location (e.g. the user’s city) and boundary.country to restrict to specific countries. See the geocoding guide for the full set of parameters and endpoints.
Next steps
Routing API
Terrain-intelligent routing, elevation, and spatial analysis.
Geocoding API
Search, reverse geocode, autocomplete, and batch processing.
Authentication
How API keys work, key states, and security practices.
Errors
Error codes, what triggers them, and how to handle retries.