Skip to content
Isochrone API

Isochrone API

The Isochrone API calculates the area you can reach from a point within a given travel time. The result is a polygon you can display on a map.

This is useful for showing delivery zones, service areas, or commute ranges.

Base URL

https://routing.maptoolkit.net/isochrone

Authentication

Add your API key as ?api_key=YOUR_API_KEY to every request. See Authentication for details.

Parameters

ParameterTypeRequiredDescription
pointlat,lngYesThe starting point.
timenumberYesTravel time in minutes.
routeTypestringYesVehicle type: car, bike, foot, or transit. Transit is available only in NRW, Germany.
formatstringNoSet to geojson to get a GeoJSON geometry object. Required for transit isochrones.
departuredate stringNoDeparture time for transit routing.

Response

An array of [lat, lng] coordinate pairs that form a polygon.

GET https://routing.maptoolkit.net/isochrone?point=47.268,11.400&time=10&routeType=bike&api_key=YOUR_API_KEY

This is a response to the HTTP GET request shown above:

[
  [
    47.27599805,
    11.39406835
  ],
  [
    47.27524085,
    11.3925068
  ],
  [
    47.2742211,
    11.3920193
  ],
  [
    47.2732573,
    11.3914051
  ],
  ...
]

GeoJSON Response

If you set the URL parameter format=geojson the response is a GeoJSON Feature, not a bare geometry:

{
  "type": "Feature",
  "geometry": {
    "type": "Polygon",
    "coordinates": [[[11.38381165, 47.26794595], [11.38252845, 47.26719565], ...]]
  },
  "properties": {
    "bucket": 0
  }
}

Two things follow from that. A MapLibre geojson source accepts the response as-is, because a Feature is valid GeoJSON on its own. Anything that expects a geometry has to read response.geometry rather than the response itself.

FieldDescription
typeAlways Feature.
geometryA Polygon whose coordinates are [lng, lat].
properties.bucketIndex of the band this polygon belongs to, counting from 0. A single-time request always returns 0.

Note: The coordinate order differs between the two response shapes. The GeoJSON geometry uses [lng, lat], the standard array response uses [lat, lng].

Examples

Working examples for this API, each with copyable source:

Errors

Errors return the HTTP status code with a plain-text message in the body.

StatusMeaning
403The API key is missing (Access denied!) or not recognized (Api-key not found!). See First Steps.
400A parameter failed validation, or the routing engine rejected the request.

Common 400 messages

MessageCause
Missing required parameter: pointpoint is missing or empty.
Parameter 'time' must be a positive numbertime is not a positive number.
Parameter 'time' must not exceed 60 minutestime is above the 60 minute maximum.
Cannot parse departure time!departure is not a valid date string.
format=geojson is mandatory on isochrone request for transit!routeType=transit requires format=geojson.

Errors from the upstream routing engine are forwarded as-is.

Rate limits

Limits are monthly request quotas tied to your plan rather than a per-second rate: the service returns no RateLimit-* or Retry-After headers. Current allowances are on the pricing page.

The free Basic plan has a hard limit, so requests are refused once it is reached. On Pro and Ultra, requests past the allowance are billed rather than refused. Enterprise plans use a flexible limit.

Calls to this API count toward your plan’s API request allowance, which is the smaller of the two allowances.

Pricing

Self-service plans (Basic, Pro, and Ultra) are billed through RapidAPI; see RapidAPI for how to subscribe and authenticate. Plan limits and prices are listed on the Maptoolkit pricing page. Enterprise customers call the native hosts directly with a Maptoolkit API key.