Ask anyone who has operated OSRM in production and they will tell you the same thing: the routing engine is excellent, but running the infrastructure behind it is not trivial.
A global OpenStreetMap graph can require serious hardware and long preprocessing times. Even a Southeast Asia extract — the region many applications actually need — still means managing large map files, running osrm-extract and osrm-contract, monitoring memory usage, and rebuilding everything whenever OpenStreetMap data changes.
The hidden cost is not only the server.
Someone has to maintain the pipeline:
- download updated OSM extracts
- rebuild routing graphs
- monitor failed preprocessing jobs
- keep production instances healthy
- remember how everything works months later
For many teams, routing is not the product. It is just a capability inside a logistics app, delivery platform, marketplace, or AI agent.
You need routes. You do not want to become a routing infrastructure company.
The alternative: managed routing infrastructure
JustRouting is a hosted routing API focused on Southeast Asia.
Instead of running your own routing stack, you get ready-to-use APIs for:
- directions
- distance matrices
- map matching
- nearest-road lookup
- geocoding
- fleet optimization
The underlying routing engines are powered by open-source technology, but the infrastructure work — servers, preprocessing, updates, and operations — is handled for you.
The important parts:
- Driving and motorcycle profiles. Motorcycle routing matters in Southeast Asia, where two-wheel delivery and transportation are everywhere.
- A simple REST API. Use it from any language with JSON requests.
- Official SDKs for Python, JavaScript/TypeScript, and Go.
- A free tier for experiments and small projects. No credit card required.
Five lines of Python
import justrouting
client = justrouting.Client("YOUR_API_KEY")
route = client.routes.get(justrouting.RouteRequest(
origin=[106.8146, -6.1352], # Jakarta Kota
destination=[107.6191, -6.9175], # Bandung
))
print(f"{route.distance / 1000:.1f} km, {route.duration / 60:.0f} min")
Need a motorcycle route?
route = client.routes.get(justrouting.RouteRequest(
origin=[106.8146, -6.1352],
destination=[107.6191, -6.9175],
profile="motorcycle",
))
Distance matrices are also available:
matrix = client.matrix.get(justrouting.MatrixRequest(
coordinates=[depot, stop_a, stop_b],
sources=[0],
destinations=[1, 2],
))
You can request only the rows and columns you need instead of calculating a full N×N matrix.
For delivery fleets, use optimization:
plan = client.optimization.solve(justrouting.OptimizationRequest(
vehicles=[
justrouting.Vehicle(
id=1,
start=[106.8146, -6.1352],
end=[106.8146, -6.1352],
)
],
jobs=[
justrouting.Job(
id=101,
location=[106.8451, -6.2146],
)
],
))
The API returns the optimized sequence for each vehicle.
The same routing capability from Node.js
import { Client } from '@justrouting/client';
const client = new Client('YOUR_API_KEY');
const route = await client.routes.get({
origin: [106.8146, -6.1352],
destination: [107.6191, -6.9175],
});
console.log(`${(route.distance / 1000).toFixed(1)} km`);
Both SDKs are lightweight and dependency-free.
Routing for AI agents: introducing MCP
Traditional applications call routing APIs directly:
Application → Routing API → Route result
But AI applications work differently.
An AI agent needs tools it can discover and call dynamically:
AI Agent → Tools → Routing capability
This is where the Model Context Protocol (MCP) becomes interesting.
Instead of writing custom glue code that converts addresses into coordinates, calls geocoding, builds matrices, and parses routing responses, an MCP-compatible agent can use routing as a native capability.
JustRouting provides an official MCP server.
Install it:
curl -fsSL https://raw.githubusercontent.com/justrouting/mcp/main/install.sh | sh
Configure your MCP client:
{
"mcpServers": {
"justrouting": {
"command": "justrouting-mcp",
"env": {
"JUSTROUTING_API_KEY": "YOUR_API_KEY"
}
}
}
}
The server provides four tools:
-
route— calculate driving routes -
geocode— convert places into coordinates -
table— calculate travel-time matrices -
optimize— solve vehicle routing problems
Now an AI assistant can reason about real-world transportation problems.
For example:
"Which driver should deliver this order in Jakarta?"
The agent can:
- geocode the customer's address
- calculate travel times from multiple drivers
- compare routes
- select the closest driver
No manual coordinate lookup.
No custom API integration.
No routing-specific code.
Routing becomes a capability that AI agents can use directly.
Try it before building infrastructure
The interactive demo in JustRouting lets you test routes, matrices, and fleet optimization directly from your browser.
The documentation includes API references and examples.
A free API key takes about thirty seconds.
To be clear about the trade-off:
If you need global coverage, offline routing, or complete control over your routing graph, self-hosting OSRM is still a great option.
But if your users are in Southeast Asia and you simply need reliable routing capabilities, a managed API removes a large amount of operational work.
Keep the open-source routing technology.
Skip the server farm.
Build your product.
Top comments (0)