Search engines

From OpenStreetMap Wiki
Jump to navigation Jump to search

Searching for the location of an object in the OSM database is useful for many purposes.

Besides rendering, searching is an important step towards routing. So this is about approaches to search OSM or to link it with the web.

Search engine services

These options are available as services you can call:

Non-commercial, ToS limited

  • Nominatim is deployed on OpenStreetMap servers, and powers the search on the front page as well as offering an API.
  • Photon hosted by
  • GeoCheck hosted by - searches across Nominatim OSM, Google, Photon OSM, BANO, IGN, Etalab BANO
  • OSMNames maintained by MapTiler and HSR - provides basic search in place names with autocomplete for demo purposes. The project mainly aims to deliver gazetteer data from OSM.
  • LocalArea maintained by CrimeFlare - searches OpenStreetMap and display ethical corporations


  • OpenCage hosted by OpenCage GmbH - searches across OpenStreetMap, geonames, geoplanet among other sources.
  • LocationIQ searches across OSM, OA, Geonames, and WoF, among other sources
  • Osmocoder hosted by, able to do batch geocoding, so far for area of Germany, and in German language.
  • Geocode Earth provide hosted geocoding APIs powered by the open-source Pelias Geocoder. They offer autocomplete, reverse & full-text search across OSM, OpenAddresses, Geonames and Who's on First. Run by the former Mapzen Search team.
  • WhatIsWhere Free, powerful map based search. Supports multiple conditions applied at the same time, saving/loading search projects, export to CSV, etc.
  • NetToolKit provides affordable geocoding, autocomplete/search, and map tile services.
  • Geoapify offers direct and reverse geocoding, as well as autocomplete. They support single and batch requests. The APIs can be tested with Playground.
  • Geocoding API Forward & Reverse Geocoding based on OpenStreetMap data with low latency served by a global cdn.
  • SmartMaps powered by YellowMap AG - Worldwide Forward & Reverse Geocoding, Routing, Matrix Routing and Autocomplete based on OpenStreetMap data.
  • BigDataCloud provides free client-side reverse geocoding API which utilises data from OpenStreetMap (OSM) project and various other open public sources. They deliver administrative/non-administrative boundaries-based results.
  • provides hosted geocoding APIs powered by Nominatim, offers full-text search and reverse geocoding.
  • provides forward and reverse geocoding. with spell correction and more. 2500 daily free api limit

Search engine software

These options can be deployed to your own server:

Comparison of the web API of some of the tools
Geocoder Fulltext Geocoding Fields Geocoding Autocomplete Filter Bias Reverse geocoding Batch Normalisation Gazetteer Linkage Autocompletion Linkage Engine Data source
Nominatim yes no no countrycodes, bbox N/A yes no Nominatim Strict Postgres OSM
Gisgraphy yes yes yes Radius, Country lat/lon, Disable Fuzzy yes no Token EdgeNGram Solr OpenAddresses, OSM
Photon yes no yes bbox, OSM Tags lat/lon yes no Nominatim EdgeNGram ElasticSearch OSM
Pelias yes yes yes Placetype, Country, Bbox, Radius, admin_boundary, Data source Proximity yes no libpostal Who’s On First Token + EdgeNGram EdgeNGram ElasticSearch OSM, OpenAddresses,

Who's on First, Geonames. Supports custom data.

addok yes no yes postal_code lat/lon address only yes regex N/A Phonetization or Trigram EdgeNGram Redis BAN, BANO(OSM)
Mimirsbrunn no no yes Dataset, Type, Zone lat/lon yes no regex Cosmogony Trigram EdgeNGram ElasticSearch OpenAddresses, OSM, BAN

Dead projects

DuckDuckGo shortcuts

 DuckDuckGo offers quite a few Bang operators for directly linking to an object, or forming search queries.

  • !OSM, !OSt, !openstreet, !openstreet, !openstreetmap, !geouri searching as in
    • !OSMnode direct id
    • !OSMway direct id
    • !OSMrelation direct id
  • !osmfr OSM-Fr
  • !Nominatim directly searching in Nominatim.
  • !Taginfo Taginfo
  • !OSMCha OSMCha
  • !hdyc How did you contribute to OpenStreetMap?
  • !osmw, !wosm, !osmwiki this OSM wiki
  • !hosm OSM Help
  • !osmforum OSM Forum

The operators are not case sensitive.


  1. note TODO notes in the readme