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.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”Walk | bike | transit
Walk | bike | transit
To | from
To | from
Geojson | blocks
Geojson | blocks
Responses
Section titled “Responses”Successful Response
GET /v1/isochrone?format=geojson (routers.isochrone._geojson_body). Features are ordered largest contour first (painter’s order).
object
Routing assumptions echoed from the store. Keys are store-defined; the current set is listed but extra keys are allowed. (routers.isochrone._assumptions)
15-digit origin/destination block GEOID
‘to’ or ‘from’
Store version key
GET /v1/isochrone?format=blocks (routers.isochrone._blocks_body).
object
Routing assumptions echoed from the store. Keys are store-defined; the current set is listed but extra keys are allowed. (routers.isochrone._assumptions)
object
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)
400 invalid-parameters, carrying the offending fields. (core.problems, RequestValidationError handler)
object
object
Problem type URI; the final path segment is the stable slug
Missing or invalid API key (missing-key, invalid-key)
RFC 9457 problem detail. Served as application/problem+json. Additional
members appear for some problem types (e.g. errors). (core.problems.problem)
Key disabled (account-disabled)
RFC 9457 problem detail. Served as application/problem+json. Additional
members appear for some problem types (e.g. errors). (core.problems.problem)
Resource not found (block-not-found, poi-not-found, place-not-found, point-not-covered, no-isochrone-data, direction-not-available)
RFC 9457 problem detail. Served as application/problem+json. Additional
members appear for some problem types (e.g. errors). (core.problems.problem)
Rate limited or token balance exhausted (rate-limited, tokens-exhausted); sets Retry-After
RFC 9457 problem detail. Served as application/problem+json. Additional
members appear for some problem types (e.g. errors). (core.problems.problem)
Backend temporarily unavailable (debit-unavailable, store-unavailable); may set Retry-After
RFC 9457 problem detail. Served as application/problem+json. Additional
members appear for some problem types (e.g. errors). (core.problems.problem)