NOMINATIM(1)

πŸ“¦ version 5.3.2, in arch rolling

πŸ’– NAME πŸ’–

This is the nominatim page from the Generated Python Manual, bestie β€” the manual name is literally nominatim (a.k.a. NOMINATIM(1) if you’re being formal πŸ’…).

🌸 SYNOPSIS 🌸

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

✨ DESCRIPTION ✨

Nominatim’s command-line tools do the whole lifecycle, no cap: importing, updating, administrating, and querying the Nominatim database.

Also, the page says sys.args will be used.

And for Nominatim configuration: when it’s None, the os.environ is inherited.

πŸŽ€ OPTIONS πŸŽ€

  • --version β€” prints the Nominatim version and exits. Iconic, simple, done.

πŸ‘‘ AVAILABLE COMMANDS πŸ‘‘

  • nominatim import β€” creates a new Nominatim database from an OSM file.
  • nominatim freeze β€” makes the database read-only.
  • nominatim replication β€” updates the database using an online replication service.
  • nominatim special-phrases β€” imports special phrases.
  • nominatim add-data β€” adds additional data from a file or an online source.
  • nominatim index β€” reindexes all new and modified data.
  • nominatim refresh β€” recomputes auxiliary data used by the indexing process.
  • nominatim admin β€” analyses and maintains the database.
  • nominatim export β€” exports places as a CSV file from the database.
  • nominatim convert β€” converts an existing database into a different format. (EXPERIMENTAL)
  • nominatim serve β€” starts a simple web server for serving the API.
  • nominatim search β€” executes a search query.
  • nominatim reverse β€” executes an API reverse query.
  • nominatim lookup β€” executes an API lookup query.
  • nominatim details β€” executes an API details query.
  • nominatim status β€” the page lists this command but doesn’t give it a description here.

πŸ’… 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]

Creates 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. Yes, superuser β€” don’t forget that part, bestie πŸ’€.

DEFAULT ARGUMENTS 'nominatim import'

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

REQUIRED ARGUMENTS 'nominatim import'

  • --osm-file FILE β€” OSM file to be imported (repeat for importing multiple files).
  • --continue {import-from-file,load-data,indexing,db-postprocess} β€” continue an import that was interrupted.

OPTIONAL ARGUMENTS 'nominatim import'

  • --osm2pgsql-cache SIZE β€” size of cache to be used by osm2pgsql (in MB).
  • --reverse-only β€” do not create tables and indexes for searching.
  • --no-partitions β€” do not partition search indices (speeds up import of single country extracts).
  • --no-updates β€” do not keep tables that are only needed for updating the database later.
  • --offline β€” do not attempt to load any additional data from the internet.

EXPERT OPTIONS 'nominatim import'

  • --ignore-errors β€” continue import even when errors in SQL are present.
  • --index-noanalyse β€” do not perform analyse operations during index (expert only).
  • --prepare-database β€” create the database but do not import any data.

🧚 COMMAND 'nominatim freeze' 🧚

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

Makes the 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'

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” 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]

Updates 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 lets you 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. Loop mode activated, bestie. πŸ”

DEFAULT ARGUMENTS 'nominatim replication'

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

ARGUMENTS FOR INITIALISATION 'nominatim replication'

  • --init β€” initialise the update process.
  • --no-update-functions β€” do not update the trigger function to support differential updates (EXPERT).

ARGUMENTS FOR UPDATES 'nominatim replication'

  • --check-for-updates β€” check if new updates are available and exit.
  • --once β€” download and apply updates only once. When not set, updates are continuously applied.
  • --catch-up β€” download and apply updates until no new data is available on the server.
  • --no-index β€” do not index the new data. Only usable together with --once.
  • --osm2pgsql-cache SIZE β€” size of cache to be used by osm2pgsql (in MB).

DOWNLOAD PARAMETERS 'nominatim replication'

  • --socket-timeout SOCKET_TIMEOUT β€” 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]

Imports special phrases.

Special phrases are search terms that narrow down the type of object that should be searched. The page’s example says you might want to search for in many languages β€” yes, that sentence is missing a word in the original, bestie, I’m not inventing one β€” and this command imports those phrases.

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 β€” and the original sentence stops right there, so no made-up URL from me πŸ’€.

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'

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

