OpenStreetMap Nominatim

App · Travel & Places · 8 actions

Turn place names and addresses into coordinates, and coordinates back into addresses, using OpenStreetMap's own geocoder. Search the whole world map by text or by separate address fields, look places up by their OpenStreetMap id, and read everything the map holds about one of them. No account or API key required.

Actions

ActionWhat it does
Check the serverCheck that the Nominatim server is up, and see how recently it pulled in edits from OpenStreetMap.
Find the address of a coordinateTurn a latitude and longitude into the place that is there - its address, its name, and what kind of thing it is.
Get everything about one placeRead the deepest view Nominatim has of a single place: every name variant, the tags behind it, the address hierarchy it sits in, the places it contains, and its search ranks.
List broken area boundariesList the areas whose outline this server could not import cleanly - a boundary that doesn't close, or a shape that had to be simplified - each with the error that was recorded.
List places pending deletionList the places that have been deleted from OpenStreetMap but are still in this server's index, waiting for the deletion to be confirmed.
Look up places by OSM idFetch up to 50 known OpenStreetMap objects by their ids in one call.
Search by address fieldsFind a place from the separate parts of its address - street, city, postcode, country - rather than one line of text.
Search for placesSearch OpenStreetMap for anything you can describe in words - 'Brandenburg Gate', '10 Downing Street, London', a postcode, or 'coffee' near a point - and get back each match with its coordinates, full address, and OpenStreetMap id.

Check the server

Check that the Nominatim server is up, and see how recently it pulled in edits from OpenStreetMap. Worth running first in a long workflow, and the quickest way to confirm your own Nominatim server is reachable.

Inputs

None.

Outputs

data_updatedtext
When the server last pulled in OpenStreetMap edits. A place mapped after this is not searchable yet.
database_versiontext
Version of the data format in its database
healthytrue/false
True when the server is ready to answer queries
messagetext
'OK', or what is wrong with the server
server_urltext
The Nominatim server that answered
software_versiontext
Version of Nominatim running
statusnumber
Status code; 0 means everything is fine
Example output
{
  "data_updated": "2026-08-23T22:41:45+00:00",
  "database_version": "5.3.99-3",
  "healthy": true,
  "message": "OK",
  "server_url": "https://nominatim.openstreetmap.org",
  "software_version": "5.3.0",
  "status": 0
}

Find the address of a coordinate

Turn a latitude and longitude into the place that is there - its address, its name, and what kind of thing it is. Choose how zoomed in the answer should be, from the exact building up to the country. A point with nothing mapped near it comes back as 'found: false' rather than as an error.

Inputs

