Search OpenStreetMap data by name and address for geocoding and reverse geocoding of geographic points.

Nominatim is an open-source server application used to search OpenStreetMap data by name and address. It provides geocoding capabilities to find coordinates from text queries and reverse geocoding to generate synthetic addresses from geographic points. The software functions as a backend infrastructure tool that allows users to query geographic data without relying on external proprietary services.
The software is deployed as a self-hosted server on a local or remote machine. Installation involves cloning the source repository, configuring a Python virtual environment, and downloading the necessary country grid data. Once the environment is prepared, the application imports OpenStreetMap data files into a dedicated project directory and starts a webserver to handle incoming requests.
The technical architecture relies on a combination of Python source code and Lua configuration files for osm2pgsql. The setup process requires the use of pip for installing the nominatim-api and nominatim-db packages. After the data import phase, the system utilizes a webserver to expose its geocoding functionality via an API. This makes the software suitable for developers, GIS specialists, and system administrators who require a private instance of a location search engine to maintain control over their data and query limits.
Nominatim serves as a foundational tool for applications requiring location search and address resolution based on OpenStreetMap data. It provides the necessary infrastructure to translate human readable addresses into machine readable coordinates and vice versa.
A privacy respecting metasearch engine that aggregates results from multiple search services and databases.
A lightweight search engine providing full text indexing with minimal resource requirements and a built-in UI.
Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.