INPUT ARGUMENTS 'nominatim special-phrases'

  • --import-from-wiki β€” import special phrases from the OSM wiki to the database.
  • --import-from-csv FILE β€” import special phrases from a CSV file.
  • --no-replace β€” keep the old phrases and only add the new ones.
  • --min MIN β€” restrict special phrases by minimum occurance (yes, β€œoccurance” is spelled like that in the page, bestie).

🌈 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]

Heads up: the usage line also shows --use-main-api and --socket-timeout SOCKET_TIMEOUT; this part of the page doesn’t give them their own description bullets.

Adds additional data from a file or an online source.

This command lets you 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. Don’t skip the index step, bestie β€” that’s the whole slay. ✨

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'

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

SOURCE 'nominatim add-data'

  • --file FILE β€” import data from an OSM file or diff file.
  • --diff FILE β€” import data from an OSM diff file (deprecated: use --file).
  • --node ID β€” import a single node from the API.
  • --way ID β€” import a single way from the API.
  • --relation ID β€” import a single relation from the API.
  • --tiger-data DIR β€” add housenumbers from the US TIGER census database.

πŸŽ€ EXTRA ARGUMENTS 'nominatim add-data' πŸŽ€

okay bestie, these are the extra little knobs you can twist for add-data πŸ’…

  • --use-main-api β€” grabs objects using the OSM API instead of Overpass, no cap.
  • --osm2pgsql-cache SIZE β€” how big the cache is that osm2pgsql gets to use, in MB ✨
  • --socket-timeout SOCKET_TIMEOUT β€” sets the timeout for downloading files 🫢

πŸ”₯ COMMAND 'nominatim index' πŸ”₯

the shape is literally this:

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

so index is the "reindex all new and modified data" queen πŸ‘‘

indexing is the whole process of computing the address and search terms for the places chilling in your database. every time data gets added or changed, you gotta run indexing. imports and replication updates handle that automatically for you, but for other situations this command lets you run indexing manually. slay.

πŸ’– DEFAULT ARGUMENTS 'nominatim index' πŸ’–

  • -q, --quiet β€” only prints error messages, very demure.
  • -v, --verbose β€” turns up the verboseness of the output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use ⚑

πŸ¦‹ FILTER ARGUMENTS 'nominatim index' πŸ¦‹

  • --boundaries-only β€” indexes only administrative boundaries.
  • --no-boundaries β€” indexes everything except administrative boundaries.
  • --minrank RANK, -r RANK β€” minimum/starting rank.
  • --maxrank RANK, -R RANK β€” maximum/finishing rank.

🌈 COMMAND 'nominatim refresh' 🌈

usage vibes:

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

this one recomputes auxiliary data used by the indexing process ✨

it updates various static data and functions in the database. usually you run it after changing stuff in the configuration. the configuration docs will tell you the exact command to use when that happens, iykyk.

⚠️ Warning: the 'update' command must not be run in parallel with other update commands like 'replication' or 'add-data'. fr fr, don't do it.

πŸ’œ DEFAULT ARGUMENTS 'nominatim refresh' πŸ’œ

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

πŸ“ DATA ARGUMENTS 'nominatim refresh' πŸ“

  • --postcodes β€” update the postcode centroid table.
  • --word-tokens β€” clean up search terms.
  • --word-counts β€” compute frequency of full-word search terms.
  • --address-levels β€” reimport address level configuration.
  • --functions β€” update the PL/pgSQL functions in the database.
  • --wiki-data β€” update Wikipedia/data importance numbers.
  • --secondary-importance β€” update secondary importance raster data.
  • --importance β€” recompute place importances (expensive!). πŸ’€
  • --ro-access β€” grant read-only access to the web user for all tables.
  • --website β€” DEPRECATED. This function has no function anymore and will be removed in a future version. not me reading that twice 😭
  • --data-object OBJECT β€” mark the given OSM object as requiring an update (format: [NWR]<id>).
  • --data-area OBJECT β€” mark the area around the given OSM object as requiring an update (format: [NWR]<id>).

🧚 ARGUMENTS FOR FUNCTION REFRESH 'nominatim refresh' 🧚

  • --no-diff-updates β€” do not enable code for propagating updates.
  • --enable-debug-statements β€” enable debug warning statements in functions.

🌸 ARGUMENTS FOR POSTCODE REFRESH 'nominatim refresh' 🌸

  • --force-reimport β€” recompute the postcodes from scratch instead of updating.

πŸ‘‘ COMMAND 'nominatim admin' πŸ‘‘

usage, bestie:

       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]

this one analyses and maintains the database. main character energy for database upkeep 🫢

