Nominatim logo

Nominatim

Geocoder and search engine for OpenStreetMap, turning addresses into coordinates and back

Repository activity
  • Stars4.3k
  • Forks838
  • Open Issues98
License

GPL-3.0

Languages
  • Python
  • Gherkin
  • PLpgSQL
Nominatim screenshot

About Nominatim

Nominatim is a geocoder built on OpenStreetMap data. It searches places by name and address to return coordinates, and reverse geocodes a point back into a readable address, making it the search engine behind the box on the OpenStreetMap home page.

You run it on your own server: import an OSM extract or the full planet file, then start the bundled web server to answer queries over HTTP. A public instance with up-to-date data is available for testing and light use, but self-hosting gives full control over coverage and load.

The import and serving steps run from the command line, and the engine indexes OSM data into PostgreSQL. The Python source is released under GPL version 3 or later, other files under GPLv2, and the osm2pgsql Lua configuration files under Apache 2.0.

Key features

  • Forward geocoding by place name and address
  • Reverse geocoding from coordinates to address
  • Import OSM extracts or the full planet file
  • Bundled web server answers queries over HTTP
  • Indexes OpenStreetMap data into PostgreSQL

Details

First released
2012
Deployment
Self-hostable
Data source
OpenStreetMap data
Language
Python
Origins
OpenStreetMap project
License
GPL-3.0 · GPLv2 · Apache 2.0