Route
plan_routesSplit up to 100 stops across up to 10 drivers from one depot, in the best order on real roads, with Google Maps links per driver.
Usual chain: geocode_batch (optional) → plan_routes → render_map (to keep the routes)
Coverage: Great Britain and the US on our roads; elsewhere straight-line estimates, labelled.
Basis: road drive times, normal traffic
depot
object · required
stops
array · up to 100
drivers
integer
return_to_depot
boolean
shift_hours
number
service_minutes
number
render
boolean
title
string
traffic
string
source
object
Split up to 100 stops across up to 10 drivers from one depot and put each driver's stops in the best order on real roads (Great Britain and US), within a shift length including time at each stop. Each driver gets google_maps_links: the day as chained Google Maps links of up to 9 stops each, every link starting where the last one ended (the Maps app takes about 10 stops a route), so a driver opens the first and then the next; plus google_maps_link_all_stops, one link with every stop, for a desktop browser. Stops that do not fit or cannot be reached come back in `unassigned` with the reason. A driver over the daily driving limits (EU/UK 9 hours, US 11) gets driving_limit_warning; low bridges under 4.6 m near a driver's road come back as low_bridges (advisory). The map with each driver's route shows in the chat by itself. Set render to true only when the user wants to keep or share the map: it returns a link, GeoJSON and KML, and update_map can change it later. A kept route map carries each driver's Google Maps links.
Captured from the live server on 2026-10-13, trimmed to the first rows.
Request
{
"depot": "Canning Town, London E16 1DQ",
"stops": [
{
"id": "0",
"address": "Stratford Station, London E15 1AZ"
},
{
"id": "1",
"address": "Hackney Central, London E8 1LL"
},
{
"id": "2",
"address": "Bethnal Green Road, London E2 6AH"
},
{
"id": "3",
"address": "Bow Road, London E3 4DH"
},
{
"id": "4",
"address": "Leyton High Road, London E10 5NA"
}
],
"drivers": 1
}The answer's first line
5 stops across 1 driver(s) · 1 of 5 high confidence (4 medium, 0 low). Caveats: street or named place (4 rows).
The answer (trimmed)
{
"confidence": {
"summary": "1 of 5 high confidence (4 medium, 0 low). Caveats: street or named place (4 rows).",
"levels": {
"high": 1,
"medium": 4,
"low": 0
},
"caveats": [
{
"basis": "named_place",
"level": "medium",
"rows": 4,
"ids": [
"4",
"1",
"2",
"… 1 more"
],
"meaning": "Placed on a street or a named place; no house number was given, so it is not a doorstep point.",
"next": "Fine for area questions. For doorstep precision, send a house number or coordinates."
}
]
},
"traffic": {
"model": "weekday",
"area": "Newham (local A roads)",
"note": "Weekday estimate: free-flow road times × 1.45 for short trips in Newham (local A roads), easing to × 1.21 on trips of an hour or more (DfT 2025 average delay on local 'A' roads and motorways)."
},
"depot": {
"address": "Canning Town, London E16 1DQ",
"lat": 51.5181741,
"lng": 0.0134976,
"confidence": {
"level": "medium",
"score": 0.65,
"basis": "postcode_centre",
"why": "at the centre of E16 1EW"
}
},
"options": {
"drivers": 1,
"returnToDepot": true,
"shiftHours": 8,
"serviceMinutes": 10
},
"estimated": false,
"drivers": [
{
"driver": 1,
"stops": [
{
"n": 1,
"id": "0",
"record_key": "rk1_ab3e99364e6ccdf1b263",
"address": "Stratford Station, London E15 1AZ",
"lat": 51.5418028,
"lng": -0.0025686,
"arrive_minutes": 12,
"confidence": {
"level": "high",
"score": 0.95,
"basis": "exact_building"
}
},
{
"n": 2,
"id": "4",
"record_key": "rk1_79d1fef46539228c1969",
"address": "Leyton High Road, London E10 5NA",
"lat": 51.5608896,
"lng": -0.0098956,
"arrive_minutes": 29,
"confidence": {
"level": "medium",
"score": 0.7,
"basis": "named_place"
}
},
{
"n": 3,
"id": "1",
"record_key": "rk1_6d6e0e9df6e5d864f97f",
"address": "Hackney Central, London E8 1LL",
"lat": 51.5470605,
"lng": -0.0568749,
"arrive_minutes": 52,
"confidence": {
"level": "medium",
"score": 0.7,
"basis": "named_place"
}
},
"… 2 more"
],
"drive_minutes": 61,
"work_minutes": 111,
"miles": 14.2,
"google_maps_links": [
{
"label": "Stops 1–5, then back to the depot",
"url": "https://www.google.com/maps/dir/Canning%20Town%2C%20London%20E16%201DQ/Stratford%20Station%2C%20London%20E15%201AZ/Leyton%20High%20Road%2C%20London%20E10%205NA/Hackney%20Central%2C%20London%20E8%201LL/Bethnal%20Green%20Road%2C%20London%20E2%206AH/Bow%20Road%2C%20London%20E3%204DH/Canning%20Town%2C%20London%20E16%201DQ"
}
],
"google_maps_link_all_stops": "https://www.google.com/maps/dir/Canning%20Town%2C%20London%20E16%201DQ/Stratford%20Station%2C%20London%20E15%201AZ/Leyton%20High%20Road%2C%20London%20E10%205NA/Hackney%20Central%2C%20London%20E8%201LL/Bethnal%20Green%20Road%2C%20London%20E2%206AH/Bow%20Road%2C%20London%20E3%204DH/Canning%20Town%2C%20London%20E16%201DQ"
}
],
"unassigned": [],
"run": {
"tool": "plan_routes",
"at": "2026-10-13T15:59:26.020Z",
"rows": 5,
"routed": 5,
"unassigned": 0,
"sources": [
{
"name": "InstaMaps roads: OpenStreetMap routed with Valhalla (GB and US)",
"as_of": "2026-10-08"
},
{
"name": "InstaMaps address index (OpenStreetMap, OpenAddresses) and postcodes.io",
"as_of": "2026-10-08"
}
],
"basis": "road drive times, normal traffic",
"run_id": "run_184817a78044ee43",
"confidence": {
"high": 1,
"medium": 4,
"low": 0
}
}
}Use it in Claude
Add the connector https://get-instamaps.com/mcp and ask in plain words. 5,000 tool calls a day per person, reset at midnight UTC; a call counts once however many rows it carries; a sheet by reference is one call; checking a job is free.