Built to be the thing you forget about.
Triple-redundant OSRM instances per region, hot failover under 200ms, monthly uptime reports audited by an external probe. When your pager goes off at 3am, it will not be us.
A turn-by-turn directions API built on OSRM. Sub-second responses, 99.98% uptime, 222 countries. The shortest path between two points — engineered for production.
Type a start and an end. Nominatim resolves the names to coordinates, OSRM computes the driving route, and the map draws it in real time. Drag the markers to reroute. This is the same engine your production traffic hits.
Triple-redundant OSRM instances per region, hot failover under 200ms, monthly uptime reports audited by an external probe. When your pager goes off at 3am, it will not be us.
OSRM running on bare-metal in seven regions, OSM data refreshed every 48 hours, multi-layer caching for repeat queries. p99 under 800ms — including geocoding.
Driving, cycling, walking, and truck profiles. We ingest the full OpenStreetMap planet file every 48 hours and serve every country with the same low latency — no surcharges for "remote" regions.
Per-route pricing that drops with volume. No setup fees, no minimum commit, no surcharge for "premium" features. The free tier covers 5,000 routes a month — enough to prototype, enough to launch.
RESTful JSON API over HTTPS. One endpoint for routing, one for geocoding, one for matrix. No SDK required — but we ship them anyway for JavaScript, Python, Go, and Ruby.
# Calculate a driving route from Paris to Berlin curl "https://api.meridian-routing.com/v1/route" \ -H "Authorization: Bearer $MERIDIAN_KEY" \ -d 'coordinates=2.3522,48.8566;13.4050,52.5200' \ -d 'profile=driving' \ -d 'steps=true' \ -d 'overview=full' \ -d 'geometries=geojson'
// npm install @meridian/routing import { Meridian } from '@meridian/routing'; const client = new Meridian({ apiKey: process.env.MERIDIAN_KEY }); const route = await client.route({ coordinates: [[2.3522, 48.8566], [13.4050, 52.5200]], profile: 'driving', steps: true, geometries: 'geojson' }); console.log(route.routes[0].distance); // meters console.log(route.routes[0].duration); // seconds
# pip install meridian-routing from meridian import Meridian client = Meridian(api_key=os.environ["MERIDIAN_KEY"]) route = client.route( coordinates=[(2.3522, 48.8566), (13.4050, 52.5200)], profile="driving", steps=True, geometries="geojson", ) print(route.routes[0].distance) # meters print(route.routes[0].duration) # seconds
{
"code": "Ok",
"routes": [
{
"geometry": { "type": "LineString", "coordinates": [...] },
"distance": 1054320.8,
"duration": 37642.2,
"legs": [
{
"distance": 1054320.8,
"duration": 37642.2,
"steps": [
{
"maneuver": { "type": "depart", "location": [2.3522, 48.8566] },
"name": "Rue de Rivoli",
"mode": "driving",
"distance": 320.4,
"duration": 48.2
},
...
]
}
]
}
],
"waypoints": [
{ "name": "Paris, France", "location": [2.3522, 48.8566] },
{ "name": "Berlin, Germany", "location": [13.4050, 52.5200] }
]
}
No setup fees, no minimum commit, no surcharge for premium features. The free tier is enough to launch. The Pro tier is enough to scale. The Fleet tier is enough to run a logistics company.
For prototypes, side projects, and learning the API.
For production apps and growing fleets.
For logistics platforms with global traffic.
Sign up, grab an API key, and the free tier covers 5,000 routes a month. No credit card, no sales call, no friction.