Geocoder and search engine for OpenStreetMap, turning addresses into coordinates and back
- Stars4.3k
- Forks838
- Open Issues98
GPL-3.0
- Python
- Gherkin
- PLpgSQL

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
