Softwr

Maps & Navigation · head to head

GraphHopper vs Nominatim

GraphHopper logo

GraphHopper

Maps & Navigation

Open-source routing engine for road networks, providing fast route calculations, turn-by-turn navigation

From
On request
Rated
-
Nominatim logo

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.

Attributes where GraphHopper and Nominatim differ
AttributeGraphHopperNominatim

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 request

No published plan breakdown. See the GraphHopper review.

Nominatim

On request

No 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

Other head to heads