]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/api/Details.md
Merge remote-tracking branch 'upstream/master'
[nominatim.git] / docs / api / Details.md
index b8c9035ca7152c0259ace0f206b374b4c493cfb3..027138a9b73615869f4723bb3eb3a35ae9dcec34 100644 (file)
@@ -2,27 +2,32 @@
 
 Lookup details about a single place by id. The default output is HTML for debugging search logic and results.
 
-**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/).
+**The details page (including JSON output) exists for debugging only and must not be downloaded automatically**, 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:
 
 ```
-  https://nominatim.openstreetmap.org/details?osmtype=[N|W|R]&osmid=<value>
+  https://nominatim.openstreetmap.org/details?osmtype=[N|W|R]&osmid=<value>&class=<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
+`osmtype` and `osmid` are required parameter. 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.
 
 ```
   https://nominatim.openstreetmap.org/details?placeid=<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.
+Placeids 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 can't be used as permanent id and shouldn't be used in bug reports.
 
 
 Additional optional parameters are explained below.
@@ -38,9 +43,9 @@ See [Place Output Formats](Output.md) for details on each format. (Default: html
 Wrap json output in a callback function (JSONP) i.e. `<string>(<json>)`.
 Only has an effect for JSON output formats.
 
-* `pretty=[0,1]`
+* `pretty=[0|1]`
 
-Add indentation to JSON output to make it the output more human-readable. (Default: 0)
+For JSON output will add indentation to make it more human-readable. (Default: 0)
 
 
 ### Output details
@@ -55,11 +60,11 @@ 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 details of places higher in the address hierarchy. E.g. for a street this is usually the city, state, postal code, country. (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. E.g. for a city this usually a list of streets, suburbs, rivers. (Default for JSON: 0, for HTML: 1)
 
 * `group_hierarchy=[0|1]`
 
@@ -73,7 +78,7 @@ Include geometry of result. (Default for JSON: 0, for HTML: 1)
 
 * `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.
@@ -83,11 +88,11 @@ comma-separated list of language codes.
 
 ##### HTML
 
-[https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407]()
+[https://nominatim.openstreetmap.org/details.php?osmtype=W&osmid=38210407](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