Nominatim logo

Nominatim

Nominatim is an open-source (BSD-2-Clause) search engine for OpenStreetMap data, supporting forward geocoding (address to coordinates), reverse geocoding (coordinates to address), and address lookup by OSM ID. The OpenStreetMap Foundation runs a free public instance at nominatim.openstreetmap.org under a published usage policy, and the project is also widely self-hosted and resold by commercial providers (MapTiler, LocationIQ, Geocode Earth).

1 APIs 3 Capabilities 8 Features
GeocodingOpenStreetMapMapsLocationServicesOpenSourcePublic APIs

APIs

Nominatim API

HTTP API surface implemented by Nominatim. The same surface is exposed by the OSMF public instance, self-hosted Nominatim deployments, and most commercial Nominatim-compatible p...

Capabilities

Features

Forward Geocoding

Convert free-form or structured addresses into coordinates and full place metadata.

Reverse Geocoding

Identify the closest OSM feature to a coordinate at a chosen administrative zoom level.

OSM Object Lookup

Resolve up to 50 OSM nodes/ways/relations to detailed address breakdowns per call.

Multi-Format Output

Returns json, jsonv2, geojson, geocodejson, and xml from a single endpoint via `format`.

Polygon Geometry

Optional geometry output as GeoJSON, KML, SVG, or WKT with a simplification tolerance.

Country And Layer Filtering

Bias or restrict results by ISO country code, viewbox, layer (address/poi/etc.), or feature type.

Service Health

/status endpoint exposes data freshness, software version, and database version for monitoring.

Self-Hostable

Install on your own infrastructure from a planet.osm.pbf import; BSD-2-Clause licensed.

Use Cases

Map Search Box

Power "find a place" search boxes in OSM-based map applications.

Reverse Geocoding For Telemetry

Attach human-readable addresses to coordinates collected from devices, vehicles, or sensors.

Civic Tech And Open Data

Provide geocoding for public-interest tools where commercial pricing is a barrier.

Background Address Normalisation

When self-hosted, normalize address strings in pipelines without per-call costs.

AI Agents With Map Tools

Ground LLM agents in real-world places via an MCP server backed by Nominatim.

Integrations

geopy

Python geocoding library shipping a built-in Nominatim adapter.

GeoDjango

Django GIS framework with Nominatim geocoder support.

Leaflet Control Geocoder

Leaflet plugin offering a Nominatim geocoder out of the box.

OpenLayers

Web mapping library frequently paired with Nominatim for search.

QGIS MMQGIS

Desktop GIS plugin that batch-geocodes via Nominatim.

MapTiler Cloud Geocoding

Commercial hosted Nominatim-style API from MapTiler.

LocationIQ

Commercial Nominatim-compatible geocoding/routing platform.

Geocode Earth

Commercial Pelias deployment (Nominatim-compatible workloads).

Solutions

OSMF Public Instance

Free hosted Nominatim under the OSMF Usage Policy (1 req/sec ceiling).

Self-Hosted Nominatim

BSD-2-Clause stack you import a planet dump into; no upstream rate limits.

Commercial Hosted Nominatim

Paid hosted offerings from MapTiler, LocationIQ, Geocode Earth and others.

Semantic Vocabularies

Nominatim Context

33 classes · 3 properties

JSON-LD

API Governance Rules

Nominatim API Rules

9 rules · 5 errors 3 warnings 1 info

SPECTRAL

Resources

🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
👥
Nominatim core (Python)
GitHubRepository
👥
Nominatim debug UI (Svelte)
GitHubRepository
👥
Data Analyser QA tool
GitHubRepository
👥
Wikipedia/Wikidata preprocessing
GitHubRepository
👥
US Census TIGER preprocessing
GitHubRepository
👥
GB postcode preprocessing
GitHubRepository
👥
Country grid preprocessing
GitHubRepository
👥
Secondary importance raster builder
GitHubRepository
📜
Nominatim Usage Policy
TermsOfService
🔗
RateLimits
RateLimits
🔗
Plans
Plans
🔗
Vocabulary
Vocabulary
🔗
SpectralRules
SpectralRules
🔗
Forward And Reverse Geocoding
NaftikoCapability
🔗
OSM Object Address Lookup
NaftikoCapability
🔗
Nominatim Service Health Check
NaftikoCapability
🔧
osmmcp — OpenStreetMap MCP Server (Nominatim + Overpass + OSRM)
Tools
🔧
geocoding-ai/mcp — Nominatim Geocoding MCP Server (Node.js)
Tools
🔧
geocode-mcp — Nominatim Geocoding MCP Server (Python)
Tools
🔧
open-streetmap-mcp — OpenStreetMap MCP Server
Tools
🔧
Unofficial Nominatim OpenAPI spec
Tools