LatitudelatitudenumberRequired
Latitude of the point, between -90 and 90.From -90 to 90.
LongitudelongitudenumberRequired
Longitude of the point, between -180 and 180. Locations in the Americas take a negative longitude.From -180 to 180.
Level of detailzoomnumber
How specific the answer should be. 'Building' names the exact address; 'City' names the city the point falls in. Defaults to the building.One of: 3 (Country), 5 (State or region), 8 (County), 10 (City), 12 (Town or borough), 13 (Village or suburb), 14 (Neighbourhood), 15 (Any settlement), 16 (Major streets), 17 (All streets), 18 (Building). Default: 18.
Kinds of placelayerslist
Only match these kinds of object - the same list as on the search actions. Defaults to addresses and points of interest.One or more of: address (Addresses and places), poi (Points of interest), railway (Railway features), natural (Natural features), manmade (Man-made features). Default: ["address", "poi"].
Languagelanguagetext
Language for the returned place and country names. Defaults to English. A place with no name mapped in the chosen language comes back under its local name.One of: ab (Abkhaz), aa (Afar), af (Afrikaans), ak (Akan), sq (Albanian), am (Amharic), ar (Arabic), an (Aragonese), hy (Armenian), as (Assamese), and 174 more. Default: en.
Include the address breakdownaddress_detailstrue/false
Return the address split into its parts - house number, road, city, postcode, country - alongside the single-line version. On by default.Default: true.
Include extra OSM tagsextra_tagstrue/false
Return the rest of the OpenStreetMap tags on the object, such as its website, phone number, opening hours, or Wikipedia article.Default: false.
Include every name variantname_detailstrue/false
Return all of the place's names - its official name, its short name, and its name in every language mapped for it.Default: false.
Include entrancesentrancestrue/false
Return the mapped entrances to the place, each with its own coordinate. Useful for routing someone to a door rather than to the middle of a building.Default: false.
Shape of the placegeometrytext
Return the outline of the place as well as its centre point. Choose the format that suits what you will do with it: GeoJSON for mapping libraries, KML for Google Earth, SVG for drawing, or Well-Known Text. Off by default - an outline can be very large.One of: none (Don't include the shape), geojson, kml, svg, text (Well-Known Text (WKT)). Default: none.
Simplify the shape bygeometry_simplificationnumber
Smooth the outline to make it smaller, in degrees - 0.001 is roughly 100 metres. Leave blank for the exact shape. Only used when a shape format is chosen above.From 0 to 10.

Outputs

attributiontext
The OpenStreetMap attribution to display alongside these results
foundtrue/false
False when nothing is mapped at this coordinate
latitudenumber
The latitude that was looked up
longitudenumber
The longitude that was looked up
messagetext
Why nothing was found, when found is false
placeobject
The place at the coordinate
Example output
{
  "attribution": "Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "found": true,
  "latitude": 52.5163,
  "longitude": 13.3777,
  "place": {
    "address": {
      "city": "Berlin",
      "country": "Germany",
      "country_code": "de",
      "postcode": "10117",
      "road": "Pariser Platz",
      "suburb": "Mitte"
    },
    "address_type": "tourism",
    "bounding_box": {
      "max_latitude": 52.51632,
      "max_longitude": 13.3777521,
      "min_latitude": 52.51622,
      "min_longitude": 13.3776521
    },
    "category": "tourism",
    "display_name": "Quadriga, 1, Pariser Platz, Mitte, Berlin, 10117, Germany",
    "importance": 8.875486381318407e-05,
    "latitude": 52.51627,
    "longitude": 13.3777021,
    "name": "Quadriga",
    "osm_id": 3786417057,
    "osm_reference": "N3786417057",
    "osm_type": "node",
    "osm_url": "https://www.openstreetmap.org/node/3786417057",
    "place_id": 145816286,
    "place_rank": 30,
    "type": "artwork"
  }
}

Get everything about one place

Read the deepest view Nominatim has of a single place: every name variant, the tags behind it, the address hierarchy it sits in, the places it contains, and its search ranks. Name the place by its OpenStreetMap type and id, or by the 'place_id' from an earlier step.

Inputs

Kind of OpenStreetMap objectosm_typetext
Which kind of object the id below refers to: a node is a single point such as a shop, a way is a line or an area such as a street or a building, and a relation is a group of objects such as a city boundary. Give this and the id, or give a place id instead.One of: N (Node), W (Way), R (Relation).
OpenStreetMap idosm_idnumber
The object's numeric OpenStreetMap id, without the type letter.
Nominatim place idplace_idnumber
Nominatim's own id for the place, as returned by a search. Use this instead of the type and id above. Note that it is only valid on the server it came from.
Which entry to readosm_classtext
Only needed when one OpenStreetMap object is indexed several times - a building that is also a tourist attraction, say. Give the tag key to choose between them, such as 'tourism'.
Include the places inside this onehierarchytrue/false
List the addresses and points of interest that sit within this place. Can be a very long list for a city.Default: false.
Group those places by kindgroup_hierarchytrue/false
Return the list above grouped by what each place is, rather than as one flat list.Default: false.
Include linked placeslinked_placestrue/false
Include the other OpenStreetMap objects that describe this same place, such as the city node linked to a city boundary. On by default.Default: true.
Include search keywordskeywordstrue/false
Include the words Nominatim indexed this place under. Useful for working out why a search did or didn't match it.Default: false.
Include the shape of the placeinclude_geometrytrue/false
Return the place's outline as GeoJSON.Default: false.
Include the address breakdownaddress_detailstrue/false
Return the address split into its parts - house number, road, city, postcode, country - alongside the single-line version. On by default.Default: true.
Include entrancesentrancestrue/false
Return the mapped entrances to the place, each with its own coordinate. Useful for routing someone to a door rather than to the middle of a building.Default: false.
Languagelanguagetext
Language for the returned place and country names. Defaults to English. A place with no name mapped in the chosen language comes back under its local name.One of: ab (Abkhaz), aa (Afar), af (Afrikaans), ak (Akan), sq (Albanian), am (Amharic), ar (Arabic), an (Aragonese), hy (Armenian), as (Assamese), and 174 more. Default: en.

Outputs

attributiontext
The OpenStreetMap attribution to display alongside these results
placeobject
Everything Nominatim holds about the place
Example output
{
  "attribution": "Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "place": {
    "address": [
      {
        "admin_level": 4,
        "class": "boundary",
        "isaddress": true,
        "localname": "Berlin",
        "osm_id": 62422,
        "osm_type": "R",
        "place_id": 145205353,
        "rank_address": 16,
        "type": "administrative"
      }
    ],
    "address_rank": 16,
    "address_tags": {},
    "admin_level": 4,
    "category": "boundary",
    "country_code": "de",
    "extra_tags": {
      "population": "3755251",
      "wikidata": "Q64"
    },
    "house_number": "",
    "importance": 0.8522196536088086,
    "indexed_date": "2026-08-18T06:55:42.856732+00:00",
    "is_area": true,
    "latitude": 52.5173885,
    "linked_places": [],
    "longitude": 13.3951309,
    "name": "Berlin",
    "names": {
      "name": "Berlin",
      "name:en": "Berlin",
      "name:fr": "Berlin"
    },
    "osm_id": 62422,
    "osm_reference": "R62422",
    "osm_type": "relation",
    "osm_url": "https://www.openstreetmap.org/relation/62422",
    "parent_place_id": 0,
    "place_id": 145205353,
    "postcode": "",
    "search_rank": 8,
    "type": "administrative",
    "wikipedia": "de:Berlin"
  }
}

