NOMINATIM(1) Generated Python Manual NOMINATIM(1)

nominatim

nominatim [-h] [--version] {import,freeze,replication,special-phrases,add-data,index,refresh,admin,export,convert,serve,search,reverse,lookup,details,status} ...

Command-line tools for importing, updating, administrating and querying the Nominatim database.

sys.args will be used.

Nominatim configuration. When None, the os.environ is inherited.

Print Nominatim version and exit

Create a new Nominatim database from an OSM file.
Make database read-only.
Update the database using an online replication service.
Import special phrases.
Add additional data from a file or an online source.
Reindex all new and modified data.
Recompute auxiliary data used by the indexing process.
Analyse and maintain the database.
Export places as CSV file from the database.
Convert an existing database into a different format. (EXPERIMENTAL)
Start a simple web server for serving the API.
Execute a search query.
Execute API reverse query.
Execute API lookup query.
Execute API details query.

COMMAND 'nominatim import'

usage: nominatim import [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--osm-file FILE]
[--continue {import-from-file,load-data,indexing,db-postprocess}]
[--osm2pgsql-cache SIZE] [--reverse-only]
[--no-partitions] [--no-updates] [--offline]
[--ignore-errors] [--index-noanalyse]
[--prepare-database]

Create a new Nominatim database from an OSM file.

This sub-command sets up a new Nominatim database from scratch starting with creating a new database in Postgresql. The user running this command needs superuser rights on the database.

DEFAULT ARGUMENTS 'nominatim import'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

OSM file to be imported (repeat for importing multiple files)
Continue an import that was interrupted

Size of cache to be used by osm2pgsql (in MB)
Do not create tables and indexes for searching
Do not partition search indices (speeds up import of single country extracts)
Do not keep tables that are only needed for updating the database later
Do not attempt to load any additional data from the internet

Continue import even when errors in SQL are present
Do not perform analyse operations during index (expert only)
Create the database but do not import any data

COMMAND 'nominatim freeze'

usage: nominatim freeze [-h] [-q] [-v] [--project-dir DIR] [-j NUM]

Make database read-only.

About half of data in the Nominatim database is kept only to be able to keep the data up-to-date with new changes made in OpenStreetMap. This command drops all this data and only keeps the part needed for geocoding itself.

This command has the same effect as the `--no-updates` option for imports.

DEFAULT ARGUMENTS 'nominatim freeze'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

COMMAND 'nominatim replication'

usage: nominatim replication [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--init] [--no-update-functions]
[--check-for-updates] [--once] [--catch-up]
[--no-index] [--osm2pgsql-cache SIZE]
[--socket-timeout SOCKET_TIMEOUT]

Update the database using an online replication service.

An OSM replication service is an online service that provides regular updates (OSM diff files) for the planet or update they provide. The OSMF provides the primary replication service for the full planet at https://planet.osm.org/replication/ but there are other providers of extracts of OSM data who provide such a service as well.

This sub-command allows to set up such a replication service and download and import updates at regular intervals. You need to call '--init' once to set up the process or whenever you change the replication configuration parameters. Without any arguments, the sub-command will go into a loop and continuously apply updates as they become available. Giving `--once` just downloads and imports the next batch of updates.

DEFAULT ARGUMENTS 'nominatim replication'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Initialise the update process
Do not update the trigger function to support differential updates (EXPERT)

Check if new updates are available and exit
Download and apply updates only once. When not set, updates are continuously applied
Download and apply updates until no new data is available on the server
Do not index the new data. Only usable together with --once
Size of cache to be used by osm2pgsql (in MB)

Set timeout for file downloads

COMMAND 'nominatim special-phrases'

usage: nominatim special-phrases [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--import-from-wiki] [--import-from-csv FILE]
[--no-replace] [--min MIN]

Import special phrases.

Special phrases are search terms that narrow down the type of object that should be searched. For example, you might want to search for in many languages, which can be imported with this command.

You can also provide your own phrases in a CSV file. The file needs to have the following five columns:
* phrase - the term expected for searching
* class - the OSM tag key of the object type
* type - the OSM tag value of the object type
* operator - the kind of search to be done (one of: in, near, name, -)
* plural - whether the term is a plural or not (Y/N)

An example file can be found in the Nominatim sources at