Sources

Raw ↑
aid: nominatim
name: Nominatim
description: >-
  Nominatim is an open-source (BSD-2-Clause) search engine for OpenStreetMap
  data, supporting forward geocoding (address to coordinates), reverse
  geocoding (coordinates to address), and address lookup by OSM ID. The
  OpenStreetMap Foundation runs a free public instance at
  nominatim.openstreetmap.org under a published usage policy, and the project
  is also widely self-hosted and resold by commercial providers (MapTiler,
  LocationIQ, Geocode Earth).
url: https://nominatim.org/
image: https://nominatim.org/theme/images/osm-logo.svg
specificationVersion: '0.20'
created: '2026-05-28'
modified: '2026-05-29'
x-source: public-apis/public-apis
x-type: opensource
x-category: Geocoding
x-tier: 3
x-tier-reason: bulk-registered-from-public-apis
x-license: BSD-2-Clause
x-governance: OpenStreetMap Foundation (operations)
tags:
  - Geocoding
  - OpenStreetMap
  - Maps
  - LocationServices
  - OpenSource
  - Public APIs
apis:
  - name: Nominatim API
    description: >-
      HTTP API surface implemented by Nominatim. The same surface is exposed by
      the OSMF public instance, self-hosted Nominatim deployments, and most
      commercial Nominatim-compatible providers.
    humanURL: https://nominatim.org/release-docs/develop/api/Overview/
    baseURL: https://nominatim.openstreetmap.org
    tags:
      - Geocoding
      - Search
      - Reverse
      - Lookup
    properties:
      - type: Documentation
        url: https://nominatim.org/release-docs/develop/api/Overview/
      - type: APIReference
        url: https://nominatim.org/release-docs/develop/api/Search/
      - type: OpenAPI
        url: openapi/nominatim-openapi.yml
      - type: JSONSchema
        url: json-schema/nominatim-place-schema.json
        title: Place Schema
      - type: JSONSchema
        url: json-schema/nominatim-address-schema.json
        title: Address Schema
      - type: JSONSchema
        url: json-schema/nominatim-place-details-schema.json
        title: PlaceDetails Schema
      - type: JSONSchema
        url: json-schema/nominatim-status-schema.json
        title: Status Schema
      - type: JSONStructure
        url: json-structure/nominatim-place-structure.json
        title: Place Structure
      - type: JSONStructure
        url: json-structure/nominatim-address-structure.json
        title: Address Structure
      - type: JSONStructure
        url: json-structure/nominatim-status-structure.json
        title: Status Structure
      - type: JSONLD
        url: json-ld/nominatim-context.jsonld
      - type: Example
        url: examples/nominatim-search-example.json
        title: Search Example
      - type: Example
        url: examples/nominatim-reverse-example.json
        title: Reverse Example
      - type: Example
        url: examples/nominatim-lookup-example.json
        title: Lookup Example
      - type: Example
        url: examples/nominatim-details-example.json
        title: Details Example
      - type: Example
        url: examples/nominatim-status-example.json
        title: Status Example
      - type: Example
        url: examples/nominatim-place-example.json
        title: Place JSON-LD Example
      - type: Example
        url: examples/nominatim-address-example.json
        title: Address JSON-LD Example
      - type: RateLimits
        url: rate-limits/nominatim-rate-limits.yml
      - type: Plans
        url: plans/nominatim-plans-pricing.yml
      - type: SDK
        url: https://pypi.org/project/nominatim-api/
        title: Nominatim Python API
      - type: SDK
        url: https://pypi.org/project/geopy/
        title: geopy (Python, includes Nominatim geocoder)