List broken area boundaries

List the areas whose outline this server could not import cleanly - a boundary that doesn't close, or a shape that had to be simplified - each with the error that was recorded. How mappers find boundaries that need fixing, and how a self-hosted server's import is checked for damage.

Inputs

Only from the last N daysdaysnumber
Only list problems recorded in the last few days. Leave blank for all of them.From 1 to 3650.
Only this kind of areaosm_classtext
Only list problems on one kind of object, given as an OpenStreetMap tag key such as 'boundary' or 'landuse'. Leave blank for all of them.
Only shapes that had to be shrunkreduced_onlytrue/false
Only list the areas whose shape Nominatim had to reduce, rather than every kind of problem.Default: false.

Outputs

countnumber
Number of broken areas returned
polygonslist
The areas that could not be imported cleanly
Example output
{
  "count": 1,
  "polygons": [
    {
      "category": "boundary",
      "country_code": "",
      "error_message": "Area reduced from 0.18513026839153993 to 0.05390398062177981",
      "name": "South Goa",
      "osm_id": 1997194,
      "osm_reference": "R1997194",
      "osm_type": "relation",
      "osm_url": "https://www.openstreetmap.org/relation/1997194",
      "type": "administrative",
      "updated": "2026-08-20 17:17:18"
    }
  ]
}

List places pending deletion

List the places that have been deleted from OpenStreetMap but are still in this server's index, waiting for the deletion to be confirmed. A maintenance view, most useful for keeping an eye on your own Nominatim server.

Inputs

None.

Outputs

countnumber
Number of places waiting to be deleted
placeslist
The places still in the index
Example output
{
  "count": 1,
  "places": [
    {
      "category": "boundary",
      "country_code": "cz",
      "name": "Jihoz\u00e1pad",
      "osm_id": 435511,
      "osm_reference": "R435511",
      "osm_type": "relation",
      "osm_url": "https://www.openstreetmap.org/relation/435511",
      "place_id": 130334717,
      "type": "administrative"
    }
  ]
}

Look up places by OSM id

Fetch up to 50 known OpenStreetMap objects by their ids in one call. Search results move as the map is edited, so a workflow that must keep pointing at the same place stores its id once and looks it up from then on. Every place this integration returns carries that id as 'osm_reference'.

Inputs

