--- title: Isochrones | Plaza Docs description: Compute reachable areas from a point within a given travel time. Returns polygons for car, foot, or bicycle. --- An isochrone answers “where can I get to from here in N minutes?” — give Plaza a point, a travel time, and a mode, and get back a polygon of the reachable area. Isochrones are a [premium endpoint](/guides/authentication#premium-endpoints/index.md) — each request counts as 4x. ## Single contour Terminal window ``` curl -X POST https://plaza.fyi/api/v1/isochrone \ -H "x-api-key: pk_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "center": { "type": "Point", "coordinates": [2.3522, 48.8566] }, "time": 600, "mode": "foot" }' ``` ``` import Plaza from "@plazafyi/sdk"; const client = new Plaza(); const iso = await client.v1.isochrone({ center: { type: "Point", coordinates: [2.3522, 48.8566] }, contours_minutes: "10", mode: "foot", }); // iso.geometry is a Polygon you can drop straight onto a map ``` ``` import plaza client = plaza.Client() iso = client.v1.isochrone( center={"type": "Point", "coordinates": [2.3522, 48.8566]}, contours_minutes="10", mode="foot", ) ``` ``` import "github.com/plazafyi/plaza-go" client := plaza.NewClient() iso, _ := client.V1.Isochrone(ctx, plaza.IsochroneParams{ Center: plaza.GeoJSONPoint{Type: "Point", Coordinates: []float64{2.3522, 48.8566}}, ContoursMinutes: "10", Mode: "foot", }) ``` `time` is in seconds. Response — a GeoJSON Feature with a Polygon geometry: ``` { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [[[2.341, 48.850], [2.363, 48.850], [2.363, 48.863], [2.341, 48.863], [2.341, 48.850]]] }, "properties": { "time_seconds": 600, "mode": "foot", "vertices_reached": 342, "max_cost_s": 598.4 } } ``` ## Multiple contours Pass comma-separated times to get concentric rings in a single request: Terminal window ``` curl -X POST https://plaza.fyi/api/v1/isochrone \ -H "x-api-key: pk_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "center": { "type": "Point", "coordinates": [2.3522, 48.8566] }, "time": "300,600,900", "mode": "auto" }' ``` ``` const iso = await client.v1.isochrone({ center: { type: "Point", coordinates: [2.3522, 48.8566] }, contours_minutes: "5,10,15", mode: "auto", }); // 3 features: 5-minute, 10-minute, 15-minute polygons for (const ring of iso.features) { console.log(`${ring.properties.time_seconds}s contour`); } ``` Returns a FeatureCollection with one Polygon per time value, smallest to largest — ready for layered map display. ## Modes | Mode | Network | | --------- | ------------------------------------------------ | | `auto` | Roads, respecting one-ways and turn restrictions | | `foot` | Sidewalks, footpaths, trails, pedestrian zones | | `bicycle` | Bike lanes, cycleways, shared roads | ## Use cases **Site selection.** Generate isochrones from candidate locations and count amenities within each to compare. **Service area analysis.** Map a fire station’s 5-minute drive radius, or a delivery kitchen’s 20-minute bicycle range. **Equity mapping.** Generate 15-minute walking isochrones from each hospital to find underserved areas.