open-distance

Commercial APIs are excellent — they're the gold standard for live traffic, rendered maps, and the long tail of edge cases. open-distance doesn't try to compete on quality. It's just free.

Use it as your first layer: try our distance matrix first, cache the result. If the per-endpoint confidence (rooftop / interpolated) is good enough for your use case, you're done. If you need traffic-aware routing or the geocode came back low-confidence, fall back to a paid API for those queries only. Most applications need the premium answer for less than 100% of their requests.

Raw JSON response

(submit to see)

How to call from your code

GET https://open-distance.com/maps/api/distancematrix/json
    ?origins=A|B
    &destinations=C|D
    &units=imperial

Response is byte-compatible with Google's legacy Distance Matrix JSON, plus origin_matches and destination_matches arrays that surface the confidence per endpoint.

Why this exists

Distance and duration are useful in lots of applications that don't strictly need a commercial mapping API: commute comparison, route screening, simple "how far is X from Y" heuristics, batch ETAs from a warehouse to a list of stops. Commercial APIs make these queries straightforward but pricing per-call adds up fast, especially at volume. open-distance gives you the same wire format from open data, free, with no key — so you can cache the result and use a premium API only for the subset of queries that actually need traffic-aware or premium answers.

Honest accuracy

We're built on OpenStreetMap road geometry, NAD + OpenAddresses for addresses, TIGER for street-range interpolation. Free-flow durations only (no live traffic). For typical metro and inter-city routes:

What this is, and what it isn't

Goals

Non-goals