πŸŽ€ DEFAULT ARGUMENTS 'nominatim admin' πŸŽ€

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

⭐ ADMIN TASKS 'nominatim admin' ⭐

  • --warm β€” warm database caches for search and reverse queries.
  • --check-database β€” check that the database is complete and operational.
  • --migrate β€” migrate the database to a new software version.
  • --analyse-indexing β€” print performance analysis of the indexing process.
  • --collect-os-info β€” generate a report about the host system information.
  • --clean-deleted AGE β€” clean up deleted relations.

πŸ¦‹ ARGUMENTS FOR CACHE WARMING 'nominatim admin' πŸ¦‹

  • --search-only β€” only pre-warm tables for search queries.
  • --reverse-only β€” only pre-warm tables for reverse queries.

πŸ› οΈ ARGUMENTS FOR INDEX ANAYSIS 'nominatim admin' πŸ› οΈ

(yes, the heading says ANAYSIS, we keep the typo, it's iconic)

  • --osm-id OSM_ID β€” analyse indexing of the given OSM object.
  • --place-id PLACE_ID β€” analyse indexing of the given Nominatim object.

🌟 COMMAND 'nominatim export' 🌟

usage block:

       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]

this exports places as a CSV file from the database. cute little data dump moment ✨

πŸ’œ DEFAULT ARGUMENTS 'nominatim export' πŸ’œ

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

πŸ“ OUTPUT ARGUMENTS 'nominatim export' πŸ“

  • --output-type {country,state,county,city,suburb,street,path} β€” type of places to output (default: street).
  • --output-format OUTPUT_FORMAT β€” semicolon-separated list of address types (see --output-type). additionally accepts placeid,postcode.
  • --language LANGUAGE β€” preferred language for output (use local name, if omitted).

🧚 FILTER ARGUMENTS 'nominatim export' 🧚

  • --restrict-to-country COUNTRY_CODE β€” export only objects within country.
  • --restrict-to-osm-node ID β€” export only children of this OSM node.
  • --restrict-to-osm-way ID β€” export only children of this OSM way.
  • --restrict-to-osm-relation ID β€” export only children of this OSM relation.

🌈 COMMAND 'nominatim convert' 🌈

usage:

       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) πŸ™ˆ

it dumps 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. that's the whole vibe.

πŸŽ€ OPTIONS 'nominatim convert' πŸŽ€

  • --format {sqlite} β€” format of the output database (must be sqlite currently).
  • --output OUTPUT, -o OUTPUT β€” file to write the database to.

πŸ’– DEFAULT ARGUMENTS 'nominatim convert' πŸ’–

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

πŸ› οΈ SWITCHES TO DEFINE DATABASE LAYOUT(CURRENTLY NO EFFECT) 'nominatim convert' πŸ› οΈ

  • --with-reverse, --without-reverse β€” enable/disable support for reverse and lookup API (default: enabled).
  • --with-search, --without-search β€” enable/disable support for search API (default: disabled).
  • --with-details, --without-details β€” enable/disable support for details API (default: enabled).

πŸ‘‘ COMMAND 'nominatim serve' πŸ‘‘

usage:

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

this starts a simple web server for serving the API. built-in webserver, serving the website from the current project directory. it 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' πŸ’œ

  • -q, --quiet β€” print only error messages.
  • -v, --verbose β€” increase verboseness of output.
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/).
  • -j NUM, --threads NUM β€” number of parallel threads to use.

πŸ¦‹ SERVER ARGUMENTS 'nominatim serve' πŸ¦‹

  • --server SERVER β€” the address the server will listen to.
  • --engine {falcon,starlette} β€” webserver framework to run. (default: falcon).

okay bestie, this is the one you'll use constantly, so pay attention ✨

       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] [--layer
       LAYER]
                               [--no-dedupe] [--list-formats]

So what does it do? It runs a search query. Full stop. πŸ”

And here's the slay part: it works exactly the same as if you'd called the /search endpoint on the web API. Like, literally identical behaviour. If you want the deets on all the params, the online docs are right there:

https://nominatim.org/release-docs/latest/api/Search/


  • -q, --quiet β€” print only error messages (silence is golden, bestie 🀫)
  • -v, --verbose β€” increases how verbose the output gets
  • --project-dir DIR β€” the base directory of your Nominatim installation (default: /var/lib/nominatim/)
  • -j NUM, --threads NUM β€” how many parallel threads to use

  • --query QUERY β€” a free-form query string
  • --amenity AMENITY β€” structured query: name and/or type of POI
  • --street STREET β€” structured query: housenumber and street
  • --city CITY β€” structured query: city, town or village
  • --county COUNTY β€” structured query: county
  • --state STATE β€” structured query: state
  • --country COUNTRY β€” structured query: country
  • --postalcode POSTALCODE β€” structured query: postcode
