/v1/routing/isochrone Generate road-network-accurate reachability polygons by driving time or distance. Returns GeoJSON MultiPolygons ready to render on any map layer.
Not a radius circle. The API calculates exactly which areas are reachable via the real road network from a given origin accounting for road classifications, speed limits, and network topology. Request up to 4 contour thresholds in a single call.
POST
Method
4
Max contours
GeoJSON
Output format
95ms
Median p95
curl -X POST "https://api.farun.io/v1/routing/isochrone" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "X-RapidAPI-Host: farun-maps.p.rapidapi.com" \
-H "Content-Type: application/json" \
-d '{
"locations":[{ "lon": 77.2090, "lat": 28.6139 }],
"contours":[{"time": 15}, {"time": 30}, {"time": 45}],
"costing": "auto",
"polygons": true,
"generalize":50
}' Returns
GeoJSON MultiPolygon
Profiles
driving · walking · cycling
Contours
time or distance, up to 4
Response anatomy
Each contour is a GeoJSON MultiPolygon representing the exact area reachable from your origin within that threshold - not an approximation, not a radius.
{
"type": "FeatureCollection",
"features": [
// First contour - 15 minutes reachable area
{
"type": "Feature",
"properties": {
"contour": 15, // minutes
"metric": "time",
"area_km2": 48.3
},
"geometry": {
"type": "MultiPolygon",
"coordinates": [[[[77.18, 28.57], ...]]]
}
},
// Second contour - 30 minutes
// Third contour - 45 minutes
// ...each is a separate Feature
]
} features[].properties.contour number The threshold value for this contour - minutes if using contours_minutes, metres if using contours_meters. Use this to label zones in your UI (e.g. '30 min delivery zone').
features[].properties.area_km2 number Area of the reachable polygon in square kilometres. Useful for coverage reporting, SLA documentation, and comparing service areas across locations.
features[].geometry GeoJSON MultiPolygon The reachable area as a GeoJSON MultiPolygon. MultiPolygon (not Polygon) because road networks can produce disjoint reachable areas - e.g. across a river with few crossings.
features ordering ascending Features are returned in ascending contour order. The smallest threshold is first. Each polygon is independent - they are not nested rings. Render them with decreasing opacity for a heatmap-style visualisation.
features[].properties.metric string Either 'time' or 'distance' depending on which contour type you requested. Included so responses are self-describing when stored or passed to other systems.
Who uses it
An isochrone answers one of the most commercially valuable questions in spatial analytics: given a location and a time or distance budget, exactly where can you go? That question appears across logistics, real estate, emergency services, insurance, and urban planning.
The Farun Isochrone API uses road-network graph traversal not straight-line buffers, so the polygons reflect real-world driveable or walkable areas.
Logistics & Delivery
Calculate the true delivery zone from a warehouse or dark store. Show customers which postcodes fall within a 30-minute or 60-minute window. Update zones dynamically as you add or move distribution points.
Emergency Services
Map which areas fall within a 15-minute ambulance or fire response time from each station. Identify coverage gaps, model the impact of adding a new station, and generate compliance documentation for regulators.
Real Estate & PropTech
Show homebuyers which neighbourhoods are within a 20 or 40-minute drive of a given workplace. Layer isochrones over property listings to build commute-aware search tools that filter by real travel time.
Insurance & Risk
Calculate how many hospitals, fire stations, or repair centres are reachable within 30 minutes of an insured asset. Use reachability as a risk factor in underwriting models for property, fleet, and health insurance.
Retail & Site Selection
Define a store's trade area as the population reachable within 10, 20, and 30 minutes of driving. Compare catchment areas across candidate sites before committing to a lease. Layer demographic data on top for demand estimation.
Marine & Coastal
Plot which marinas or safe anchorages are reachable within a given time from a vessel's current position. Combine with the tide engine to factor in tidal windows for shallow-draft harbour entry.
Endpoint reference
https://api.farun.io/v1/routing/isochrone Request body (JSON)
locations
req
costing contours
req
costing_options polygons generalize denoise Response codes
200 application/json GeoJSON FeatureCollection with one Feature per contour threshold. 400 Bad request Invalid origin, conflicting contour params, or too many contour values. 401 Unauthorized Missing or invalid RapidAPI key. 422 Unroutable Origin coordinate could not be snapped to the road network. 429 Rate limited Exceeded plan request rate. Upgrade on RapidAPI. Integration example
const res = await fetch(
'https://api.farun.io/v1/routing/isochrone',
{
method: 'POST',
headers: {
'X-RapidAPI-Key': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
locations:[{ lon: 77.2090, lat: 28.6139 }],
contours:[{time: 15}, {time: 30}, {time: 45}],
costing: 'driving',
polygons: true,
generalize: 50
})
}
);
const geojson = await res.json();
// Add to MapLibre GL as a fill layer
map.addSource('isochrone', {
type: 'geojson',
data: geojson
});
map.addLayer({
id: 'isochrone-fill',
type: 'fill',
source: 'isochrone',
paint: {
'fill-color': '#ea580c',
'fill-opacity': 0.2
}
}); Method
POST
Body format
application/json
Contour types
time (minutes) or distance (metres)
Max contours
4 per request
Output
GeoJSON FeatureCollection
Geometry type
MultiPolygon or LineString
Navigation API family
Turn-by-turn routes between waypoints with full geometry and instructions.
Solve the Travelling Salesman Problem to find the most efficient stop order.
Compute many-to-many travel times and distances in a single batched request.
Generate reachability polygons based on travel time or physical distance.
Often used together
Once you know the reachable area, calculate the actual route to a specific destination within it.
Reorder stops within a delivery zone for minimum total travel time.
Render the isochrone polygon as a fill layer on top of your styled vector map.
Sample elevation along the isochrone boundary to understand terrain at the service edge.
Start building
The Starter plan on RapidAPI includes 100 isochrone requests per month at no cost. Enough to build and validate a full reachability integration before committing to Pro.