GraphHopper Alternative: Kardinal's Route Optimization API
A factual comparison, based on Kardinal's open benchmark of 149 constraints and both vendors' public pricing. For a pure route optimization API, Kardinal is the stronger choice: far broader coverage (93% vs 40%), no request-size cap where GraphHopper limits you to 200 locations and 20 vehicles per request, plus lexicographic optimization and agent-ready tooling. GraphHopper is a broad maps and routing API (routing, geocoding and maps) with open-source roots and self-hosting; on optimization specifically, Kardinal goes further.
1,000 stops free · no credit card · self-serve sign-up
Kardinal's open benchmark, 149 constraints across 8 sectors. See the methodology
Both offer a route optimization API, but they aim differently. Kardinal is an API-first optimization engine: it covers far more constraints, has no request-size cap, bills per stop with re-optimizations free within 24h, and is built to be called by AI agents. GraphHopper is a broad maps and routing API (routing, geocoding and maps) with open-source roots you can self-host, a genuine strength, but optimization is one module among them: coverage is modest at 40%, it caps requests at 200 locations and 20 vehicles on its top self-serve plan, and it bills credits per request so re-optimizations are re-billed.
For a pure API need, Kardinal is the stronger choice: broader coverage, real-fleet scale, and lower cost. GraphHopper mainly fits teams that want generalist maps and routing tools or to self-host; you can even pair it with Kardinal for the optimization itself.
Feature by feature
The same criteria, side by side. Coverage figures come from Kardinal's open benchmark of 149 real-world constraints.
| Criteria | Kardinal | GraphHopper |
|---|---|---|
| Benchmark coverage (149 constraints) | 93% | 40% |
| Focus | Route optimization specialist | Open-source routing, optimization is one module |
| Request-size limit | No limit, any volume | 200 locations, 20 vehicles per request (Premium) |
| Billing model | Per stop, re-optimizations free within 24h | Credits per request, re-optimizations re-billed |
| Real-time re-optimization | Yes | Partial |
| Predictive traffic | Yes | Yes |
| Lexicographic optimization | Yes | No |
| Open-source / self-hosting | Managed SaaS | Yes, self-hostable |
| Free tier | 1,000 stops, no credit card (commercial) | Free plan, non-commercial only (1 vehicle, 5 locations) |
| Built for AI agents | MCP server, agent-ready docs, modeling corpus | Not offered |
Generalist maps and routing, self-hostable
GraphHopper is a broad maps and routing API (routing, geocoding, maps), with open-source roots you can self-host and an active community, cloud or on-premise. If you want generalist mapping tools, to own your routing stack, or have small, targeted needs, it is a credible option, and you can pair it with Kardinal for the optimization itself.
But its optimization coverage is 40%, requests cap at 200 locations and 20 vehicles, and its free plan is non-commercial. For a managed API that scales to real fleets with far broader coverage, the comparison tips to Kardinal.
Broader coverage, real-fleet scale
Kardinal covers 93% of the 149-constraint benchmark against 40% for GraphHopper, from simple routes to hard cases (multi-temperature vehicles, skip handling, multi-depot, nested time windows), plus lexicographic optimization that GraphHopper doesn't offer.
And there is no request-size or volume cap: Kardinal handles any volume in self-serve, bills per stop with re-optimizations free within 24h, and gives you public self-serve pricing, 1,000 free stops, typed SDKs and an MCP server for agents. GraphHopper caps self-serve requests at 200 locations and re-bills every run.
If you also need field execution, our Laskar app takes over on the driver side, from the optimized plan to the completed route.
Pricing: cheaper, and it scales
GraphHopper caps requests at 200 locations and 20 vehicles on its top self-serve plan (Premium), so even a small fleet needs Premium, and large fleets require a Custom contract. Credits are consumed per request, so re-optimizations are re-billed. Kardinal bills per stop, with re-optimizations free within 24h and no request-size cap.
| Fleet profile | Kardinal | GraphHopper |
|---|---|---|
| 5 vehicles, 20 stops/day (~2,100 stops/mo) | ~63€/mo | ~479€/mo (Premium forced by the 200-location cap) |
| 100 vehicles, 50 stops/day (~105,000 stops/mo) | ~1,260€/mo | Custom contract required (beyond self-serve) |
A 5-vehicle fleet already exceeds GraphHopper's Standard plan (80 locations per request), so it needs Premium at 479€/mo, where Kardinal is about 63€/mo. Large fleets exceed every self-serve plan and require a Custom contract, while Kardinal stays self-serve at any volume.
No request-size cap
Kardinal handles any volume in self-serve, with no cap. GraphHopper caps at 200 locations and 20 vehicles per request, and splitting the fleet degrades the optimization.
Re-optimizations free within 24h
Optimize the same stops all day for no extra cost. GraphHopper consumes credits on every request, so re-optimizations are re-billed.
GraphHopper's free plan is limited to non-commercial use (1 vehicle, 5 locations per request). Kardinal's 1,000 free stops give full commercial access to test on real data. See our developer survey.
Our verdict
The best test is your own data. Our free tier of 1,000 stops lets you check whether we cover your constraints before you commit.
You want generalist maps and routing tools or open-source routing you can self-host, an active community, or have small, targeted needs, and you are fine with a 200-location request cap and a non-commercial free tier. You can even pair it with Kardinal for the optimization layer.
You need a managed routing API that scales to real fleets: broadest coverage (93% vs 40%), no request-size cap, re-optimizations free within 24h, lexicographic optimization and agent-ready tooling. For a pure API need, Kardinal is the superior choice.
1,000 stops free · no credit card
Frequently asked questions
What's the main difference between Kardinal and GraphHopper?
Is Kardinal cheaper than GraphHopper?
Can I test both for free?
Can I self-host?
Which one covers more constraints?
Test Kardinal on your own routes
Check whether we cover your constraints before you commit. Create an account and make your first call, no sales call required.
1,000 stops free · no credit card · self-serve sign-up