← All tools

Measure

Road distance and drive time for journeys

get_road_distances

Road distance and drive time for each from–to journey, on our own road network, with typical weekday traffic.

Read-onlySheets, files and runs by referenceBackground jobs for big lists

Use it when

  • ✓ Mileage claims and expense checks
  • ✓ Depot-to-customer drive times
  • ✓ Comparing journeys where straight-line distance would mislead

Not for

Coverage: Great Britain and the US by road; elsewhere straight line, labelled as such.

Sources

  • InstaMaps roads: OpenStreetMap routed with Valhalla (GB and US) (2026-10-08)
  • InstaMaps address index (OpenStreetMap, OpenAddresses) and postcodes.io (2026-10-08)

Basis: road distance and drive time, normal traffic; straight line where a journey says so

Inputs

journeys

array · up to 100

{id, from, to}; from/to are text (address, postcode) or {lat, lng}.

region

string

Optional; worked out from the postcodes when left out. One of: uk · us

background

boolean

With source: run as a background job and answer at once with job_id (automatic past 100 rows). Check with get_job; write_to_sheet with the job_id puts the results in the sheet as they finish.

traffic

string

weekday (default): road times with the area's measured weekday slowdown (DfT delay on local 'A' roads by council and on motorways in Great Britain; the Urban Mobility Report's Travel Time Index by US urban area). free_flow: empty roads. One of: weekday · free_flowDefault: "weekday"

source

object

Instead of typing rows: { sheet: "<Google Sheets link>", tab?: "Sites" } (shared with the InstaMaps service account, or viewable by anyone with the link), { file: "<Drive link to a CSV or Excel file>" }, or { run: "<run_id from an earlier answer>" }. Columns are found by their headers (id, name, address or its parts, lat/lng); name them if they aren't obvious (id_column, address_column, lat_column, lng_column; from_column and to_column for road distances). Rows with coordinates are used as they are.
The full description, as the server gives it to an agent

Road miles, km and drive time for up to 100 journeys per call, on our own routing (Great Britain and US roads, normal traffic, no live traffic). Ends can be addresses, UK postcodes or districts (CO10), US addresses, or lat/lng. Every journey also gets the straight-line miles; a journey with no road route (Northern Ireland, an island without a bridge) is measured in a straight line and says so in `note`. The summary has the total road miles (for mileage claims) and the total with straight-line journeys included.

A real answer

Captured from the live server on 2026-10-13, trimmed to the first rows.

Request

{
  "journeys": [
    {
      "id": "1",
      "from": "Leeds LS1 4AP",
      "to": "York YO1 7HH"
    },
    {
      "id": "2",
      "from": "Austin TX 78701",
      "to": "Dallas TX 75201"
    }
  ]
}

The answer's first line

2 journeys: 2 by road (228.3 road miles) · 0 of 2 high confidence (2 medium, 0 low). Caveats: postcode centre (2 rows); street or named place (1 row).

The answer (trimmed)

{
  "confidence": {
    "summary": "0 of 2 high confidence (2 medium, 0 low). Caveats: postcode centre (2 rows); street or named place (1 row).",
    "levels": {
      "high": 0,
      "medium": 2,
      "low": 0
    },
    "caveats": [
      {
        "basis": "postcode_centre",
        "level": "medium",
        "rows": 2,
        "ids": [
          "1",
          "2"
        ],
        "meaning": "The street address was not matched, so the row sits at its postcode centre, usually within 100-300 m of the real spot.",
        "next": "Fine for nearest-place questions and distances over a kilometre; check it before relying on street-level detail."
      },
      {
        "basis": "named_place",
        "level": "medium",
        "rows": 1,
        "ids": [
          "1"
        ],
        "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."
      }
    ]
  },
  "region": "uk",
  "engine": "owned",
  "traffic": {
    "model": "weekday",
    "note": "drive_minutes are weekday estimates: free-flow road time × the measured slowdown where each trip starts (free_flow_minutes and traffic_factor per journey). Weekday estimate: free-flow road times × 1.41 for short trips in Leeds (local A roads), easing to × 1.21 on trips of an hour or more (DfT 2025 average delay on local 'A' roads and motorways)."
  },
  "summary": {
    "journeys": 2,
    "by_road": 2,
    "straight_line_only": 0,
    "not_found": 0,
    "total_road_miles": 228.3,
    "total_miles": 228.3
  },
  "journeys": [
    {
      "id": "1",
      "from": "Leeds LS1 4AP",
      "to": "York YO1 7HH",
      "from_key": "rk1_5fac800fc81c4adfc5dc",
      "to_key": "rk1_d1ee5931d1454ef356c3",
      "ok": true,
      "road_miles": 31.6,
      "road_km": 50.8,
      "drive_minutes": 46,
      "free_flow_minutes": 35,
      "traffic_factor": 1.32,
      "straight_miles": 22.5,
      "note": null,
      "confidence": {
        "level": "medium",
        "score": 0.65,
        "basis": "postcode_centre",
        "why": "at the centre of LS1 4AP",
        "also": [
          "named_place"
        ]
      }
    },
    {
      "id": "2",
      "from": "Austin TX 78701",
      "to": "Dallas TX 75201",
      "from_key": "rk1_04eee8f4823eb361af87",
      "to_key": "rk1_0b07c9b29d3f2465f7a7",
      "ok": true,
      "road_miles": 196.7,
      "road_km": 316.5,
      "drive_minutes": 197,
      "free_flow_minutes": 168,
      "traffic_factor": 1.17,
      "straight_miles": 182.5,
      "note": null,
      "confidence": {
        "level": "medium",
        "score": 0.65,
        "basis": "postcode_centre",
        "why": "the centre of ZIP 78701"
      }
    }
  ],
  "run": {
    "tool": "get_road_distances",
    "at": "2026-10-13T15:59:17.217Z",
    "rows": 2,
    "answered": 2,
    "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 distance and drive time, normal traffic; straight line where a journey says so",
    "run_id": "run_332ad58746be4309",
    "confidence": {
      "high": 0,
      "medium": 2,
      "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.

How to add it →