
In simple English
This tool turns raw map data into a search engine for addresses. You type a street name and get coordinates. You type coordinates and get a street name. You run it on your own server to keep map searches private. It costs server time and disk space instead of monthly fees.
What it is
Nominatim is an open-source geocoding server (a tool that converts addresses to geographic coordinates and back) built on OpenStreetMap data. It provides an application programming interface (an API, which lets different software programs talk to each other) for map searches.
What it is good for
This is good for solo builders who need address search in their app without paying third-party fees. It removes dependence on commercial map APIs and protects user location data.
- Runs on your own server with no query limits.
- Free to use without API keys or credit cards.
- Uses official OpenStreetMap data updates.
- Requires a powerful server with plenty of memory and fast storage.
- Initial map data import takes hours or days.
- GPL-3.0 licence (a legal rule requiring you to share source code if you modify and distribute the software).
Paid geocoding APIs from commercial mapping providers.
PostgreSQL (a robust open-source database for storing complex data securely).
- GoogleChrome/lighthouse-ci7.1k stars
Runs the standard page audit on every code change and fails the change if the page got slower.
- harlan-zw/nuxt-seo1.5k stars
Seven search-engine and answer-engine modules for Nuxt sites, installed as one package.
- Swetrix/swetrix1.2k stars
Website analytics with no cookies, plus performance monitoring and error tracking, which you can host yourself.
git clone https://github.com/osm-search/Nominatim.git
wget -O Nominatim/data/country_osm_grid.sql.gz https://nominatim.org/data/country_grid.sql.gz
python3 -m venv nominatim-venv
./nominatim-venv/bin/pip install packaging/nominatim-{api,db}
mkdir nominatim-project
cd nominatim-project
../nominatim-venv/bin/nominatim import --osm-file <your planet file>