- If you don’t already have a TravelTime API key, then you can get a free key by creating an account here
- Once you’ve verified your email and logged in, you’ll land on your new TravelTime account dashboard
- Here you can find your API credentials that you will need to use when making any requests to the TravelTime API
- Generating an Isochrone requires a single POST request
- The required parameters are:
- ID - a unique identifier for the isochrone used as a reference in the subsequent API response
- Latitude and longitude coordinates - these set the departure or arrival location
- Transportation type - the most popular are ‘driving’, ‘public_transport’, ‘walking’, and ‘cycling’, but a full list can be found here
- Departure or Arrival time - this must be in extended ISO-8601 format, for example 2021-09-27T08:00:00Z
- Travel time - the maximum journey time in seconds
- As a simple JSON request body, this looks like the following example:
{
"departure_searches": [
{
"id": "My first isochrone",
"coords": {
"lat": 51.507609,
"lng": -0.128315
},
"departure_time": "2021-09-27T08:00:00Z",
"travel_time": 3600,
"transportation": {
"type": "driving"
}
}
]
}
- To make the request, copy the following Curl request
curl -X POST https://api.traveltimeapp.com/v4/time-map \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'X-Application-Id: YOUR_APP_ID' \
-H 'X-Api-Key: YOUR_APP_KEY' \
-d '{
"departure_searches": [
{
"id": "My first isochrone",
"coords": {
"lat": 51.507609,
"lng": -0.128315
},
"departure_time": "2021-09-27T08:00:00Z",
"travel_time": 3600,
"transportation": {
"type": "driving"
}
}
]}'
Note: you’ll need to enter your own Application ID and API Key in place of the placeholders
- A full list of available parameters, including optional ones, can be found here
- A successful request will return a response that includes:
- The ID of the search
- ‘Shells’ - these are the areas covered by the isochrone
- ‘Holes’ - these are areas within specific shells that are not covered by the isochrone
{
"results": [
{
"search_id": "My first isochrone",
"shapes": [
{
"shell": [
{
"lat": 51.48696930248525,
"lng": -0.31584515200982954
},
{
"lat": 51.48696930248525,
"lng": -0.31630523234778996
},
...
{
"lat": 51.48696930248525,
"lng": -0.31584515200982954
}
],
"holes": []
},
{
"shell": [
{
"lat": 51.465109890241166,
"lng": -0.3025028222089773
},
{
"lat": 51.46525370216383,
"lng": -0.3027328623779575
},
...
{
"lat": 51.465109890241166,
"lng": -0.3020427418710169
},
{
"lat": 51.465109890241166,
"lng": -0.3025028222089773
}
],
"holes": []
},
{
"shell": [
{
"lat": 51.465109890241166,
"lng": -0.2472931816537267
},
{
"lat": 51.46525370216383,
"lng": -0.24752322182270692
},
...
{
"lat": 51.465109890241166,
"lng": -0.2472931816537267
}
],
"holes": []
}
],
"properties": {}
}
]
}
- Note that the returned isochrone is often a multi-polygon, with multiple unconnected Shells
- An unsuccessful request will return an error message
- For example, if invalid API credentials are used, the following error is returned
{
"http_status": 401,
"error_code": 10,
"description": "Application Id or Api Key is invalid",
"documentation_link": "http://docs.traveltimeplatform.com/reference/error-codes",
"additional_info": {}
}
- A full list of error codes can be found here