OpenStreetMap idsosm_idslistRequired
The objects to fetch, each written as a type letter and an id: N for a node, W for a way, R for a relation. Up to 50 at a time.
Languagelanguagetext
Language for the returned place and country names. Defaults to English. A place with no name mapped in the chosen language comes back under its local name.One of: ab (Abkhaz), aa (Afar), af (Afrikaans), ak (Akan), sq (Albanian), am (Amharic), ar (Arabic), an (Aragonese), hy (Armenian), as (Assamese), and 174 more. Default: en.
Include the address breakdownaddress_detailstrue/false
Return the address split into its parts - house number, road, city, postcode, country - alongside the single-line version. On by default.Default: true.
Include extra OSM tagsextra_tagstrue/false
Return the rest of the OpenStreetMap tags on the object, such as its website, phone number, opening hours, or Wikipedia article.Default: false.
Include every name variantname_detailstrue/false
Return all of the place's names - its official name, its short name, and its name in every language mapped for it.Default: false.
Include entrancesentrancestrue/false
Return the mapped entrances to the place, each with its own coordinate. Useful for routing someone to a door rather than to the middle of a building.Default: false.
Shape of the placegeometrytext
Return the outline of the place as well as its centre point. Choose the format that suits what you will do with it: GeoJSON for mapping libraries, KML for Google Earth, SVG for drawing, or Well-Known Text. Off by default - an outline can be very large.One of: none (Don't include the shape), geojson, kml, svg, text (Well-Known Text (WKT)). Default: none.
Simplify the shape bygeometry_simplificationnumber
Smooth the outline to make it smaller, in degrees - 0.001 is roughly 100 metres. Leave blank for the exact shape. Only used when a shape format is chosen above.From 0 to 10.

Outputs

attributiontext
The OpenStreetMap attribution to display alongside these results
countnumber
Number of places returned
not_foundlist
Ids Nominatim has no place for
placeslist
The places that were found
requestedlist
The ids that were asked for
Example output
{
  "attribution": "Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "count": 2,
  "not_found": [],
  "places": [
    {
      "address": {
        "city": "Manchester",
        "country": "United Kingdom",
        "country_code": "gb",
        "state": "England"
      },
      "address_type": "city",
      "bounding_box": {
        "max_latitude": 53.5445923,
        "max_longitude": -2.1468288,
        "min_latitude": 53.3401044,
        "min_longitude": -2.3199185
      },
      "category": "boundary",
      "display_name": "Manchester, Greater Manchester, England, United Kingdom",
      "importance": 0.7396662642520947,
      "latitude": 53.4424618,
      "longitude": -2.2324547,
      "name": "Manchester",
      "osm_id": 146656,
      "osm_reference": "R146656",
      "osm_type": "relation",
      "osm_url": "https://www.openstreetmap.org/relation/146656",
      "place_id": 277214488,
      "place_rank": 16,
      "type": "administrative"
    }
  ],
  "requested": [
    "R146656",
    "W518071791"
  ]
}

Search by address fields

Find a place from the separate parts of its address - street, city, postcode, country - rather than one line of text. More accurate than pasting the parts back together, because Nominatim is told which part is which instead of guessing. Use it when the address already arrives in columns.

Inputs

Streetstreettext
House number and street name.
Citycitytext
City, town, or village.
Countycountytext
County or district, where the country uses them.
State or regionstatetext
State, province, or region.
Postal codepostal_codetext
Postcode or ZIP code.
Countrycountrytext
Country name or two-letter code. Fill at least one field on this form.
Place name or typeamenitytext
The name or kind of place at the address, such as 'Town Hall' or 'pharmacy'.
Max resultslimitnumber
How many matches to return, from 1 to 40. Defaults to 10.From 1 to 40. Default: 10.
Only these countriescountry_codeslist
Restrict the search to one or more countries. Leave empty to search the whole world.One or more of: AF (Afghanistan), AL (Albania), DZ (Algeria), AD (Andorra), AO (Angola), AI (Anguilla), AQ (Antarctica), AG (Antigua & Barbuda), AR (Argentina), AM (Armenia), and 239 more.
Languagelanguagetext
Language for the returned place and country names. Defaults to English. A place with no name mapped in the chosen language comes back under its local name.One of: ab (Abkhaz), aa (Afar), af (Afrikaans), ak (Akan), sq (Albanian), am (Amharic), ar (Arabic), an (Aragonese), hy (Armenian), as (Assamese), and 174 more. Default: en.
Include the address breakdownaddress_detailstrue/false
Return the address split into its parts - house number, road, city, postcode, country - alongside the single-line version. On by default.Default: true.
Include extra OSM tagsextra_tagstrue/false
Return the rest of the OpenStreetMap tags on the object, such as its website, phone number, opening hours, or Wikipedia article.Default: false.
Include every name variantname_detailstrue/false
Return all of the place's names - its official name, its short name, and its name in every language mapped for it.Default: false.
Include entrancesentrancestrue/false
Return the mapped entrances to the place, each with its own coordinate. Useful for routing someone to a door rather than to the middle of a building.Default: false.
Shape of the placegeometrytext
Return the outline of the place as well as its centre point. Choose the format that suits what you will do with it: GeoJSON for mapping libraries, KML for Google Earth, SVG for drawing, or Well-Known Text. Off by default - an outline can be very large.One of: none (Don't include the shape), geojson, kml, svg, text (Well-Known Text (WKT)). Default: none.
Simplify the shape bygeometry_simplificationnumber
Smooth the outline to make it smaller, in degrees - 0.001 is roughly 100 metres. Leave blank for the exact shape. Only used when a shape format is chosen above.From 0 to 10.
Remove duplicate placesdedupetrue/false
Drop results that describe the same place more than once, which happens where a place is mapped as both a point and an area. On by default.Default: true.

Outputs

attributiontext
The OpenStreetMap attribution to display alongside these results
countnumber
Number of places returned
placeslist
Matching places, best match first
queryobject
The address fields that were searched on
Example output
{
  "attribution": "Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "count": 1,
  "places": [
    {
      "address": {
        "city": "Washington",
        "country": "United States",
        "country_code": "us",
        "house_number": "1600",
        "office": "White House",
        "postcode": "20500",
        "road": "Pennsylvania Avenue Northwest",
        "state": "District of Columbia"
      },
      "address_type": "office",
      "bounding_box": {
        "max_latitude": 38.8979065,
        "max_longitude": -77.0355981,
        "min_latitude": 38.8974908,
        "min_longitude": -77.0374527
      },
      "category": "office",
      "display_name": "White House, 1600, Pennsylvania Avenue Northwest, Washington, District of Columbia, 20500, United States",
      "importance": 0.6958339719610435,
      "latitude": 38.8976387,
      "longitude": -77.0365525,
      "name": "White House",
      "osm_id": 19761182,
      "osm_reference": "R19761182",
      "osm_type": "relation",
      "osm_url": "https://www.openstreetmap.org/relation/19761182",
      "place_id": 347426922,
      "place_rank": 30,
      "type": "government"
    }
  ],
  "query": {
    "city": "Washington",
    "country": "United States",
    "street": "1600 Pennsylvania Avenue NW"
  }
}

Search for places

Search OpenStreetMap for anything you can describe in words - 'Brandenburg Gate', '10 Downing Street, London', a postcode, or 'coffee' near a point - and get back each match with its coordinates, full address, and OpenStreetMap id. This is the search box from openstreetmap.org.

Inputs

Search forquerytextRequired
What to look for. A place name, a full address, a postcode, or a kind of place such as 'pharmacy'.
Max resultslimitnumber
How many matches to return, from 1 to 40. Defaults to 10.From 1 to 40. Default: 10.
Only these countriescountry_codeslist
Restrict the search to one or more countries. Leave empty to search the whole world.One or more of: AF (Afghanistan), AL (Albania), DZ (Algeria), AD (Andorra), AO (Angola), AI (Anguilla), AQ (Antarctica), AG (Antigua & Barbuda), AR (Argentina), AM (Armenia), and 239 more.
Kinds of placelayerslist
Only return these kinds of object: addresses and places are countries, cities, streets and houses; points of interest are shops, restaurants and landmarks; railway covers stations, tracks and platforms; natural covers rivers, forests, peaks and lakes; man-made covers bridges, piers and towers. Leave empty to search all of them.One or more of: address (Addresses and places), poi (Points of interest), railway (Railway features), natural (Natural features), manmade (Man-made features).
Only this level of placefeature_typetext
Narrow the search to one level of the map's hierarchy, so a search for 'Berlin' returns the city rather than a street named after it. 'Any settlement' covers towns, villages and hamlets as well as cities. Leave empty for every level.One of: country, state (State or region), city, settlement (Any settlement).
Search near this latitudenear_latitudenumber
Latitude of the point to search around. Set this and the longitude to prefer nearby results.From -90 to 90.
Search near this longitudenear_longitudenumber
Longitude of the point to search around. Locations in the Americas take a negative longitude.From -180 to 180.
Within this many kilometresradius_kmnumber
How far around the point to look. Defaults to 10 km. Only used alongside a latitude and longitude.From 0.1 to 5000.0. Default: 10.
Only return places inside that radiusrestrict_to_areatrue/false
Throw away matches outside the radius instead of just ranking them lower. Off by default, so a good match further away is still returned.Default: false.
Skip these placesexclude_place_idslist
Place ids to leave out of the results. Feed in the 'place_id' values from an earlier search to page through more matches.
Languagelanguagetext
Language for the returned place and country names. Defaults to English. A place with no name mapped in the chosen language comes back under its local name.One of: ab (Abkhaz), aa (Afar), af (Afrikaans), ak (Akan), sq (Albanian), am (Amharic), ar (Arabic), an (Aragonese), hy (Armenian), as (Assamese), and 174 more. Default: en.
Include the address breakdownaddress_detailstrue/false
Return the address split into its parts - house number, road, city, postcode, country - alongside the single-line version. On by default.Default: true.
Include extra OSM tagsextra_tagstrue/false
Return the rest of the OpenStreetMap tags on the object, such as its website, phone number, opening hours, or Wikipedia article.Default: false.
Include every name variantname_detailstrue/false
Return all of the place's names - its official name, its short name, and its name in every language mapped for it.Default: false.
Include entrancesentrancestrue/false
Return the mapped entrances to the place, each with its own coordinate. Useful for routing someone to a door rather than to the middle of a building.Default: false.
Shape of the placegeometrytext
Return the outline of the place as well as its centre point. Choose the format that suits what you will do with it: GeoJSON for mapping libraries, KML for Google Earth, SVG for drawing, or Well-Known Text. Off by default - an outline can be very large.One of: none (Don't include the shape), geojson, kml, svg, text (Well-Known Text (WKT)). Default: none.
Simplify the shape bygeometry_simplificationnumber
Smooth the outline to make it smaller, in degrees - 0.001 is roughly 100 metres. Leave blank for the exact shape. Only used when a shape format is chosen above.From 0 to 10.
Remove duplicate placesdedupetrue/false
Drop results that describe the same place more than once, which happens where a place is mapped as both a point and an area. On by default.Default: true.

Outputs

attributiontext
The OpenStreetMap attribution to display alongside these results
countnumber
Number of places returned
placeslist
Matching places, best match first
querytext
The text that was searched for
Example output
{
  "attribution": "Data \u00a9 OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
  "count": 1,
  "places": [
    {
      "address": {
        "building": "Brandenburg Gate",
        "city": "Berlin",
        "country": "Germany",
        "country_code": "de",
        "house_number": "1",
        "postcode": "10117",
        "road": "Pariser Platz",
        "suburb": "Mitte"
      },
      "address_type": "building",
      "bounding_box": {
        "max_latitude": 52.5164328,
        "max_longitude": 13.3778251,
        "min_latitude": 52.516117,
        "min_longitude": 13.3775798
      },
      "category": "building",
      "display_name": "Brandenburg Gate, 1, Pariser Platz, Mitte, Berlin, 10117, Germany",
      "importance": 0.5504719991549523,
      "latitude": 52.5162699,
      "longitude": 13.3777034,
      "name": "Brandenburg Gate",
      "osm_id": 518071791,
      "osm_reference": "W518071791",
      "osm_type": "way",
      "osm_url": "https://www.openstreetmap.org/way/518071791",
      "place_id": 144765639,
      "place_rank": 30,
      "type": "gate"
    }
  ],
  "query": "Brandenburg Gate"
}

On this page