Nominatim

Nominatim

Open-source geocoding and reverse-geocoding using OpenStreetMap data

4kstars
794forks
Last commit: 3d ago
Repo age: 14y old
Nominatim screenshot

Nominatim is an open-source geocoding engine that searches OpenStreetMap (OSM) data by name and address and generates addresses from OSM objects (reverse geocoding). It provides both a REST API and a Python library surface for embedding search functionality and supports structured queries and configurable result ranking.

Key Features

  • Forward geocoding (free-form and structured queries) and reverse geocoding for latitude/longitude pairs
  • REST API and Python library for programmatic use, plus a web UI for manual lookups
  • Import and update tooling for OSM data (osm2pgsql-based workflows and minutely/osc updates)
  • Configurable tokenizers, ranking, and importance scoring (supports external data like TIGER/Wikidata for ranking)
  • Scalable installs: from single-city setups to full-planet imports with tuned PostgreSQL/PostGIS databases
  • Customization hooks for import styles, address handling, and API result formatting

Use Cases

  • Powering a site or app search box to resolve user-entered addresses and place names
  • Reverse-geocoding GPS traces to human-readable addresses for mapping or logging
  • Bulk-geocoding address lists as part of data integrations or ETL pipelines

Limitations and Considerations

  • Full-planet imports are resource-intensive (large RAM/disk requirements and long import times); adequate hardware and PostgreSQL tuning are required
  • Relies on PostgreSQL/PostGIS and external import tools; version compatibility (PostgreSQL/PostGIS/osm2pgsql) should be verified before install
  • Public instance enforces usage policy and rate limits; high-volume use requires a self-hosted instance or commercial provider

Nominatim is a mature, OSM-native geocoder used by the OpenStreetMap project itself. It is suitable for projects that need control over geocoding data, custom ranking, or on-premises operation, provided the deployer accounts for its operational requirements.

Categories:

Tags:

Tech Stack:

Share:

Similar Services

Meilisearch

Meilisearch

Fast search engine API with full-text, vector, and hybrid search

55.4k
2.3k
Last commit: 2d ago

Meilisearch is a lightning-fast search engine API for apps and websites, offering typo-tolerant full-text search plus vector and AI-ready hybrid retrieval.

Alternative to:
Algolia
Algolia
+16
ArchiveBox

ArchiveBox

Open-source self-hosted web archiving and snapshotting tool

26.4k
1.4k
Last commit: 11d ago

Self-hosted tool to collect and preserve webpages, media, and bookmarks in durable formats (HTML, PDF, WARC, MP4) with a CLI, web UI, and search.

Alternative to:
Internet Archive Wayback Machine
Internet Archive Wayback Machine
+3
Typesense

Typesense

Fast, typo-tolerant search engine with keyword and vector search

25k
850
Last commit: 2d ago

Typesense is a developer-friendly search engine for instant, typo-tolerant search-as-you-type with faceting, filtering, geo search, and vector/semantic search APIs.

Alternative to:
Algolia
Algolia
+19
SearXNG

SearXNG

Privacy-focused metasearch engine for aggregating web results

24.2k
2.4k
Last commit: 22h ago

SearXNG is a privacy-respecting metasearch engine that aggregates results from many search services without tracking or profiling users.

Alternative to:
Google Search
Google Search
+6
ZincSearch

ZincSearch

A lightweight open-source search engine for full-text indexing.

17.7k
762
Last commit: 1mo ago

ZincSearch is a Go-based, lightweight search engine for full-text indexing with Elasticsearch API-compatible ingestion, a Vue UI, and a schema-less document model.

Alternative to:
Elastic Cloud (Elasticsearch Service)
Elastic Cloud (Elasticsearch Service)
+7
Onyx Community Edition

Onyx Community Edition

Self-hosted AI chat and enterprise search for any LLM

17.1k
2.3k
Last commit: 16h ago

Open-source platform for AI chat, RAG, agents, and enterprise search across your team’s connected knowledge sources, compatible with hosted and local LLMs.

Alternative to:
Onyx
Onyx
+19