Maps & Navigation · head to head
GraphHopper vs Nominatim

GraphHopper
Maps & Navigation
Open-source routing engine for road networks, providing fast route calculations, turn-by-turn navigation
- From
- On request
- Rated
- -

Nominatim
Maps & Navigation
Open-source geocoding tool for OpenStreetMap data, providing address search and reverse geocoding capabilities
- From
- On request
- Rated
- -
The short version
- Each has a real cost: GraphHopper the free plan is non commercial use only; Nominatim the public API allows an absolute maximum of 1 request per second
Where they differ
Only the attributes on which GraphHopper and Nominatim actually diverge.
| Attribute | GraphHopper | Nominatim |
|---|
Identical on both: starting price (On request), pricing model (freemium), free tier (No), platforms (Web), user rating (Not yet rated), category (Maps & Navigation).
What each one covers
Drawn from each product's published feature list. An absence here means we hold no record of it - not that the product lacks it.
Only in GraphHopper
Nothing recorded that Nominatim does not also cover.
Only in Nominatim
Nothing recorded that GraphHopper does not also cover.
Both cover
- Core Functionality
- User Interface
What people use each for
The jobs each tool is most often brought in to do.
GraphHopper
- Routing, distance matrix and route optimisation over an APInot Nominatim
- Map matching GPS traces and generating isochronesnot Nominatim
Nominatim
- Geocoding addresses to coordinates from OpenStreetMap datanot GraphHopper
- Reverse geocoding coordinates to a place namenot GraphHopper
- Self hosting a geocoder over an OSM extractnot GraphHopper
Where each one falls short
Documented limitations, not opinions. Every one is a constraint you would hit in normal use.
GraphHopper
- The free plan is non commercial use only
- Free allows 500 credits a day, 5 locations per request and a single vehicle
- Request complexity is capped per plan, at 30 locations and 2 vehicles on Basic at 69 EUR a month, rising to 200 locations and 20 vehicles on Premium at 479 EUR
- Isochrone range is limited by plan, at 15 minutes on Basic and 30 on Premium
- Credits are a daily allowance, so a busy day cannot draw on a quiet one
Nominatim
- The public API allows an absolute maximum of 1 request per second
- Bulk geocoding must run in a single thread and cannot be distributed across machines
- Scripts running longer than a day or on a schedule are limited to 4 requests per minute
- Autocomplete search against the public API is explicitly prohibited
- Systematic queries such as grid based reverse lookups and complete data downloads are prohibited
- Reselling geocoding results or acting as an API intermediary is prohibited
- Every request must send a valid HTTP Referer or User-Agent identifying the application, and default library headers are rejected
- Results must be cached client side, and repeated identical queries can lead to blocking
- Attribution to OpenStreetMap under ODbL must be displayed
Pricing, plan by plan
GraphHopper
On requestNo published plan breakdown. See the GraphHopper review.
Nominatim
On requestNo published plan breakdown. See the Nominatim review.
Which should you pick?
Choose GraphHopper if
Nothing in the data separates GraphHopper from Nominatim on the points above - pick on price and on how each one feels to use.
Choose Nominatim if
Nothing in the data separates Nominatim from GraphHopper on the points above - pick on price and on how each one feels to use.
Questions people ask
- Is GraphHopper or Nominatim better?
- Neither clearly leads. GraphHopper starts at On request and Nominatim at On request, and user ratings are close enough to be indistinguishable. Choose on capability and platform support.
- Which is cheaper, GraphHopper or Nominatim?
- GraphHopper starts at On request and Nominatim at On request.
- Does GraphHopper or Nominatim run on more platforms?
- Both run on Web, so platform support will not decide this one for you.
- What is GraphHopper best used for?
- GraphHopper is most often used for routing, distance matrix and route optimisation over an api, map matching gps traces and generating isochrones. Of those, routing, distance matrix and route optimisation over an api and map matching gps traces and generating isochrones are not what Nominatim is typically brought in for.
Related pages
More on GraphHopper
Other head to heads
- GraphHopper vs Mapbox
- GraphHopper vs Google Maps Platform
- GraphHopper vs HERE Technologies
- GraphHopper vs Apple Maps
- GraphHopper vs Leaflet
- GraphHopper vs Esri ArcGIS
- GraphHopper vs CesiumJS
- GraphHopper vs Samsara
- GraphHopper vs Bing Maps
- GraphHopper vs CARTO
- GraphHopper vs Geotab
- GraphHopper vs HERE WeGo
- GraphHopper vs IndoorAtlas
- GraphHopper vs Mappedin
- GraphHopper vs Verizon Connect
- GraphHopper vs AllTrails
- GraphHopper vs Citymapper
- GraphHopper vs deck.gl
- Nominatim vs Mapbox
- Nominatim vs Google Maps Platform
- Nominatim vs HERE Technologies
- Nominatim vs Apple Maps
- Nominatim vs Leaflet
- Nominatim vs Esri ArcGIS
- Nominatim vs CesiumJS
- Nominatim vs Samsara
- Nominatim vs Bing Maps
- Nominatim vs CARTO
- Nominatim vs Geotab
- Nominatim vs HERE WeGo
- Nominatim vs IndoorAtlas
- Nominatim vs Mappedin
- Nominatim vs Verizon Connect
- Nominatim vs AllTrails
- Nominatim vs Citymapper
- Nominatim vs deck.gl
