The Appointment Feasibility API answers one question booking software can't get from a maps provider: which appointment slots can a technician actually reach? Send the day's existing jobs, a time window, and the new job's location — it returns only the start times that work, accounting for real road-network drive times, travel buffers, and an optional home base. Full-US coverage on monthly-refreshed OpenStreetMap data.
One POST with the schedule as it stands; the response is the bookable truth — no slot is returned unless the tech can finish the previous job, drive over, do this job, and reach the next one:
POST /stl-api/v1/drivetime/feasibility
{"job": {"lat": 38.88, "lon": -94.81},
"window_start": "2026-07-14T08:00:00-05:00",
"window_end": "2026-07-14T18:00:00-05:00",
"duration_minutes": 90,
"appointments": [{"start": "…", "end": "…", "lat": 39.0, "lon": -94.6}],
"home_base": {"lat": 38.9, "lon": -94.7}}
{"feasible_slots": [{"start": "…", "end": "…",
"drive_in_seconds": 1140, "drive_out_seconds": 1260, …}], "count": 6}
This is the engine behind "don't book a 2pm in Olathe when the tech is in Lee's Summit until 1:45" — as an API, without building the gap-and-buffer math yourself.
Use them — if raw travel times are all you need; their free tiers are generous. They sell elements; you still own the hard part: turning travel times into bookable slots around a live schedule. This API sells the finished decision. Two more differences that matter in production: a monthly hard spending cap (Google and Mapbox bill uncapped — alerts, not stops), and the same key doubles as an MCP server so AI agents get these as native tools.
The supporting utility, when you do want a raw answer:
curl -s https://api.composedchaos.net/stl-api/v1/drivetime/route \
-H "X-API-Key: $KEY" -H 'Content-Type: application/json' \
-d '{"origin":{"lat":39.0997,"lon":-94.5786},
"destination":{"lat":38.9884,"lon":-94.6708}}'
{"seconds": 1500, "meters": 18227, "source": "valhalla"}
Can AI agents use it? Yes — the same key is the bearer token for an
MCP server (official registry: net.composedchaos/speed-to-lead); Claude and
any MCP-capable agent get feasibility, drive time, service-area verdicts, lead parsing,
and a lead store as native tools with one config block.
Coverage? Full United States, monthly-refreshed OpenStreetMap.
Rate limits? 60 drive-time queries/min, published in the
API reference, with 429 + Retry-After
past them. Your live usage and caps are always visible at GET /v1/metrics.
Full reference: api.composedchaos.net/docs