# Footstep ## Docs - [Quickstart](https://docs.footstep.ai/quickstart.md): First API calls for routing and geocoding - [MCP Quickstart](https://docs.footstep.ai/mcp/getting-started.md): Use Footstep with your AI assistant - [Authentication](https://docs.footstep.ai/authentication.md): Authenticate requests with your API key - [Pricing](https://docs.footstep.ai/pricing.md): Pay-as-you-go pricing for every endpoint - [Errors](https://docs.footstep.ai/errors.md): Error codes and how to handle them - [Introduction](https://docs.footstep.ai/api/routing.md): Terrain-intelligent routing and spatial analysis API - [Calculate Route](https://docs.footstep.ai/api/endpoint/route.md): Calculate a route between two or more locations. Returns turn-by-turn directions with terrain analytics (ascent, descent, grade, difficulty) included by default. All distances are in meters, durations in seconds. - [Optimise Route](https://docs.footstep.ai/api/endpoint/optimize.md): Find the optimal order to visit multiple locations. Returns the optimised route with terrain analytics and savings (distance and time) compared to the original order. - [Get Elevation](https://docs.footstep.ai/api/endpoint/elevation.md): Query elevation values for coordinates or an encoded polyline. Returns height values with a computed summary including ascent, descent, min/max/avg elevation. - [Calculate Isochrone](https://docs.footstep.ai/api/endpoint/isochrone.md): Compute reachability polygons (isochrones) from an origin point. Pass `from` as a place name and the origin is geocoded for you, or pass `locations` if you already have coordinates. Returns one or more contour polygons capped by time or distance. - [Calculate Matrix](https://docs.footstep.ai/api/endpoint/matrix.md): Compute a time and distance matrix between sources and targets. Returns a 2D matrix indexed by [source][target] with distance_meters and duration_seconds for each pair. Null cells indicate unreachable pairs. All distances are in meters regardless of request units. - [Compare Routes](https://docs.footstep.ai/api/endpoint/compare.md): Calculate routes between the same locations using multiple travel modes and return a side-by-side comparison. Includes distance, duration, and terrain difficulty for each mode, plus a summary showing which is fastest, shortest, and easiest. Useful for deciding how to travel. - [Find and Route](https://docs.footstep.ai/api/endpoint/find-and-route.md): Find a place by name or address, then calculate a route to it from your origin. Combines geocoding and routing in a single call. Returns the matched destination, the full route with terrain analytics, and alternative geocoding matches. - [Search Along Route](https://docs.footstep.ai/api/endpoint/search-along-route.md): Calculate a route between locations and search for places along the corridor. Results are ranked by how little detour they add. Useful for finding stops (petrol stations, restaurants, charging points) on the way to a destination. - [Snap GPS Trace](https://docs.footstep.ai/api/endpoint/snap.md): Map-match a GPS trace to the road network. Returns a snapped polyline with confidence score. Optionally includes directions with terrain analytics, road attributes (surface, grade, road class), and per-point match quality. - [Locate on Road](https://docs.footstep.ai/api/endpoint/locate.md): Check if coordinates are on a routable road and get the nearest snapped position. Returns distance, on-road status, and optionally edge metadata (road class, surface, speed). - [Introduction](https://docs.footstep.ai/api/geocoding.md): Geocoding for addresses, places, and coordinates - [Search](https://docs.footstep.ai/api/endpoint/search.md): Forward geocode: convert a text query (address, place name, landmark) into geographic coordinates. Results are ranked by relevance. Whenever you have any spatial context — the user's visible viewport, last-known location, a prior result — supply `focus.point.lat`+`focus.point.lon` so common place na… - [Structured Search](https://docs.footstep.ai/api/endpoint/structured-search.md): Forward geocode using structured address components instead of free text. More precise than text search when you already have address fields separated (e.g. from a database or form). Provide as many fields as you have. The more you provide, the more accurate the result. - [Reverse Geocode](https://docs.footstep.ai/api/endpoint/reverse.md): Reverse geocode: convert geographic coordinates into a human-readable address or place name. Returns the nearest matching locations sorted by proximity. - [Autocomplete](https://docs.footstep.ai/api/endpoint/autocomplete.md): Typeahead search: get suggestions as the user types. Optimised for low-latency responses. Supply `focus.point.lat`+`focus.point.lon` whenever you have spatial context — the user's current location, map viewport, last-known anchor — so suggestions reflect where they are. Add `boundary.country` (comma… - [Batch Geocode](https://docs.footstep.ai/api/endpoint/batch.md): Batch geocode a list of addresses in a single request. Each item can be free text or structured address components. Results are returned per-item with the original index preserved, so failed items don't break the batch. Use this for spreadsheet imports, database enrichment, or any bulk geocoding tas… - [Search Places](https://docs.footstep.ai/api/endpoint/places.md): Find points of interest (cafes, supermarkets, parks, ATMs, etc.) near a location. Prefer `near.lat`+`near.lon` whenever you already have coordinates — this disambiguates common place names that exist in multiple countries. Use `near` only when you genuinely have just a place name, and qualify it tig… - [Parse Address](https://docs.footstep.ai/api/endpoint/parse.md): Break a free-text address into structured components (house number, road, city, state, postcode, country). Use this to normalise messy address data before passing it to structured search, or to understand what parts of an address were recognised. - [Introduction](https://docs.footstep.ai/api/ai.md): Natural language queries and address intelligence - [Query](https://docs.footstep.ai/api/endpoint/query.md): Accept a natural language query and return structured geospatial results. The endpoint classifies intent (route, geocode, isochrone, etc.), extracts locations and parameters, calls the appropriate backend, and returns the full result with a natural language summary. Use context.location to help reso… - [Parse Address](https://docs.footstep.ai/api/endpoint/parse-address.md): Parse, correct, and standardize addresses using AI. Fixes typos, expands abbreviations, infers missing components (postcode, region, country), and returns structured address components with a confidence score. Each correction is itemised so you can see exactly what changed. - [Introduction](https://docs.footstep.ai/api/predict.md): Spatial probability predictions powered by Footstep Nova - [Predict](https://docs.footstep.ai/api/endpoint/predict.md): Generate spatial probability predictions for behavioural profiles - [Introduction](https://docs.footstep.ai/mcp/introduction.md): Connect AI agents to Footstep - [Configuration](https://docs.footstep.ai/mcp/configuration.md): Set up the Footstep MCP server with your client - [Response shape](https://docs.footstep.ai/mcp/response-shape.md): How MCP tool results are structured, including errors - [Response defaults & controls](https://docs.footstep.ai/mcp/defaults.md): How rich-by-default works and how to tune what each tool returns - [Render envelopes](https://docs.footstep.ai/mcp/render-envelopes.md): Drop Footstep MCP tool results straight into your map library - [Tools](https://docs.footstep.ai/mcp/tools.md): Routing, geocoding, natural-language, and prediction tools available to your agent - [get_directions](https://docs.footstep.ai/mcp/tools/get-directions.md): Get driving, walking, or cycling directions between locations - [optimize_stops](https://docs.footstep.ai/mcp/tools/optimize-stops.md): Find the fastest order to visit multiple stops - [compare_routes](https://docs.footstep.ai/mcp/tools/compare-routes.md): Compare travel modes between the same origin and destination - [find_and_route](https://docs.footstep.ai/mcp/tools/find-and-route.md): Find a place and get directions to it in one step - [get_isochrone](https://docs.footstep.ai/mcp/tools/get-isochrone.md): Find everywhere reachable within a time or distance limit - [get_matrix](https://docs.footstep.ai/mcp/tools/get-matrix.md): Calculate travel times and distances between every combination of origins and destinations - [get_elevation](https://docs.footstep.ai/mcp/tools/get-elevation.md): Get elevation data for a list of coordinates - [snap_trace](https://docs.footstep.ai/mcp/tools/snap-trace.md): Clean up a GPS trace and get road details - [search_along_route](https://docs.footstep.ai/mcp/tools/search-along-route.md): Find places along a route ranked by detour time - [geocode](https://docs.footstep.ai/mcp/tools/geocode.md): Convert an address or place name to coordinates - [reverse_geocode](https://docs.footstep.ai/mcp/tools/reverse-geocode.md): Convert coordinates to an address - [batch_geocode](https://docs.footstep.ai/mcp/tools/batch-geocode.md): Geocode up to 1,000 addresses in one call - [search_places](https://docs.footstep.ai/mcp/tools/search-places.md): Find places and points of interest near a location - [parse_address](https://docs.footstep.ai/mcp/tools/parse-address.md): Clean and structure messy free-text addresses - [get_prediction](https://docs.footstep.ai/mcp/tools/get-prediction.md): Generate spatial probability predictions for missing person scenarios - [Changelog](https://docs.footstep.ai/changelog.md): What's new in the Footstep API ## OpenAPI Specs - [openapi](https://docs.footstep.ai/api/openapi.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.