Skip to content

Travel-time contours from a block or point

GET
/v1/isochrone

Travel-time contours around a census block (by GEOID) or a lat/lon point. Supply block XOR lon+lat, and minutes XOR contours (up to 4 ascending levels). format=geojson returns contour polygons (largest first); format=blocks returns the reachable blocks with their travel minutes. Metered at 10 tokens per contour level with a ck_ key; unmetered for a Close+ member mt_ bearer.

block
Any of:
string

15-digit census block GEOID

lon
Any of:
number

Longitude (WGS84)

lat
Any of:
number

Latitude (WGS84)

mode
Mode

Walk | bike | transit

string
default: walk

Walk | bike | transit

direction
Direction

To | from

string
default: to

To | from

minutes
Any of:
integer

Single threshold, 1-60

contours
Any of:
string

Up to 4 ascending thresholds, e.g. 15,30,45

format
Format

Geojson | blocks

string
default: geojson

Geojson | blocks

v
Any of:
string

Opaque CDN cache-buster; echoed

Successful Response

Any of:
IsochroneGeoJSON

GET /v1/isochrone?format=geojson (routers.isochrone._geojson_body). Features are ordered largest contour first (painter’s order).

object
assumptions
required
IsochroneAssumptions

Routing assumptions echoed from the store. Keys are store-defined; the current set is listed but extra keys are allowed. (routers.isochrone._assumptions)

object
max_trip_duration_min
Any of:
integer
transit_departure
Any of:
string
transit_percentile
Any of:
integer
transit_window_min
Any of:
integer
key
additional properties
any
block
required
Block

15-digit origin/destination block GEOID

string
direction
required
Direction

‘to’ or ‘from’

string
features
required
Features
Array<object>
IsochroneFeature
object
geometry
Any of:
object
key
additional properties
any
properties
required
IsochroneFeatureProperties
object
contour
required
Contour

Contour level in minutes

integer
mode
required
Mode
string
reachable_blocks
required
Reachable Blocks
integer
type
required
Type
string
mode
required
Mode
string
type
required
Type
string
v
Any of:
string
version
required
Version

Store version key

string
Example
{
"assumptions": {
"max_trip_duration_min": 60,
"transit_departure": "2026-07-15T08:00:00",
"transit_percentile": 10,
"transit_window_min": 60
},
"block": "410390020001010",
"direction": "to",
"features": [
{
"geometry": {
"coordinates": [
[
[
-123.1,
44
],
[
-123,
44
],
[
-123,
44.1
],
[
-123.1,
44
]
]
],
"type": "Polygon"
},
"properties": {
"contour": 30,
"mode": "walk",
"reachable_blocks": 128
},
"type": "Feature"
}
],
"mode": "walk",
"type": "FeatureCollection",
"version": "rn1_tn34"
}

Not modified (If-None-Match matched the ETag); no body, no tokens charged

Invalid request (e.g. invalid-parameters, invalid-cursor, invalid-bbox, missing-location, missing-area, invalid-geometry, polygon-too-complex, missing-origins, too-many-origins)

ValidationProblem

400 invalid-parameters, carrying the offending fields. (core.problems, RequestValidationError handler)

object
detail
Any of:
string
errors
Any of:
Array<object>
ValidationErrorItem
object
loc
required
Loc
Array
msg
required
Msg
string
type
required
Type
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any

Missing or invalid API key (missing-key, invalid-key)

Problem

RFC 9457 problem detail. Served as application/problem+json. Additional members appear for some problem types (e.g. errors). (core.problems.problem)

object
detail
Any of:
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any

Key disabled (account-disabled)

Problem

RFC 9457 problem detail. Served as application/problem+json. Additional members appear for some problem types (e.g. errors). (core.problems.problem)

object
detail
Any of:
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any

Resource not found (block-not-found, poi-not-found, place-not-found, point-not-covered, no-isochrone-data, direction-not-available)

Problem

RFC 9457 problem detail. Served as application/problem+json. Additional members appear for some problem types (e.g. errors). (core.problems.problem)

object
detail
Any of:
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any

Rate limited or token balance exhausted (rate-limited, tokens-exhausted); sets Retry-After

Problem

RFC 9457 problem detail. Served as application/problem+json. Additional members appear for some problem types (e.g. errors). (core.problems.problem)

object
detail
Any of:
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any

Backend temporarily unavailable (debit-unavailable, store-unavailable); may set Retry-After

Problem

RFC 9457 problem detail. Served as application/problem+json. Additional members appear for some problem types (e.g. errors). (core.problems.problem)

object
detail
Any of:
string
status
required
Status
integer
title
required
Title
string
type
required
Type

Problem type URI; the final path segment is the stable slug

string
key
additional properties
any