GraphHopper Alternative: route optimization API comparison
Kardinal · route optimization API

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

Benchmark coverage · 149 constraints
Kardinal93%
GraphHopper40%

Kardinal's open benchmark, 149 constraints across 8 sectors. See the methodology

vs GraphHopperNo request-size cap, GraphHopper limits 200 locations per request

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%
FocusRoute optimization specialistOpen-source routing, optimization is one module
Request-size limitNo limit, any volume200 locations, 20 vehicles per request (Premium)
Billing modelPer stop, re-optimizations free within 24hCredits per request, re-optimizations re-billed
Real-time re-optimizationYesPartial
Predictive trafficYesYes
Lexicographic optimizationYesNo
Open-source / self-hostingManaged SaaSYes, self-hostable
Free tier1,000 stops, no credit card (commercial)Free plan, non-commercial only (1 vehicle, 5 locations)
Built for AI agentsMCP server, agent-ready docs, modeling corpusNot offered
Start free 1,000 stops, no credit card.
Where GraphHopper can fit

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.

Where Kardinal goes further

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.

Cheaper at 5 vehicles, and it scales where GraphHopper needs a custom contract
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€/moCustom 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.

Choose GraphHopper if

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.

Choose Kardinal if

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?
GraphHopper comes from open-source routing and can be self-hosted, but its optimization coverage is 40% and it caps requests at 200 locations and 20 vehicles. Kardinal is an API-first engine with far broader coverage, 93% vs 40% on the benchmark, no request-size cap, re-optimizations free within 24h, lexicographic optimization and agent-ready tooling. For a pure API need, Kardinal is the stronger choice.
Is Kardinal cheaper than GraphHopper?
Often, yes, and it scales further. GraphHopper's 200-location cap forces the Premium plan (~479€/mo) even for a 5-vehicle fleet, where Kardinal is about 63€/mo. Large fleets exceed GraphHopper's self-serve plans entirely and need a Custom contract, while Kardinal stays self-serve at any volume.
Can I test both for free?
Kardinal: 1,000 stops on sign-up, no credit card, full commercial product, self-serve. GraphHopper: a free plan limited to non-commercial use (1 vehicle, 5 locations per request), plus an open-source version you can self-host.
Can I self-host?
GraphHopper offers an open-source, self-hostable version, a genuine strength if you want to own the stack. Kardinal is a managed API: you call it and we handle the solver, tuning and updates, with no request-size cap. Lexicographic optimization is available on Kardinal (and HERE), not on GraphHopper.
Which one covers more constraints?
Kardinal, by a wide margin: 93% vs 40% on the 149-constraint benchmark. GraphHopper is decent on travel-time and shifts, but has gaps on costs, capacity and assignment, and only partially covers live re-optimization.
get started

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