3 The [/reverse](Reverse.md), [/search](Search.md) and [/lookup](Lookup.md)
 
   4 API calls produce very similar output which is explained in this section.
 
   5 There is one section for each format. The format correspond to what was
 
   6 selected via the `format` parameter.
 
  10 The JSON format returns an array of places (for search and lookup) or
 
  11 a single place (for reverse) of the following format:
 
  16     "licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
 
  19     "boundingbox": ["51.3473219", "51.6673219", "-0.2876474", "0.0323526"],
 
  22     "display_name": "London, Greater London, England, SW1A 2DU, United Kingdom",
 
  25     "importance": 0.9654895765402,
 
  26     "icon": "https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png",
 
  29       "state_district": "Greater London",
 
  31       "ISO3166-2-lvl4": "GB-ENG",
 
  32       "postcode": "SW1A 2DU",
 
  33       "country": "United Kingdom",
 
  38       "website": "http://www.london.gov.uk",
 
  40       "wikipedia": "en:London",
 
  41       "population": "8416535"
 
  46 The possible fields are:
 
  48  * `place_id` - reference to the Nominatim internal database ID ([see notes](#place_id-is-not-a-persistent-id))
 
  49  * `osm_type`, `osm_id` - reference to the OSM object ([see notes](#osm-reference))
 
  50  * `boundingbox` - area of corner coordinates ([see notes](#boundingbox))
 
  51  * `lat`, `lon` - latitude and longitude of the centroid of the object
 
  52  * `display_name` - full comma-separated address
 
  53  * `class`, `type` - key and value of the main OSM tag
 
  54  * `importance` - computed importance rank
 
  55  * `icon` - link to class icon (if available)
 
  56  * `address` - dictionary of address details (only with `addressdetails=1`,
 
  57    [see notes](#addressdetails))
 
  58  * `extratags` - dictionary with additional useful tags like website or maxspeed
 
  59    (only with `extratags=1`)
 
  60  * `namedetails` - dictionary with full list of available names including ref etc.
 
  61  * `geojson`, `svg`, `geotext`, `geokml` - full geometry
 
  62    (only with the appropriate `polygon_*` parameter)
 
  63  * `entrances` - array of objects representing tagged entrances for the object, or
 
  64    null if none are found (only with `entrances=1`)
 
  68 This is the same as the JSON format with two changes:
 
  70  * `class` renamed to `category`
 
  71  * additional field `place_rank` with the search rank of the object
 
  75 This format follows the [RFC7946](https://geojson.org). Every feature includes
 
  76 a bounding box (`bbox`).
 
  78 The properties object has the following fields:
 
  80  * `place_id` - reference to the Nominatim internal database ID ([see notes](#place_id-is-not-a-persistent-id))
 
  81  * `osm_type`, `osm_id` - reference to the OSM object ([see notes](#osm-reference))
 
  82  * `category`, `type` - key and value of the main OSM tag
 
  83  * `display_name` - full comma-separated address
 
  84  * `place_rank` - class search rank
 
  85  * `importance` - computed importance rank
 
  86  * `icon` - link to class icon (if available)
 
  87  * `address` - dictionary of address details (only with `addressdetails=1`,
 
  88    [see notes](#addressdetails))
 
  89  * `extratags` - dictionary with additional useful tags like `website` or `maxspeed`
 
  90    (only with `extratags=1`)
 
  91  * `namedetails` - dictionary with full list of available names including ref etc.
 
  92  * `entrances` - array of objects representing tagged entrances for the object, or
 
  93    null if none are found (only with `entrances=1`)
 
  95 Use `polygon_geojson` to output the full geometry of the object instead
 
 100 The GeocodeJSON format follows the
 
 101 [GeocodeJSON spec 0.1.0](https://github.com/geocoders/geocodejson-spec).
 
 102 The following feature attributes are implemented:
 
 104  * `osm_type`, `osm_id` - reference to the OSM object (unofficial extension, [see notes](#osm-reference))
 
 105  * `type` - the 'address level' of the object ('house', 'street', `district`, `city`,
 
 106             `county`, `state`, `country`, `locality`)
 
 107  * `osm_key`- key of the main tag of the OSM object (e.g. boundary, highway, amenity)
 
 108  * `osm_value` - value of the main tag of the OSM object (e.g. residential, restaurant)
 
 109  * `label` - full comma-separated address
 
 110  * `name` - localised name of the place
 
 111  * `housenumber`, `street`, `locality`, `district`, `postcode`, `city`,
 
 112    `county`, `state`, `country` -
 
 113    provided when it can be determined from the address (only with `addressdetails=1`)
 
 114  * `admin` - list of localised names of administrative boundaries (only with `addressdetails=1`)
 
 115  * `extra` - dictionary with additional useful tags like `website` or `maxspeed`
 
 116    (only with `extratags=1`)
 
 117  * `entrances` - array of objects representing tagged entrances for the object, or
 
 118    null if none are found (only with `entrances=1`)
 
 121 Use `polygon_geojson` to output the full geometry of the object instead
 
 126 The XML response returns one or more place objects in slightly different
 
 127 formats depending on the API call.
 
 132 <reversegeocode timestamp="Sat, 11 Aug 18 11:53:21 +0000"
 
 133                 attribution="Data © OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright"
 
 134                 querystring="lat=48.400381&lon=11.745876&zoom=5&format=xml">
 
 135   <result place_id="179509537" osm_type="relation" osm_id="2145268" ref="BY" place_rank="15" address_rank="15"
 
 136           lat="48.9467562" lon="11.4038717"
 
 137           boundingbox="47.2701114,50.5647142,8.9763497,13.8396373">
 
 141      <state>Bavaria</state>
 
 142      <ISO3166-2-lvl4>DE-BY</ISO3166-2-lvl4>
 
 143      <country>Germany</country>
 
 144      <country_code>de</country_code>
 
 147     <tag key="place" value="state"/>
 
 148     <tag key="wikidata" value="Q980"/>
 
 149     <tag key="wikipedia" value="de:Bayern"/>
 
 150     <tag key="population" value="12520000"/>
 
 151     <tag key="name:prefix" value="Freistaat"/>
 
 156 The attributes of the outer `reversegeocode` element return generic information
 
 157 about the query, including the time when the response was sent (in UTC),
 
 158 attribution to OSM and the original querystring.
 
 160 The place information can be found in the `result` element. The attributes of that element contain:
 
 162  * `place_id` - reference to the Nominatim internal database ID ([see notes](#place_id-is-not-a-persistent-id))
 
 163  * `osm_type`, `osm_id` - reference to the OSM object ([see notes](#osm-reference))
 
 164  * `ref` - content of `ref` tag if it exists
 
 165  * `lat`, `lon` - latitude and longitude of the centroid of the object
 
 166  * `boundingbox` - comma-separated list of corner coordinates ([see notes](#boundingbox))
 
 168 The full address of the result can be found in the content of the
 
 169 `result` element as a comma-separated list.
 
 171 Additional information requested with `addressdetails=1`, `extratags=1`,
 
 172 `namedetails=1`, and `entrances=1` can be found in extra elements.
 
 174 ### Search and Lookup
 
 177 <searchresults timestamp="Sat, 11 Aug 18 11:55:35 +0000"
 
 178                attribution="Data © OpenStreetMap contributors, ODbL 1.0. https://www.openstreetmap.org/copyright"
 
 179                querystring="london" polygon="false" exclude_place_ids="100149"
 
 180                more_url="https://nominatim.openstreetmap.org/search?q=london&addressdetails=1&extratags=1&exclude_place_ids=100149&format=xml&accept-language=en-US%2Cen%3Bq%3D0.7%2Cde%3Bq%3D0.3">
 
 181   <place place_id="100149" osm_type="node" osm_id="107775" place_rank="15" address_rank="15"
 
 182          boundingbox="51.3473219,51.6673219,-0.2876474,0.0323526" lat="51.5073219" lon="-0.1276474"
 
 183          display_name="London, Greater London, England, SW1A 2DU, United Kingdom"
 
 184          class="place" type="city" importance="0.9654895765402"
 
 185          icon="https://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.png">
 
 187       <tag key="capital" value="yes"/>
 
 188       <tag key="website" value="http://www.london.gov.uk"/>
 
 189       <tag key="wikidata" value="Q84"/>
 
 190       <tag key="wikipedia" value="en:London"/>
 
 191       <tag key="population" value="8416535"/>
 
 194     <state_district>Greater London</state_district>
 
 195     <state>England</state>
 
 196     <ISO3166-2-lvl4>GB-ENG</ISO3166-2-lvl4>
 
 197     <postcode>SW1A 2DU</postcode>
 
 198     <country>United Kingdom</country>
 
 199     <country_code>gb</country_code>
 
 204 The attributes of the outer `searchresults` or `lookupresults` element return
 
 205 generic information about the query:
 
 207  * `timestamp` - UTC time when the response was sent
 
 208  * `attribution` - OSM licensing information
 
 209  * `querystring` - original query
 
 210  * `polygon` - true when extra geometry information was requested
 
 211  * `exclude_place_ids` - IDs of places that should be ignored in a follow-up request
 
 212  * `more_url` - search call that will yield additional results for the query
 
 215 The place information can be found in the `place` elements, of which there may
 
 216 be more than one. The attributes of that element contain:
 
 218  * `place_id` - reference to the Nominatim internal database ID ([see notes](#place_id-is-not-a-persistent-id))
 
 219  * `osm_type`, `osm_id` - reference to the OSM object ([see notes](#osm-reference))
 
 220  * `ref` - content of `ref` tag if it exists
 
 221  * `lat`, `lon` - latitude and longitude of the centroid of the object
 
 222  * `boundingbox` - comma-separated list of corner coordinates ([see notes](#boundingbox))
 
 223  * `place_rank` - class [search rank](../customize/Ranking.md#search-rank)
 
 224  * `address_rank` - place [address rank](../customize/Ranking.md#address-rank)
 
 225  * `display_name` - full comma-separated address
 
 226  * `class`, `type` - key and value of the main OSM tag
 
 227  * `importance` - computed importance rank
 
 228  * `icon` - link to class icon (if available)
 
 230 When `addressdetails=1` is requested, the localised address parts appear
 
 231 as subelements with the type of the address part.
 
 233 Additional information requested with `extratags=1`, `namedetails=1`, and
 
 234 `entrances=1` can be found in extra elements as sub-element of `extratags`,
 
 235 `namedetails`, and `entrances` respectively.
 
 238 ## Notes on field values
 
 240 ### place_id is not a persistent id
 
 242 The `place_id` is an internal identifier that is assigned data is imported
 
 243 into a Nominatim database. The same OSM object will have a different value
 
 244 on another server. It may even change its ID on the same server when it is
 
 245 removed and reimported while updating the database with fresh OSM data.
 
 246 It is thus not useful to treat it as permanent for later use.
 
 248 The combination `osm_type`+`osm_id` is slightly better but remember in
 
 249 OpenStreetMap mappers can delete, split, recreate places (and those
 
 250 get a new `osm_id`), there is no link between those old and new ids.
 
 251 Places can also change their meaning without changing their `osm_id`,
 
 252 e.g. when a restaurant is retagged as supermarket. For a more in-depth
 
 253 discussion see [Permanent ID](https://wiki.openstreetmap.org/wiki/Permanent_ID).
 
 255 If you need an ID that is consistent over multiple installations of Nominatim,
 
 256 then you should use the combination of `osm_type`+`osm_id`+`class`.
 
 260 Nominatim may sometimes return special objects that do not correspond directly
 
 261 to an object in OpenStreetMap. These are:
 
 263 * **Postcodes**. Nominatim returns an postcode point created from all mapped
 
 264   postcodes of the same name. The class and type of these object is `place=postcdode`.
 
 265   No `osm_type` and `osm_id` are included in the result.
 
 266 * **Housenumber interpolations**. Nominatim returns a single interpolated
 
 267   housenumber from the interpolation way. The class and type are `place=house`
 
 268   and `osm_type` and `osm_id` correspond to the interpolation way in OSM.
 
 269 * **TIGER housenumber.** Nominatim returns a single interpolated housenumber
 
 270   from the TIGER data. The class and type are `place=house`
 
 271   and `osm_type` and `osm_id` correspond to the street mentioned in the result.
 
 273 Please note that the `osm_type` and `osm_id` returned may be changed in the
 
 274 future. You should not expect to only find `node`, `way` and `relation` for
 
 279 Comma separated list of min latitude, max latitude, min longitude, max longitude.
 
 280 The whole planet would be `-90,90,-180,180`.
 
 282 Can be used to pan and center the map on the result, for example with leafletjs
 
 284 `map.fitBounds([[bbox[0],bbox[2]],[bbox[1],bbox[3]]], {padding: [20, 20], maxzoom: 16});`
 
 286 Bounds crossing the antimeridian have a min latitude -180 and max latitude 180,
 
 287 essentially covering the entire planet
 
 288 (see [issue 184](https://github.com/openstreetmap/Nominatim/issues/184)).
 
 292 Address details in the xml and json formats return a list of names together
 
 293 with a designation label. Per default the following labels may appear:
 
 296  * country, country_code
 
 297  * region, state, state_district, county, ISO3166-2-lvl<admin_level>
 
 298  * municipality, city, town, village
 
 299  * city_district, district, borough, suburb, subdivision
 
 300  * hamlet, croft, isolated_dwelling
 
 301  * neighbourhood, allotments, quarter
 
 302  * city_block, residential, farm, farmyard, industrial, commercial, retail
 
 304  * house_number, house_name
 
 305  * emergency, historic, military, natural, landuse, place, railway,
 
 306    man_made, aerialway, boundary, amenity, aeroway, club, craft, leisure,
 
 307    office, mountain_pass, shop, tourism, bridge, tunnel, waterway
 
 310 They roughly correspond to the classification of the OpenStreetMap data
 
 311 according to either the `place` tag or the main key of the object.
 
 315 Entrance details in the xml and json formats return the latitude and longitude
 
 316 of the entrance, the osm node ID, the [type of
 
 317 entrance](https://wiki.openstreetmap.org/wiki/Key:entrance), and any extra tags
 
 318 associated with the entrance node.
 
 326 They roughly correspond to the classification of the OpenStreetMap data
 
 327 according to either the `place` tag or the main key of the object.
 
 333 [https://nominatim.openstreetmap.org/details?osmtype=W&osmid=32619803&entrances=1&format=json](https://nominatim.openstreetmap.org/details?osmtype=W&osmid=32619803&entrances=1&format=json)
 
 338   "place_id": 124325848,
 
 339   "parent_place_id": 123936289,
 
 343   "type": "supermarket",
 
 345   "localname": "PENNY",
 
 349       "osm_id": 1733488238,
 
 358       "osm_id": 1733488256,
 
 367       "osm_id": 1733498087,
 
 376       "osm_id": 7914950851,