common:
  - type: Website
    url: https://nominatim.org/
  - type: Documentation
    url: https://nominatim.org/release-docs/develop/
  - type: GitHubOrganization
    url: https://github.com/osm-search
  - type: GitHubRepository
    url: https://github.com/osm-search/Nominatim
    title: Nominatim core (Python)
  - type: GitHubRepository
    url: https://github.com/osm-search/nominatim-ui
    title: Nominatim debug UI (Svelte)
  - type: GitHubRepository
    url: https://github.com/osm-search/Nominatim-Data-Analyser
    title: Data Analyser QA tool
  - type: GitHubRepository
    url: https://github.com/osm-search/wikipedia-wikidata
    title: Wikipedia/Wikidata preprocessing
  - type: GitHubRepository
    url: https://github.com/osm-search/TIGER-data
    title: US Census TIGER preprocessing
  - type: GitHubRepository
    url: https://github.com/osm-search/gb-postcode-data
    title: GB postcode preprocessing
  - type: GitHubRepository
    url: https://github.com/osm-search/country-grid-data
    title: Country grid preprocessing
  - type: GitHubRepository
    url: https://github.com/osm-search/secondary-importance
    title: Secondary importance raster builder
  - type: TermsOfService
    url: https://operations.osmfoundation.org/policies/nominatim/
    title: Nominatim Usage Policy
  - type: RateLimits
    url: rate-limits/nominatim-rate-limits.yml
  - type: Plans
    url: plans/nominatim-plans-pricing.yml
  - type: Vocabulary
    url: vocabulary/nominatim-vocabulary.yml
  - type: SpectralRules
    url: rules/nominatim-rules.yml
  - type: NaftikoCapability
    url: capabilities/geocoding.yaml
    title: Forward And Reverse Geocoding
  - type: NaftikoCapability
    url: capabilities/address-lookup.yaml
    title: OSM Object Address Lookup
  - type: NaftikoCapability
    url: capabilities/service-health.yaml
    title: Nominatim Service Health Check
  - type: Tools
    url: https://github.com/NERVsystems/osmmcp
    title: osmmcp — OpenStreetMap MCP Server (Nominatim + Overpass + OSRM)
  - type: Tools
    url: https://github.com/geocoding-ai/mcp
    title: geocoding-ai/mcp — Nominatim Geocoding MCP Server (Node.js)
  - type: Tools
    url: https://github.com/X-McKay/geocode-mcp
    title: geocode-mcp — Nominatim Geocoding MCP Server (Python)
  - type: Tools
    url: https://github.com/jagan-shanmugam/open-streetmap-mcp
    title: open-streetmap-mcp — OpenStreetMap MCP Server
  - type: Tools
    url: https://github.com/sparkfabrik/nominatim-openapi
    title: Unofficial Nominatim OpenAPI spec
  - type: Features
    data:
      - name: Forward Geocoding
        description: Convert free-form or structured addresses into coordinates and full place metadata.
      - name: Reverse Geocoding
        description: Identify the closest OSM feature to a coordinate at a chosen administrative zoom level.
      - name: OSM Object Lookup
        description: Resolve up to 50 OSM nodes/ways/relations to detailed address breakdowns per call.
      - name: Multi-Format Output
        description: Returns json, jsonv2, geojson, geocodejson, and xml from a single endpoint via `format`.
      - name: Polygon Geometry
        description: Optional geometry output as GeoJSON, KML, SVG, or WKT with a simplification tolerance.
      - name: Country And Layer Filtering
        description: Bias or restrict results by ISO country code, viewbox, layer (address/poi/etc.), or feature type.
      - name: Service Health
        description: /status endpoint exposes data freshness, software version, and database version for monitoring.
      - name: Self-Hostable
        description: Install on your own infrastructure from a planet.osm.pbf import; BSD-2-Clause licensed.
  - type: UseCases
    data:
      - name: Map Search Box
        description: Power "find a place" search boxes in OSM-based map applications.
      - name: Reverse Geocoding For Telemetry
        description: Attach human-readable addresses to coordinates collected from devices, vehicles, or sensors.
      - name: Civic Tech And Open Data
        description: Provide geocoding for public-interest tools where commercial pricing is a barrier.
      - name: Background Address Normalisation
        description: When self-hosted, normalize address strings in pipelines without per-call costs.
      - name: AI Agents With Map Tools
        description: Ground LLM agents in real-world places via an MCP server backed by Nominatim.
  - type: Integrations
    data:
      - name: geopy
        description: Python geocoding library shipping a built-in Nominatim adapter.
      - name: GeoDjango
        description: Django GIS framework with Nominatim geocoder support.
      - name: Leaflet Control Geocoder
        description: Leaflet plugin offering a Nominatim geocoder out of the box.
      - name: OpenLayers
        description: Web mapping library frequently paired with Nominatim for search.
      - name: QGIS MMQGIS
        description: Desktop GIS plugin that batch-geocodes via Nominatim.
      - name: MapTiler Cloud Geocoding
        description: Commercial hosted Nominatim-style API from MapTiler.
      - name: LocationIQ
        description: Commercial Nominatim-compatible geocoding/routing platform.
      - name: Geocode Earth
        description: Commercial Pelias deployment (Nominatim-compatible workloads).
  - type: Solutions
    data:
      - name: OSMF Public Instance
        description: Free hosted Nominatim under the OSMF Usage Policy (1 req/sec ceiling).
      - name: Self-Hosted Nominatim
        description: BSD-2-Clause stack you import a planet dump into; no upstream rate limits.
      - name: Commercial Hosted Nominatim
        description: Paid hosted offerings from MapTiler, LocationIQ, Geocode Earth and others.
maintainers:
  - FN: Kin Lane
    email: [email protected]