The import can be further configured to ignore specific key/value pairs. This is particularly useful when importing phrases from the wiki. The default configuration excludes some very common tags like building=yes. The configuration can be customized by putting a file `phrase-settings.json` with custom rules into the project directory or by using the `--config` option to point to another configuration file.

DEFAULT ARGUMENTS 'nominatim special-phrases'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Import special phrases from the OSM wiki to the database
Import special phrases from a CSV file
Keep the old phrases and only add the new ones
Restrict special phrases by minimum occurance

COMMAND 'nominatim add-data'

usage: nominatim add-data [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
(--file FILE | --diff FILE | --node ID | --way ID |
--relation ID | --tiger-data DIR) [--use-main-api]
[--osm2pgsql-cache SIZE]
[--socket-timeout SOCKET_TIMEOUT]

Add additional data from a file or an online source.

This command allows to add or update the search data in the database. The data can come either from an OSM file or single OSM objects can directly be downloaded from the OSM API. This function only loads the data into the database. Afterwards it still needs to be integrated in the search index. Use the `nominatim index` command for that.

The command can also be used to add external non-OSM data to the database. At the moment the only supported format is TIGER housenumber data. See the online documentation at https://nominatim.org/release-docs/latest/customize/Tiger/ for more information.

DEFAULT ARGUMENTS 'nominatim add-data'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Import data from an OSM file or diff file
Import data from an OSM diff file (deprecated: use --file)
Import a single node from the API
Import a single way from the API
Import a single relation from the API
Add housenumbers from the US TIGER census database

Use OSM API instead of Overpass to download objects
Size of cache to be used by osm2pgsql (in MB)
Set timeout for file downloads

COMMAND 'nominatim index'

usage: nominatim index [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--boundaries-only] [--no-boundaries] [--minrank RANK]
[--maxrank RANK]

Reindex all new and modified data.

Indexing is the process of computing the address and search terms for the places in the database. Every time data is added or changed, indexing needs to be run. Imports and replication updates automatically take care of indexing. For other cases, this function allows to run indexing manually.

DEFAULT ARGUMENTS 'nominatim index'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

FILTER ARGUMENTS 'nominatim index'

Index only administrative boundaries.
Index everything except administrative boundaries.
Minimum/starting rank
Maximum/finishing rank

COMMAND 'nominatim refresh'

usage: nominatim refresh [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--postcodes] [--word-tokens] [--word-counts]
[--address-levels] [--functions] [--wiki-data]
[--secondary-importance] [--importance] [--website]
[--data-object OBJECT] [--data-area OBJECT]
[--no-diff-updates] [--enable-debug-statements]

Recompute auxiliary data used by the indexing process.

This sub-commands updates various static data and functions in the database. It usually needs to be run after changing various aspects of the configuration. The configuration documentation will mention the exact command to use in such case.

Warning: the 'update' command must not be run in parallel with other update
commands like 'replication' or 'add-data'.

DEFAULT ARGUMENTS 'nominatim refresh'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Update postcode centroid table
Clean up search terms
Compute frequency of full-word search terms
Reimport address level configuration
Update the PL/pgSQL functions in the database
Update Wikipedia/data importance numbers
Update secondary importance raster data
Recompute place importances (expensive!)
DEPRECATED. This function has no function anymore and will be removed in a future version.
Mark the given OSM object as requiring an update (format: [NWR]<id>)
Mark the area around the given OSM object as requiring an update (format: [NWR]<id>)

Do not enable code for propagating updates
Enable debug warning statements in functions

COMMAND 'nominatim admin'

usage: nominatim admin [-h] [-q] [-v] [--project-dir DIR] [-j NUM] (--warm |
--check-database | --migrate | --analyse-indexing |
--collect-os-info | --clean-deleted AGE)
[--search-only] [--reverse-only] [--osm-id OSM_ID |
--place-id PLACE_ID]

Analyse and maintain the database.

DEFAULT ARGUMENTS 'nominatim admin'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Warm database caches for search and reverse queries
Check that the database is complete and operational
Migrate the database to a new software version
Print performance analysis of the indexing process
Generate a report about the host system information
Clean up deleted relations

Only pre-warm tables for search queries
Only pre-warm tables for reverse queries

Analyse indexing of the given OSM object
Analyse indexing of the given Nominatim object

COMMAND 'nominatim export'

usage: nominatim export [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--output-type {country,state,county,city,suburb,street,path}]
[--output-format OUTPUT_FORMAT] [--language LANGUAGE]
[--restrict-to-country COUNTRY_CODE]
[--restrict-to-osm-node ID] [--restrict-to-osm-way ID]
[--restrict-to-osm-relation ID]

Export places as CSV file from the database.

DEFAULT ARGUMENTS 'nominatim export'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

OUTPUT ARGUMENTS 'nominatim export'

Type of places to output (default: street)
Semicolon-separated list of address types (see --output-type). Additionally accepts:placeid,postcode
Preferred language for output (use local name, if omitted)

FILTER ARGUMENTS 'nominatim export'

Export only objects within country
Export only children of this OSM node
Export only children of this OSM way
Export only children of this OSM relation

COMMAND 'nominatim convert'

usage: nominatim convert [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--format {sqlite}] --output OUTPUT [--with-reverse]
[--with-search] [--with-details]

Convert an existing database into a different format. (EXPERIMENTAL)

Dump a read-only version of the database in a different format. At the moment only a SQLite database suitable for reverse lookup can be created.

Format of the output database (must be sqlite currently)
File to write the database to.

DEFAULT ARGUMENTS 'nominatim convert'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Enable/disable support for reverse and lookup API (default: enabled)
Enable/disable support for search API (default: disabled)
Enable/disable support for details API (default: enabled)

COMMAND 'nominatim serve'

usage: nominatim serve [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--server SERVER] [--engine {falcon,starlette}]

Start a simple web server for serving the API.

This command starts a built-in webserver to serve the website from the current project directory. This webserver is only suitable for testing and development. Do not use it in production setups!

There are two different webserver implementations for Python available: falcon (the default) and starlette. You need to make sure the appropriate Python packages as well as the uvicorn package are installed to use this function.

By the default, the webserver can be accessed at: http://127.0.0.1:8088

DEFAULT ARGUMENTS 'nominatim serve'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

The address the server will listen to.
Webserver framework to run. (default: falcon)

COMMAND 'nominatim search'

usage: nominatim search [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--query QUERY] [--amenity AMENITY] [--street STREET]
[--city CITY] [--county COUNTY] [--state STATE]
[--country COUNTRY] [--postalcode POSTALCODE]
[--format FORMAT] [--addressdetails] [--extratags]
[--entrances] [--namedetails] [--lang LANGS]
[--polygon-output {geojson,kml,svg,text}]
[--polygon-threshold TOLERANCE] [--countrycodes CC,..]
[--exclude_place_ids ID,..] [--limit LIMIT]
[--viewbox X1,Y1,X2,Y2] [--bounded] [--no-dedupe]
[--list-formats]

Execute a search query.

This command works exactly the same as if calling the /search endpoint on the web API. See the online documentation for more details on the various parameters: https://nominatim.org/release-docs/latest/api/Search/

DEFAULT ARGUMENTS 'nominatim search'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

QUERY ARGUMENTS 'nominatim search'

Free-form query string
Structured query: name and/or type of POI
Structured query: housenumber and street
Structured query: city, town or village
Structured query: county
Structured query: state
Structured query: country
Structured query: postcode

OUTPUT FORMATTING 'nominatim search'

Format of result (use --list-format to see supported formats)
Include a breakdown of the address into elements
Include additional information if available (e.g. wikipedia link, opening hours)
Include a list of tagged entrance nodes
Include a list of alternative names
Preferred language order for presenting search results
Output geometry of results as a GeoJSON, KML, SVG or WKT
Simplify output geometry.Parameter is difference tolerance in degrees.

Limit search results to one or more countries
List of search object to be excluded
Limit the number of returned results
Preferred area to find search results
Strictly restrict results to viewbox area
Do not remove duplicates from the result list

OTHER OPTIONS 'nominatim search'

List supported output formats and exit.

COMMAND 'nominatim reverse'

usage: nominatim reverse [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--lat LAT] [--lon LON] [--zoom ZOOM] [--layer LAYER]
[--format FORMAT] [--addressdetails] [--extratags]
[--entrances] [--namedetails] [--lang LANGS]
[--polygon-output {geojson,kml,svg,text}]
[--polygon-threshold TOLERANCE] [--list-formats]

Execute API reverse query.

This command works exactly the same as if calling the /reverse endpoint on the web API. See the online documentation for more details on the various parameters: https://nominatim.org/release-docs/latest/api/Reverse/

DEFAULT ARGUMENTS 'nominatim reverse'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

QUERY ARGUMENTS 'nominatim reverse'

Latitude of coordinate to look up (in WGS84)
Longitude of coordinate to look up (in WGS84)
Level of detail required for the address
OSM id to lookup in format <NRW><id> (may be repeated)

OUTPUT FORMATTING 'nominatim reverse'

Format of result (use --list-format to see supported formats)
Include a breakdown of the address into elements
Include additional information if available (e.g. wikipedia link, opening hours)
Include a list of tagged entrance nodes
Include a list of alternative names
Preferred language order for presenting search results
Output geometry of results as a GeoJSON, KML, SVG or WKT
Simplify output geometry.Parameter is difference tolerance in degrees.

OTHER OPTIONS 'nominatim reverse'

List supported output formats and exit.

COMMAND 'nominatim lookup'

usage: nominatim lookup [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--id OSMID] [--format FORMAT] [--addressdetails]
[--extratags] [--entrances] [--namedetails]
[--lang LANGS]
[--polygon-output {geojson,kml,svg,text}]
[--polygon-threshold TOLERANCE] [--list-formats]

Execute API lookup query.

This command works exactly the same as if calling the /lookup endpoint on the web API. See the online documentation for more details on the various parameters: https://nominatim.org/release-docs/latest/api/Lookup/

DEFAULT ARGUMENTS 'nominatim lookup'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

QUERY ARGUMENTS 'nominatim lookup'

OSM id to lookup in format <NRW><id> (may be repeated)

OUTPUT FORMATTING 'nominatim lookup'

Format of result (use --list-format to see supported formats)
Include a breakdown of the address into elements
Include additional information if available (e.g. wikipedia link, opening hours)
Include a list of tagged entrance nodes
Include a list of alternative names
Preferred language order for presenting search results
Output geometry of results as a GeoJSON, KML, SVG or WKT
Simplify output geometry.Parameter is difference tolerance in degrees.

OTHER OPTIONS 'nominatim lookup'

List supported output formats and exit.

COMMAND 'nominatim details'

usage: nominatim details [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--node NODE] [--way WAY] [--relation RELATION]
[--place_id PLACE_ID] [--class OBJECT_CLASS]
[--format FORMAT] [--addressdetails] [--keywords]
[--linkedplaces] [--entrances] [--hierarchy]
[--group_hierarchy] [--polygon_geojson]
[--lang LANGS] [--list-formats]

Execute API details query.

This command works exactly the same as if calling the /details endpoint on the web API. See the online documentation for more details on the various parameters: https://nominatim.org/release-docs/latest/api/Details/

DEFAULT ARGUMENTS 'nominatim details'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

QUERY ARGUMENTS 'nominatim details'

Look up the OSM node with the given ID.
Look up the OSM way with the given ID.
Look up the OSM relation with the given ID.
Database internal identifier of the OSM object to look up
Class type to disambiguated multiple entries of the same object.

OUTPUT ARGUMENTS 'nominatim details'

Format of result (use --list-formats to see supported formats)
Include a breakdown of the address into elements
Include a list of name keywords and address keywords
Include a details of places that are linked with this one
Include a list of tagged entrance nodes
Include details of places lower in the address hierarchy
Group the places by type
Include geometry of result
Preferred language order for presenting search results

OTHER OPTIONS 'nominatim details'

List supported output formats and exit.

COMMAND 'nominatim status'

usage: nominatim status [-h] [-q] [-v] [--project-dir DIR] [-j NUM]
[--format FORMAT] [--list-formats]

Execute API status query.

This command works exactly the same as if calling the /status endpoint on the web API. See the online documentation for more details on the various parameters: https://nominatim.org/release-docs/latest/api/Status/

DEFAULT ARGUMENTS 'nominatim status'

Print only error messages
Increase verboseness of output
Base directory of the Nominatim installation (default: /var/lib/nominatim/)
Number of parallel threads to use

Format of result (use --list-formats to see supported formats)

OTHER OPTIONS 'nominatim status'

List supported output formats and exit.

the Nominatim developer community
info@nominatim.org

The latest version of Nominatim may be downloaded from https://nominatim.org

2026-02-03 Nominatim