Comparison
GraphHopper or us — two OpenStreetMap routing APIs, priced very differently
GraphHopper and this API have more in common than either has with Google. Both route on OpenStreetMap data, both say plainly that they have no live traffic, and both exist because the incumbent’s per-element price is hard to justify for work that doesn’t need traffic.
So this comparison isn’t about data quality. It’s about the shape of the bill, and which of us already speaks the protocol your code uses.
| Feature | WayMatrix | GraphHopper |
|---|---|---|
| How you buy it 1 | A monthly allowance of elements | A plan with a daily credit ceiling |
| What a matrix costs 2 | One element per pair | origins × destinations ÷ 2, or the longer side × 10 — whichever is cheaper |
| Entry paid plan 3 | $29 / month | €69 / month |
| Rate limit 4 | 5 to 120 requests / minute, by plan | 1 to 10 requests / second, by plan |
| Matrix size per call 5 | 2,500 on the free tier, up to 90,000 on paid | 30 to 200 locations, by plan |
| Free tier 6 | 50,000 elements / month | 500 credits / day, 5 locations |
| Live traffic 7 | No | No |
| Road data | OpenStreetMap | OpenStreetMap |
| Storing results 8 | Keep them | Client-side, temporarily |
| Coverage | North America | Global |
| Geocoding included 9 | Coming soon | Yes |
-
This is the difference that matters, and the other rows follow from it. You can't buy more credits for one day. You buy a plan whose daily ceiling you either fit under or don't.
Back to How you buy it -
Both count origin-destination pairs. An element is one origin paired with one destination; a credit is GraphHopper's billing unit. A 30 × 40 matrix is 1,200 elements here and 400 credits there — their own worked example, where the second formula wins.
Back to What a matrix costs -
Their Basic plan allows 5,000 credits a day, and caps a matrix at 30 locations. Ours is a monthly element allowance with no per-day ceiling. It stops at the allowance; upgrade your plan for more.
Back to Entry paid plan -
Theirs is the higher raw rate: 1 to 10 a second is 60 to 600 a minute, against our 5 to 120. It comes with a credit ceiling per minute as well — 100 on Basic, 400 on Standard, 1,000 on Premium, and breaching it answers 429 — and because a matrix costs credits rather than elements, that ceiling is usually what binds first: 1,000 credits a minute does not cover a single 200 by 200 matrix on their cheaper formula. What limits us is the monthly element allowance rather than a per-minute one.
Back to Rate limit -
Ours depends on the plan too: 50 by 50 free, and the full figure on paid plans. Theirs rises with the plan and reaches 10,000 locations on a custom agreement. Below that, a bigger matrix means a bigger plan, not just a bigger request.
Back to Matrix size per call -
GraphHopper: Five locations is a 5 × 5 matrix. It is enough to check that the API responds, but not to test it on your own data.
Back to Free tier -
Their TomTom add-on uses historical traffic patterns and is arranged separately. Neither of us is right for tracking a driver in real time.
Back to Live traffic -
Their terms allow temporary caching in a browser or mobile app, and need a custom agreement to redistribute. Their terms were last revised in 2021. Ours has one caveat: storing and using results internally is always fine, but a database you build from them and publish may carry the share-alike obligation of the ODbL, the Open Database Licence that covers OpenStreetMap data.
Back to Storing results -
WayMatrix: Geocoding is in our development plan. Until then, send coordinates.
Back to Geocoding included
Figures checked against GraphHopper's own published pages on 2 September 2026. Their prices are in euros, and we haven't converted them: an exchange rate isn't a price.
Checked against 5 published sources on
- GraphHopper pricing
- GraphHopper — what is one credit? It gives two formulas and charges whichever is cheaper, which is why this row shows both.
- GraphHopper terms of service Version 9, dated August 2021. The caching clause we quote is five years old, which is itself worth knowing.
- GraphHopper — what is a credit limit per minute? Confirms the Premium ceiling of 1,000 credits a minute and that breaching it answers 429 with 'Minutely API limit heavily violated'. The Basic and Standard figures are not in this article; they were read from the pricing page cited above, whose fine print gives 1 request per second with up to 100 c/min, 2 with up to 400, and 10 with up to 1,000.
- GraphHopper — traffic data
Which of us you should buy
Come to us if…
- Your usage is spiky. A month-end batch that needs ten times a normal day's volume fits a monthly allowance but breaks a daily ceiling. You'd be paying for a plan sized for your worst day, every day.
- You want one large matrix rather than a bigger plan. Our per-request limit comes from your plan, not from a location count that steps up through four price points.
- You need to keep what you computed. Store the durations, build your own tables, and keep them. Their terms allow temporary caching in a browser or app, and nothing more.
- You are already speaking the Openrouteservice protocol. Our requests and responses match it. Moving here means changing the base URL; moving to GraphHopper means rewriting the code that calls it.
Choose GraphHopper if…
- You route outside North America. They cover the whole world; we cover North America only. For routes anywhere else, they are the choice.
- You want route optimization from the same vendor. Vehicle routing is their strength and it is mature. Buying it from the same company as your routing keeps things simpler.
- You need geocoding today. They have it. Geocoding is in our development plan, but until it launches you'll need a separate provider for addresses.
- A daily ceiling suits your traffic better than a monthly one. If your traffic is steady, a daily cap is comfortable and can be cheaper. Spiky traffic is what a daily cap punishes.
Two OpenStreetMap APIs, billed differently.
Neither of us has live traffic, both use the same public map, and both are far cheaper than the incumbent. Work out which kind of bill fits your traffic, and check durations against your own coordinates before you decide.