Skip to main content
POST
/
v1
/
routing
/
isochrone
Isochrone
curl --request POST \
  --url https://api.bookovia.com/v1/routing/isochrone \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "locations": [
    {
      "lat": 123,
      "lon": 123
    }
  ],
  "costing": "<string>",
  "contours": [
    {
      "time": 123,
      "distance": 123,
      "color": "<string>"
    }
  ],
  "polygons": true,
  "denoise": 123,
  "generalize": 123
}
'

Documentation Index

Fetch the complete documentation index at: https://docs.bookovia.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

The Isochrone endpoint calculates geographic areas that can be reached from a starting point within specified time or distance intervals. This creates “drive-time” or “walk-time” polygons useful for service area analysis, real estate market research, and emergency response planning.
Isochrones account for actual road networks, traffic patterns, and routing restrictions—not just circular buffers.

Authentication

This endpoint requires authentication via API key in the X-API-Key header. Required permissions: routing:read

Request

locations
array
required
Starting location(s) for isochrone calculation (typically 1 location)
costing
string
required
Transportation modeOptions: auto, bicycle, pedestrian, truck
contours
array
required
Array of time or distance contours to calculate
polygons
boolean
Return polygons instead of linesDefault: true
denoise
number
Remove small disconnected polygons (0.0-1.0, where 1.0 removes most)Default: 0.0
generalize
number
Simplify polygon geometry (meters tolerance)Default: 50

Request Example

curl -X POST https://api.bookovia.com/v1/routing/isochrone \
  -H "X-API-Key: bkv_test_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "locations": [{"lat": 40.7128, "lon": -74.0060}],
    "costing": "auto",
    "contours": [
      {"time": 5, "color": "00ff00"},
      {"time": 10, "color": "ffff00"},
      {"time": 15, "color": "ff0000"}
    ],
    "polygons": true,
    "denoise": 0.3,
    "generalize": 50
  }'

Response

Returns GeoJSON FeatureCollection with polygon or linestring geometries.

Response Example

{
  "success": true,
  "data": {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [[[[-74.02, 40.71], [-74.01, 40.72], ...]]]
        },
        "properties": {
          "contour": 0,
          "metric": "time",
          "value": 5,
          "color": "00ff00"
        }
      },
      {
        "type": "Feature",
        "geometry": {
          "type": "MultiPolygon",
          "coordinates": [[[...]]]
        },
        "properties": {
          "contour": 1,
          "metric": "time",
          "value": 10,
          "color": "ffff00"
        }
      }
    ]
  }
}

Use Cases

Show customers the delivery or service coverage area. Visualize “we deliver within 30 minutes” on a map.
Analyze commute times from properties. Show “homes within 20 minutes of downtown” for real estate searches.
Calculate ambulance/fire response areas. Ensure 5-minute coverage for urban areas, 10-minute for suburban.
Evaluate store locations based on population reachable. Optimize new store placement to maximize market coverage.