]> git.openstreetmap.org Git - nominatim.git/blob - docs/api/Lookup.md
Merge pull request #3520 from lonvia/restrict-interpolation-range
[nominatim.git] / docs / api / Lookup.md
1 # Address lookup
2
3 The lookup API allows to query the address and other details of one or
4 multiple OSM objects like node, way or relation.
5
6 ## Endpoint
7
8 The lookup API has the following format:
9
10 ```
11   https://nominatim.openstreetmap.org/lookup?osm_ids=[N|W|R]<value>,…,…,&<params>
12 ```
13
14 `osm_ids` is mandatory and must contain a comma-separated list of OSM ids each
15 prefixed with its type, one of node(N), way(W) or relation(R). Up to 50 ids
16 can be queried at the same time.
17
18 !!! danger "Deprecation warning"
19     The API can also be used with the URL
20     `https://nominatim.openstreetmap.org/lookup.php`. This is now deprecated
21     and will be removed in future versions.
22
23
24 ## Parameters
25
26 This section lists additional optional parameters.
27
28 ### Output format
29
30 | Parameter | Value | Default |
31 |-----------| ----- | ------- |
32 | format    | one of: `xml`, `json`, `jsonv2`, `geojson`, `geocodejson` | `jsonv2` |
33
34 See [Place Output Formats](Output.md) for details on each format.
35
36
37 | Parameter | Value | Default |
38 |-----------| ----- | ------- |
39 | json_callback | function name | _unset_ |
40
41 When given, then JSON output will be wrapped in a callback function with
42 the given name. See [JSONP](https://en.wikipedia.org/wiki/JSONP) for more
43 information.
44
45 Only has an effect for JSON output formats.
46
47
48 ### Output details
49
50 | Parameter | Value | Default |
51 |-----------| ----- | ------- |
52 | addressdetails | 0 or 1 | 0 |
53
54 When set to 1, include a breakdown of the address into elements.
55 The exact content of the address breakdown depends on the output format.
56
57 !!! tip
58     If you are interested in a stable classification of address categories
59     (suburb, city, state, etc), have a look at the `geocodejson` format.
60     All other formats return classifications according to OSM tagging.
61     There is a much larger set of categories and they are not always consistent,
62     which makes them very hard to work with.
63
64
65 | Parameter | Value | Default |
66 |-----------| ----- | ------- |
67 | extratags | 0 or 1 | 0 |
68
69 When set to 1, the response include any additional information in the result
70 that is available in the database, e.g. wikipedia link, opening hours.
71
72
73 | Parameter | Value | Default |
74 |-----------| ----- | ------- |
75 | namedetails | 0 or 1 | 0 |
76
77 When set to 1, include a full list of names for the result. These may include
78 language variants, older names, references and brand.
79
80
81 ### Language of results
82
83 | Parameter | Value | Default |
84 |-----------| ----- | ------- |
85 | accept-language | browser language string | content of "Accept-Language" HTTP header |
86
87 Preferred language order for showing search results. This may either be
88 a simple comma-separated list of language codes or have the same format
89 as the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
90
91 !!! tip
92     First-time users of Nominatim tend to be confused that they get different
93     results when using Nominatim in the browser versus in a command-line tool
94     like wget or curl. The command-line tools
95     usually don't send any Accept-Language header, prompting Nominatim
96     to show results in the local language. Browsers on the contrary always
97     send the currently chosen browser language.
98
99
100 ### Polygon output
101
102 | Parameter | Value  | Default |
103 |-----------| -----  | ------- |
104 | polygon_geojson | 0 or 1 | 0 |
105 | polygon_kml     | 0 or 1 | 0 |
106 | polygon_svg     | 0 or 1 | 0 |
107 | polygon_text    | 0 or 1 | 0 |
108
109 Add the full geometry of the place to the result output. Output formats
110 in GeoJSON, KML, SVG or WKT are supported. Only one of these
111 options can be used at a time.
112
113 | Parameter | Value  | Default |
114 |-----------| -----  | ------- |
115 | polygon_threshold | floating-point number | 0.0 |
116
117 When one of the polygon_* outputs is chosen, return a simplified version
118 of the output geometry. The parameter describes the
119 tolerance in degrees with which the geometry may differ from the original
120 geometry. Topology is preserved in the geometry.
121
122
123 ### Other
124
125 | Parameter | Value  | Default |
126 |-----------| -----  | ------- |
127 | email     | valid email address | _unset_ |
128
129 If you are making large numbers of request please include an appropriate email
130 address to identify your requests. See Nominatim's
131 [Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
132
133
134 | Parameter | Value  | Default |
135 |-----------| -----  | ------- |
136 | debug     | 0 or 1 | 0       |
137
138 Output assorted developer debug information. Data on internals of Nominatim's
139 "search loop" logic, and SQL queries. The output is HTML format.
140 This overrides the specified machine readable format.
141
142
143 ## Examples
144
145 ##### XML
146
147 [https://nominatim.openstreetmap.org/lookup?osm_ids=R146656,W104393803,N240109189](https://nominatim.openstreetmap.org/lookup?osm_ids=R146656,W50637691,N240109189)
148
149 ```xml
150   <lookupresults timestamp="Mon, 28 Mar 22 14:38:54 +0000" attribution="Data &#xA9; OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright" querystring="R146656,W50637691,N240109189" more_url="">
151     <place place_id="282236157" osm_type="relation" osm_id="146656" place_rank="16" address_rank="16" boundingbox="53.3401044,53.5445923,-2.3199185,-2.1468288" lat="53.44246175" lon="-2.2324547359718547" display_name="Manchester, Greater Manchester, North West England, England, United Kingdom" class="boundary" type="administrative" importance="0.35">
152       <city>Manchester</city>
153       <county>Greater Manchester</county>
154       <state_district>North West England</state_district>
155       <state>England</state>
156       <country>United Kingdom</country>
157       <country_code>gb</country_code>
158     </place>
159     <place place_id="115462561" osm_type="way" osm_id="50637691" place_rank="30" address_rank="30" boundingbox="52.3994612,52.3996426,13.0479574,13.0481754" lat="52.399550700000006" lon="13.048066846939687" display_name="Brandenburger Tor, Brandenburger Stra&#xDF;e, Historische Innenstadt, Innenstadt, Potsdam, Brandenburg, 14467, Germany" class="tourism" type="attraction" importance="0.29402874005524">
160       <tourism>Brandenburger Tor</tourism>
161       <road>Brandenburger Stra&#xDF;e</road>
162       <suburb>Historische Innenstadt</suburb>
163       <city>Potsdam</city>
164       <state>Brandenburg</state>
165       <postcode>14467</postcode>
166       <country>Germany</country>
167       <country_code>de</country_code>
168     </place>
169     <place place_id="567505" osm_type="node" osm_id="240109189" place_rank="15" address_rank="16" boundingbox="52.3586925,52.6786925,13.2396024,13.5596024" lat="52.5186925" lon="13.3996024" display_name="Berlin, 10178, Germany" class="place" type="city" importance="0.78753902824914">
170       <city>Berlin</city>
171       <state>Berlin</state>
172       <postcode>10178</postcode>
173       <country>Germany</country>
174       <country_code>de</country_code>
175     </place>
176   </lookupresults>
177 ```
178
179 ##### JSON with extratags
180
181 [https://nominatim.openstreetmap.org/lookup?osm_ids=W50637691&format=json&extratags=1](https://nominatim.openstreetmap.org/lookup?osm_ids=W50637691&format=json&extratags=1)
182
183 ```json
184 [
185    {
186       "place_id": 115462561,
187       "licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
188       "osm_type": "way",
189       "osm_id": 50637691,
190       "boundingbox": [
191         "52.3994612",
192         "52.3996426",
193         "13.0479574",
194         "13.0481754"
195       ],
196       "lat": "52.399550700000006",
197       "lon": "13.048066846939687",
198       "display_name": "Brandenburger Tor, Brandenburger Straße, Historische Innenstadt, Innenstadt, Potsdam, Brandenburg, 14467, Germany",
199       "class": "tourism",
200       "type": "attraction",
201       "importance": 0.2940287400552381,
202       "address": {
203         "tourism": "Brandenburger Tor",
204         "road": "Brandenburger Straße",
205         "suburb": "Historische Innenstadt",
206         "city": "Potsdam",
207         "state": "Brandenburg",
208         "postcode": "14467",
209         "country": "Germany",
210         "country_code": "de"
211       },
212       "extratags": {
213         "image": "http://commons.wikimedia.org/wiki/File:Potsdam_brandenburger_tor.jpg",
214         "heritage": "4",
215         "wikidata": "Q695045",
216         "architect": "Carl von Gontard;Georg Christian Unger",
217         "wikipedia": "de:Brandenburger Tor (Potsdam)",
218         "wheelchair": "yes",
219         "description": "Kleines Brandenburger Tor in Potsdam",
220         "heritage:website": "http://www.bldam-brandenburg.de/images/stories/PDF/DML%202012/04-p-internet-13.pdf",
221         "heritage:operator": "bldam",
222         "architect:wikidata": "Q68768;Q95223",
223         "year_of_construction": "1771"
224       }
225    }
226 ]
227 ```