ngl, the structured ones are giving "fill out the form" energy β€” you pick the fields you actually know and leave the rest 🫢

  • --format FORMAT β€” the format of the result (use --list-format to see which formats are supported)
  • --addressdetails β€” include a breakdown of the address into its elements
  • --extratags β€” include additional info if it's available (e.g. wikipedia link, opening hours)
  • --entrances β€” include a list of tagged entrance nodes
  • --namedetails β€” include a list of alternative names
  • --lang LANGS, --accept-language LANGS β€” preferred language order for presenting search results
  • --polygon-output {geojson,kml,svg,text} β€” output the geometry of results as a GeoJSON, KML, SVG or WKT
  • --polygon-threshold TOLERANCE β€” simplify the output geometry. The parameter is the difference tolerance in degrees.

  • --countrycodes CC,.. β€” limit search results to one or more countries
  • --exclude_place_ids ID,.. β€” list of search objects to be excluded
  • --limit LIMIT β€” limit the number of returned results
  • --viewbox X1,Y1,X2,Y2 β€” preferred area to find search results in
  • --bounded β€” strictly restrict results to the viewbox area
  • --layer LAYER β€” restrict results to one or more layers (this one may be repeated πŸ‘€)
  • --no-dedupe β€” do not remove duplicates from the result list

  • --list-formats β€” list the supported output formats and exit. that's it, that's the whole job πŸ’€

🌈 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]

Executes an API reverse query β€” you give it coordinates, it tells you what's there πŸ—ΊοΈβœ¨

Same deal as before: this works exactly the same as calling the /reverse endpoint on the web API. Online docs for all the params:

https://nominatim.org/release-docs/latest/api/Reverse/


🧚 DEFAULT ARGUMENTS 'nominatim reverse' 🧚

  • -q, --quiet β€” print only error messages
  • -v, --verbose β€” increase the verboseness of output
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/)
  • -j NUM, --threads NUM β€” number of parallel threads to use

πŸ’œ QUERY ARGUMENTS 'nominatim reverse' πŸ’œ

  • --lat LAT β€” latitude of the coordinate to look up (in WGS84)
  • --lon LON β€” longitude of the coordinate to look up (in WGS84)
  • --zoom ZOOM β€” the level of detail required for the address
  • --layer LAYER β€” restrict results to one or more layers (may be repeated, yes queen πŸ‘‘)

πŸ“ OUTPUT FORMATTING 'nominatim reverse' πŸ“

  • --format FORMAT β€” format of result (use --list-format to see supported formats)
  • --addressdetails β€” include a breakdown of the address into elements
  • --extratags β€” include additional information if available (e.g. wikipedia link, opening hours)
  • --entrances β€” include a list of tagged entrance nodes
  • --namedetails β€” include a list of alternative names
  • --lang LANGS, --accept-language LANGS β€” preferred language order for presenting search results
  • --polygon-output {geojson,kml,svg,text} β€” output geometry of results as a GeoJSON, KML, SVG or WKT
  • --polygon-threshold TOLERANCE β€” simplify output geometry. Parameter is the difference tolerance in degrees.

🌻 OTHER OPTIONS 'nominatim reverse' 🌻

  • --list-formats β€” 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]

Executes an API lookup query β€” this is the "I already know the OSM id, just hand me the object" move πŸ’…

Works exactly the same as calling the /lookup endpoint on the web API. Docs:

https://nominatim.org/release-docs/latest/api/Lookup/


πŸŽ€ DEFAULT ARGUMENTS 'nominatim lookup' πŸŽ€

  • -q, --quiet β€” print only error messages
  • -v, --verbose β€” increase verboseness of output
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/)
  • -j NUM, --threads NUM β€” number of parallel threads to use

✨ QUERY ARGUMENTS 'nominatim lookup' ✨

  • --id OSMID β€” the OSM id to look up, in the format <NRW><id> (may be repeated)
note the <NRW> β€” that's the letter telling it which object type you mean, iykyk πŸ”₯

