]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/api/Details.md
Merge pull request #3107 from lonvia/performance-search
[nominatim.git] / docs / api / Details.md
index b8c9035ca7152c0259ace0f206b374b4c493cfb3..08802f9a9d50d1fe6642304a51503928d3974597 100644 (file)
@@ -1,53 +1,59 @@
 # Place details
 
-Lookup details about a single place by id. The default output is HTML for debugging search logic and results.
+Show all details about a single place saved in the database.
 
-**The details page (including JSON output) is there for debugging only and may not be downloaded automatically**, see [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).
+!!! warning
+    The details page exists for debugging only. You may not use it in scripts
+    or to automatically query details about a result.
+    See [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).
 
 
 ## Parameters
 
-The details API has the following two formats:
+The details API supports the following two request formats:
 
+``` xml
+https://nominatim.openstreetmap.org/details?osmtype=[N|W|R]&osmid=<value>&class=<value>
 ```
-  https://nominatim.openstreetmap.org/details?osmtype=[N|W|R]&osmid=<value>
-```
-
-Both parameters are mandatory, the type is one of node(N), way(W) or relation(R). Up to 50 ids
-can be queried at the same time.
 
-Or
-
-```
-  https://nominatim.openstreetmap.org/details?placeid=<value>
+`osmtype` and `osmid` are required parameters. The type is one of node (N), way (W)
+or relation (R). The id must be a number. The `class` parameter is optional and
+allows to distinguish between entries, when the corresponding OSM object has more
+than one main tag. For example, when a place is tagged with `tourism=hotel` and
+`amenity=restaurant`, there will be two place entries in Nominatim, one for a
+restaurant, one for a hotel. You need to specify `class=tourism` or `class=amentity`
+to get exactly the one you want. If there are multiple places in the database
+but the `class` parameter is left out, then one of the places will be chosen
+at random and displayed.
+
+``` xml
+https://nominatim.openstreetmap.org/details?place_id=<value>
 ```
 
-The placeid created assigned sequentially during Nominatim data import. It is different between servers and changes when data gets reimported. Therefore it can't be used as permanent id and shouldn't be used in bug reports.
+Place IDs are assigned sequentially during Nominatim data import. The ID
+for a place is different between Nominatim installation (servers) and
+changes when data gets reimported. Therefore it cannot be used as
+a permanent id and shouldn't be used in bug reports.
 
 
 Additional optional parameters are explained below.
 
 ### Output format
 
-* `format=[html|json]`
-
-See [Place Output Formats](Output.md) for details on each format. (Default: html)
-
 * `json_callback=<string>`
 
-Wrap json output in a callback function (JSONP) i.e. `<string>(<json>)`.
-Only has an effect for JSON output formats.
+Wrap JSON output in a callback function (JSONP) i.e. `<string>(<json>)`.
 
-* `pretty=[0,1]`
+* `pretty=[0|1]`
 
-Add indentation to JSON output to make it the output more human-readable. (Default: 0)
+Add indentation to make it more human-readable. (Default: 0)
 
 
 ### Output details
 
 * `addressdetails=[0|1]`
 
-Include a breakdown of the address into elements. (Default for JSON: 0, for HTML: 1)
+Include a breakdown of the address into elements. (Default: 0)
 
 * `keywords=[0|1]`
 
@@ -55,11 +61,16 @@ Include a list of name keywords and address keywords (word ids). (Default: 0)
 
 * `linkedplaces=[0|1]`
 
-Include details of places which are higher in the address hierarchy. E.g. for a street this is usually the city, state, postal code, country. (Default: 1)
+Include a details of places that are linked with this one. Places get linked
+together when they are different forms of the same physical object. Nominatim
+links two kinds of objects together: place nodes get linked with the
+corresponding administrative boundaries. Waterway relations get linked together with their
+members.
+(Default: 1)
 
 * `hierarchy=[0|1]`
 
-Include details of places which are lower in the address hierarchy. E.g. for a city this usually a list of suburbs, rivers, streets. (Default for JSON: 0, for HTML: 1)
+Include details of places lower in the address hierarchy. (Default: 0)
 
 * `group_hierarchy=[0|1]`
 
@@ -67,13 +78,13 @@ For JSON output will group the places by type. (Default: 0)
 
 * `polygon_geojson=[0|1]`
 
-Include geometry of result. (Default for JSON: 0, for HTML: 1)
+Include geometry of result. (Default: 0)
 
 ### Language of results
 
 * `accept-language=<browser language string>`
 
-Preferred language order for showing search results, overrides the value
+Preferred language order for showing result, overrides the value
 specified in the "Accept-Language" HTTP header.
 Either use a standard RFC2616 accept-language string or a simple
 comma-separated list of language codes.
@@ -81,13 +92,9 @@ comma-separated list of language codes.
 
 ## Examples
 
-##### HTML
-
-[https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407]()
-
 ##### JSON
 
-[https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407&format=json]()
+[https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407&format=json](https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407&format=json)
 
 
 ```json