Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at https://nominatim.openstreetmap.org. Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page.
The documentation of the latest development version is in the
docs/
subdirectory. A HTML version can be found at
https://nominatim.org/release-docs/develop/ .
The latest stable release can be downloaded from https://nominatim.org. There you can also find installation instructions for the release, as well as an extensive Troubleshooting/FAQ section.
Detailed installation instructions for current master can be found at nominatim.org as well.
A quick summary of the necessary steps:
Create a Python virtualenv and install the packages:
python3 -m venv nominatim-venv
./nominatim-venv/bin/pip install packaging/nominatim-{api,db}
Create a project directory, get OSM data and import:
mkdir nominatim-project
cd nominatim-project
../nominatim-venv/bin/nominatim import --osm-file <your planet file>
Start the webserver:
./nominatim-venv/bin/pip install uvicorn falcon
../nominatim-venv/bin/nominatim serve
The Python source code is available under a GPL license version 3 or later. The Lua configuration files for osm2pgsql are released under the Apache License, Version 2.0. All other files are under a GPLv2 license.
Contributions, bug reports and pull requests are welcome. When reporting a bug, please use one of the issue templates and make sure to provide all the information requested. If you are not sure if you have really found a bug, please ask for help in the forums first (see 'Questions' below).
For details on contributing, have a look at the contribution guide.
If you have questions about search results and the OpenStreetMap data used in the search, use the OSM Forum.
For questions, community help and discussions around the software and your own installation of Nominatim, use the Github discussions forum.