🌸 OUTPUT FORMATTING 'nominatim lookup' 🌸

  • --format FORMAT β€” format of result (use --list-format to see supported formats)
  • --addressdetails β€” include a breakdown of the address into elements
  • --extratags β€” include additional information if available (e.g. wikipedia link, opening hours)
  • --entrances β€” include a list of tagged entrance nodes
  • --namedetails β€” include a list of alternative names
  • --lang LANGS, --accept-language LANGS β€” preferred language order for presenting search results
  • --polygon-output {geojson,kml,svg,text} β€” output geometry of results as a GeoJSON, KML, SVG or WKT
  • --polygon-threshold TOLERANCE β€” simplify output geometry. Parameter is the difference tolerance in degrees.

πŸ’– OTHER OPTIONS 'nominatim lookup' πŸ’–

  • --list-formats β€” 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]

Executes an API details query β€” this is the "okay but tell me everything" one πŸ™ˆ

Works exactly the same as calling the /details endpoint on the web API. Docs:

https://nominatim.org/release-docs/latest/api/Details/


πŸ’« DEFAULT ARGUMENTS 'nominatim details' πŸ’«

  • -q, --quiet β€” print only error messages
  • -v, --verbose β€” increase verboseness of output
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/)
  • -j NUM, --threads NUM β€” number of parallel threads to use

πŸ¦‹ QUERY ARGUMENTS 'nominatim details' πŸ¦‹

  • --node NODE, -n NODE β€” look up the OSM node with the given ID.
  • --way WAY, -w WAY β€” look up the OSM way with the given ID.
  • --relation RELATION, -r RELATION β€” look up the OSM relation with the given ID.
  • --place_id PLACE_ID, -p PLACE_ID β€” database internal identifier of the OSM object to look up
  • --class OBJECT_CLASS β€” class type, used to disambiguate multiple entries of the same object.

πŸ’… OUTPUT ARGUMENTS 'nominatim details' πŸ’…

  • --format FORMAT β€” format of result (use --list-formats to see supported formats)
  • --addressdetails β€” include a breakdown of the address into elements
  • --keywords β€” include a list of name keywords and address keywords
  • --linkedplaces β€” include details of places that are linked with this one
  • --entrances β€” include a list of tagged entrance nodes
  • --hierarchy β€” include details of places lower in the address hierarchy
  • --group_hierarchy β€” group the places by type
  • --polygon_geojson β€” include the geometry of the result
  • --lang LANGS, --accept-language LANGS β€” preferred language order for presenting search results

⭐ OTHER OPTIONS 'nominatim details' ⭐

  • --list-formats β€” list supported output formats and exit.

🫢 COMMAND 'nominatim status' 🫢

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

Executes an API status query β€” the little "hey, you alive?" check-in for your install πŸ’€πŸ’–

Works exactly the same as calling the /status endpoint on the web API. Docs:

https://nominatim.org/release-docs/latest/api/Status/


πŸŽ€ DEFAULT ARGUMENTS 'nominatim status' πŸŽ€

  • -q, --quiet β€” print only error messages
  • -v, --verbose β€” increase verboseness of output
  • --project-dir DIR β€” base directory of the Nominatim installation (default: /var/lib/nominatim/)
  • -j NUM, --threads NUM β€” number of parallel threads to use

✨ API PARAMETERS 'nominatim status' ✨

okay so here's the one knob you get for the API call itself, and honestly? it's a good one πŸŽ€

  • --format FORMAT β€” sets the format of the result. not sure which formats exist? bestie, just run --list-formats and it'll spill the whole menu for you. πŸ’…

✨ OTHER OPTIONS 'nominatim status' ✨

the little extras, the garnish, the finishing touch 🌸

  • --list-formats β€” lists all the supported output formats and then dips out (exits). that's it, that's the whole job. iconic behaviour honestly πŸ‘‘

✨ AUTHOR ✨

brought to you by the Nominatim developer community β€” absolute legends, no cap 🫢

want to slide into their inbox? info@nominatim.org πŸ’Œ


✨ DISTRIBUTION ✨

the latest version of Nominatim can be downloaded from https://nominatim.org β€” go get you the freshest build, girlie 🌈⭐


and that's the whole page, bestie!! you read all of it, i'm so proud πŸ˜­πŸ’–

okay so final vibe check before you close the tab: this page is for Nominatim, dated 2026-04-19, and it's NOMINATIM(1) in the manual β€” that's the source, version and date energy right there. slay, go forth, and may all your queries be fast ngl πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from