ToolAssay

Point-to-point directions between 2-10 stops by car, bike, or on foot

Point-to-point directions between 2-10 stops by car, bike, or on foot: total and per-leg distance and travel time, plus route geometry as an encoded polyline. Stops can be place names (geocoded automatically) or lat/lon coordinates. Generic travel and delivery routing on OpenStreetMap road data, global coverage. POST a JSON body like: {"stops":["paris","lyon"],"mode":"car"}

Answeringour last check, 2026-09-24
1 of 1checks answered this week
51 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://keyronne.com/api/route

CategoryEverything else
Provider hostkeyronne.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days6 from 3 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-24 valid payment request 402$0.01 51 ms

Example input (from the provider)

{
  "body": {
    "mode": "car",
    "stops": [
      "paris",
      "lyon"
    ]
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "properties": {
        "body": {
          "properties": {
            "mode": {
              "default": "car",
              "enum": [
                "car",
                "bike",
                "foot"
              ],
              "type": "string"
            },
            "stops": {
              "description": "Places to visit in order: name strings or {lat, lon} objects.",
              "items": {},
              "maxItems": 10,
              "minItems": 2,
              "type": "array"
            }
          },
          "required": [
            "stops"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "type": "object"
    },
    "output": {
      "properties": {
        "attribution": {
          "type": "string"
        },
        "distanceKm": {
          "type": "number"
        },
        "durationMinutes": {
          "type": "number"
        },
        "geometryPolyline": {
          "type": "string"
        },
        "legs": {
          "items": {
            "properties": {
              "distanceKm": {
                "type": "number"
              },
              "durationMinutes": {
                "type": "number"
              },
              "from": {
                "type": "integer"
              },
              "to": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "mode": {
          "type": "string"
        },
        "stops": {
          "items": {
            "properties": {
              "lat": {
                "type": "number"
              },
              "lon": {
                "type": "number"
              },
              "name": {
                "type": "string"
              },
              "snappedName": {
                "description": "Road the stop snapped to.",
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON