{"openapi":"3.1.0","info":{"title":"Geocoding API","version":"1.0.0","description":"Forward & reverse geocoding and OSM object lookup powered by OpenStreetMap: turn addresses/places into coordinates, coordinates into addresses, and look up OSM objects by id.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/geocoding-api","description":"oanor gateway"}],"tags":[{"name":"Geocoding"},{"name":"Lookup"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/reverse":{"get":{"operationId":"get_v1_reverse","tags":["Geocoding"],"summary":"Reverse geocoding (coordinates → address)","description":"","parameters":[{"name":"lat","in":"query","required":true,"description":"Latitude","schema":{"type":"string"},"example":"52.5163"},{"name":"lon","in":"query","required":true,"description":"Longitude","schema":{"type":"string"},"example":"13.3777"},{"name":"zoom","in":"query","required":false,"description":"Detail level 0-18","schema":{"type":"string"},"example":"18"},{"name":"lang","in":"query","required":false,"description":"Result language","schema":{"type":"string"},"example":"en"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"lat":52.5163,"lon":13.3777,"place":{"lat":52.51627,"lon":13.3777021,"name":"Quadriga with Victoria","type":"artwork","osm_id":3786417057,"address":{"city":"Berlin","road":"Platz des 18. März","suburb":"Mitte","borough":"Mitte","country":"Germany","quarter":"Friedrich-Wilhelm-Stadt","tourism":"Quadriga with Victoria","postcode":"10117","country_code":"de","ISO3166-2-lvl4":"DE-BE"},"category":"tourism","osm_type":"node","place_id":145366925,"importance":8.875486381318407e-5,"place_rank":30,"addresstype":"tourism","boundingbox":[52.51622,52.51632,13.3776521,13.3777521],"display_name":"Quadriga with Victoria, Platz des 18. März, Friedrich-Wilhelm-Stadt, Mitte, Berlin, 10117, Germany"}},"meta":{"timestamp":"2026-05-29T20:06:48.772Z","request_id":"f36f1f46-fa26-4b1c-a0ee-545ddcaec5ae"},"status":"ok","message":"Reverse geocoding retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Geocoding"],"summary":"Forward geocoding (address → coordinates)","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Address or place name","schema":{"type":"string"},"example":"Brandenburg Gate Berlin"},{"name":"limit","in":"query","required":false,"description":"Max results (1-40)","schema":{"type":"string"},"example":"10"},{"name":"countrycodes","in":"query","required":false,"description":"Comma-separated ISO country codes","schema":{"type":"string"},"example":"de"},{"name":"lang","in":"query","required":false,"description":"Result language","schema":{"type":"string"},"example":"en"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":1,"query":"Brandenburg Gate Berlin","results":[{"lat":52.5162699,"lon":13.3777034,"name":"Brandenburg Gate","type":"attraction","osm_id":518071791,"address":{"city":"Berlin","road":"Pariser Platz","suburb":"Mitte","borough":"Mitte","country":"Germany","quarter":"Friedrich-Wilhelm-Stadt","tourism":"Brandenburg Gate","postcode":"10117","country_code":"de","house_number":"1","ISO3166-2-lvl4":"DE-BE"},"category":"tourism","osm_type":"way","place_id":145792549,"importance":0.5504719991549523,"place_rank":30,"addresstype":"tourism","boundingbox":[52.516117,52.5164328,13.3775798,13.3778251],"display_name":"Brandenburg Gate, 1, Pariser Platz, Friedrich-Wilhelm-Stadt, Mitte, Berlin, 10117, Germany"}]},"meta":{"timestamp":"2026-05-29T20:06:49.401Z","request_id":"6743b5b3-20fc-4c2d-9327-62a12c0aaf30"},"status":"ok","message":"Geocoding results retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/lookup":{"get":{"operationId":"get_v1_lookup","tags":["Lookup"],"summary":"Look up OSM objects by id","description":"","parameters":[{"name":"osm_ids","in":"query","required":true,"description":"Comma-separated OSM ids (N/W/R)","schema":{"type":"string"},"example":"R62422,N240109189"},{"name":"lang","in":"query","required":false,"description":"Result language","schema":{"type":"string"},"example":"en"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":2,"results":[{"lat":52.5173885,"lon":13.3951309,"name":"Berlin","type":"administrative","osm_id":62422,"address":{"city":"Berlin","country":"Germany","country_code":"de","ISO3166-2-lvl4":"DE-BE"},"category":"boundary","osm_type":"relation","place_id":144602669,"importance":0.8522196536088086,"place_rank":7,"addresstype":"city","boundingbox":[52.3382448,52.6755087,13.088345,13.7611609],"display_name":"Berlin, Germany"},{"lat":52.5173885,"lon":13.3951309,"name":"Berlin","type":"city","osm_id":240109189,"address":{"city":"Berlin","country":"Germany","country_code":"de","ISO3166-2-lvl4":"DE-BE"},"category":"place","osm_type":"node","place_id":144598842,"importance":0.20000999999999997,"place_rank":15,"addresstype":"city","boundingbox":[52.3573885,52.6773885,13.2351309,13.5551309],"display_name":"Berlin, Germany"}]},"meta":{"timestamp":"2026-05-29T20:06:49.952Z","request_id":"458d08e4-10e6-4332-a08c-7b31b4f68ef9"},"status":"ok","message":"Lookup retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":100,"rps_limit":1,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":1500,"monthly_call_quota":25000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":4900,"monthly_call_quota":100000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":14900,"monthly_call_quota":500000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/geocoding-api"}