{"components":{"schemas":{"AskedGid":{"description":"One gid of a `/v1/place` request, split into its parts.","properties":{"id":{"description":"Record id, as a decimal string.","type":"string"},"layer":{"description":"Layer, for example `venue`.","type":"string"},"source":{"description":"Always `geolith`.","type":"string"}},"required":["source","layer","id"],"type":"object"},"Engine":{"description":"The server that answered.","properties":{"name":{"description":"Always `geolith-search`.","example":"geolith-search","type":"string"},"version":{"description":"Server version.","type":"string"}},"required":["name","version"],"type":"object"},"ErrorGeocoding":{"description":"The `geocoding` block of an error response.","properties":{"errors":{"description":"What was wrong with the request, or that the index could not be read.","example":["size must be between 1 and 40"],"items":{"type":"string"},"type":"array"}},"required":["errors"],"type":"object"},"ErrorResponse":{"description":"An error, in the Pelias shape: an empty `FeatureCollection` with the\nmessages in `geocoding.errors`.","properties":{"features":{"description":"Always empty.","items":{"$ref":"#/components/schemas/Feature"},"type":"array"},"geocoding":{"$ref":"#/components/schemas/ErrorGeocoding","description":"The error messages."},"type":{"description":"Always `FeatureCollection`.","example":"FeatureCollection","type":"string"}},"required":["geocoding","type","features"],"type":"object"},"Feature":{"description":"One place, as a GeoJSON `Feature`.","properties":{"geometry":{"$ref":"#/components/schemas/Point","description":"Where the place is."},"properties":{"$ref":"#/components/schemas/Properties","description":"What the place is."},"type":{"description":"Always `Feature`.","example":"Feature","type":"string"}},"required":["type","geometry","properties"],"type":"object"},"FeatureCollection":{"description":"A Pelias `FeatureCollection`: the places found, and a description of the\nquery.","properties":{"bbox":{"description":"`[west, south, east, north]` around every feature. Absent when nothing\nwas found.","example":[2.2945,48.8584,2.2945,48.8584],"items":{"format":"double","type":"number"},"type":"array"},"features":{"description":"The places, best match first.","items":{"$ref":"#/components/schemas/Feature"},"type":"array"},"geocoding":{"$ref":"#/components/schemas/Geocoding","description":"What was searched and how it was ranked."},"type":{"description":"Always `FeatureCollection`.","example":"FeatureCollection","type":"string"}},"required":["geocoding","type","features"],"type":"object"},"Geocoding":{"description":"The `geocoding` block of a response.","properties":{"attribution":{"description":"Where the data comes from.","type":"string"},"engine":{"$ref":"#/components/schemas/Engine","description":"The server that answered."},"query":{"$ref":"#/components/schemas/QueryEcho","description":"The request as the server understood it."},"version":{"description":"Pelias response format version, `0.2`.","example":"0.2","type":"string"}},"required":["version","attribution","query","engine"],"type":"object"},"Health":{"description":"The `/health` response.","properties":{"places":{"description":"Places in the `.glx` file.","example":6182313,"format":"int64","minimum":0,"type":"integer"},"status":{"description":"Always `ok`.","example":"ok","type":"string"}},"required":["status","places"],"type":"object"},"Point":{"description":"A GeoJSON `Point`.","properties":{"coordinates":{"description":"`[longitude, latitude]` in WGS 84.","example":[2.2945,48.8584],"items":{"format":"double","type":"number"},"type":"array"},"type":{"description":"Always `Point`.","example":"Point","type":"string"}},"required":["type","coordinates"],"type":"object"},"Properties":{"description":"Properties of a place. Admin fields are absent when unknown.","properties":{"borough":{"description":"Borough, city district or suburb the place is in.","type":"string"},"category":{"description":"The place's category, for example `college` or `railway station`.","items":{"type":"string"},"type":"array"},"confidence":{"description":"Share of the query's words that the place contains, from 0 to 1.\nOnly on text searches.","format":"double","type":"number"},"country":{"description":"Country.","type":"string"},"country_code":{"description":"ISO 3166-1 alpha-2 country code.","example":"FR","type":"string"},"county":{"description":"County.","type":"string"},"distance":{"description":"Kilometres from the focus point or the reverse point.","format":"double","type":"number"},"gid":{"description":"Global id, `geolith:{layer}:{id}`.","example":"geolith:venue:123456789","type":"string"},"id":{"description":"Row id in the `geocoding` table.","example":"123456789","type":"string"},"importance":{"description":"How notable the place is, from 0 to 1.","format":"float","type":"number"},"label":{"description":"Name followed by neighbourhood (else borough), locality, region and\ncountry.","example":"Tour Eiffel, Paris, Île-de-France, France","type":"string"},"layer":{"description":"`venue` or `address`.","example":"venue","type":"string"},"locality":{"description":"City or town.","type":"string"},"name":{"description":"Name of the place, or house number and street for an address.","example":"Tour Eiffel","type":"string"},"neighbourhood":{"description":"Neighbourhood, quarter or suburb the place is in.","example":"Seawoods East","type":"string"},"postalcode":{"description":"Postal code.","type":"string"},"region":{"description":"State or province.","type":"string"},"source":{"description":"Always `geolith`.","example":"geolith","type":"string"},"street":{"description":"Street.","type":"string"}},"required":["id","gid","layer","source","name","importance","label"],"type":"object"},"QueryEcho":{"description":"The request as the server understood it. Which fields appear depends on\nthe endpoint.","properties":{"boundary.circle.radius":{"description":"Search radius in kilometres (`/v1/reverse`, `/v1/nearby`).","format":"double","type":"number"},"fields":{"description":"The address fields that were set (`/v1/search/structured`).","items":{"type":"string"},"type":"array"},"ids":{"description":"The gids asked for (`/v1/place`).","items":{"$ref":"#/components/schemas/AskedGid"},"type":"array"},"point.lat":{"description":"Latitude of the point (`/v1/reverse`, `/v1/nearby`).","format":"double","type":"number"},"point.lon":{"description":"Longitude of the point (`/v1/reverse`, `/v1/nearby`).","format":"double","type":"number"},"ranking":{"$ref":"#/components/schemas/Ranking","description":"How the results were ranked."},"size":{"description":"Number of results asked for.","minimum":0,"type":"integer"},"text":{"description":"The search text (`/v1/search`, `/v1/autocomplete`).","type":"string"}},"required":["size"],"type":"object"},"Ranking":{"description":"How a result list was ranked, reported in `geocoding.query.ranking`.","enum":["importance","importance+distance"],"type":"string"},"GatewayError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["missing_api_key","invalid_api_key","origin_not_allowed","rate_limited","quota_exceeded","not_found","method_not_allowed"]},"message":{"type":"string"}}}}}},"securitySchemes":{"apiKeyQuery":{"type":"apiKey","in":"query","name":"api_key"},"bearer":{"type":"http","scheme":"bearer","description":"Authorization: Bearer YOUR_API_KEY"}}},"info":{"description":"Geocoding, autocomplete, structured search, reverse geocoding, nearby search and place lookup over OpenStreetMap and Overture Maps data.\n\nHosted at https://api.geolith.app (geolith cloud). Pass your key as `?api_key=` or an `Authorization: Bearer` header; get one at https://console.geolith.app/signup. Plans: Free 100,000 requests a month, Starter $19 for 1,000,000, Growth $99 for 7,500,000, Scale $299 for 25,000,000.\n\nEvery response is a GeoJSON `FeatureCollection`; coordinates are `[longitude, latitude]`. Parameter errors are an empty `FeatureCollection` with the messages in `geocoding.errors`. Key, origin, rate and quota errors are `{ \"error\": { \"code\", \"message\" } }`.\n\nCoverage: worldwide (planet file). The hosted API ignores `lang` and `categories` for now; a self-hosted server reads them. Attribution: © OpenStreetMap contributors (ODbL), Overture Maps Foundation.","license":{"identifier":"MIT","name":"MIT"},"title":"geolith search API","version":"0.1.0","contact":{"name":"geolith","email":"contact@geolith.app","url":"https://geolith.app/search"}},"openapi":"3.1.0","paths":{"/health":{"get":{"description":"Reports how many places the `.glx` file holds. Use it as a liveness and\nreadiness probe.","operationId":"health","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}},"description":"The index is open"}},"summary":"Checks that the index is open.","tags":["status"],"security":[]}},"/v1/autocomplete":{"get":{"description":"Like `/v1/search`, but the last word of `text` matches as a prefix, so\n`eiffel tow` finds the Eiffel Tower. A last word of two or more\ncharacters is expanded in the index and stays required when the other\nwords relax. A one-character last word after other words is not: the\nother words are searched and their matches are filtered on it.","operationId":"autocomplete","parameters":[{"description":"The text to search for: a place name, an address, or both. Only\nletters and digits count; at most 12 words are used.","example":"eiffel tower","in":"query","name":"text","required":true,"schema":{"type":"string"}},{"description":"Number of results, from 1 to 40. Default 10.","example":10,"in":"query","name":"size","required":false,"schema":{"format":"int32","maximum":40,"minimum":1,"type":"integer"}},{"description":"Comma-separated layers to search: `venue` (points of interest),\n`address`, `street`, `locality` (cities, towns, villages), `county`,\n`region` and `country`. Default: all.","example":"venue","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"description":"Comma-separated ISO 3166-1 alpha-2 country codes to search in, in any\ncase. Default: every country.","example":"FR,BE","in":"query","name":"boundary.country","required":false,"schema":{"type":"string"}},{"description":"Latitude of a point whose surroundings rank higher. Set together with\n`focus.point.lon`.","example":48.8566,"in":"query","name":"focus.point.lat","required":false,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of a point whose surroundings rank higher. Set together with\n`focus.point.lat`.","example":2.3522,"in":"query","name":"focus.point.lon","required":false,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`; `hi-IN` reads as `hi`). A place with a name in that language\nreturns it; others keep their name. Default: each place's own name.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Comma-separated categories to keep, at most 8: Pelias taxonomy names\n(`education`, `health`, `food`, `transport`, `religion`, `finance`,\n`accommodation`, `retail`) or category words (`college`, `bakery`).\nDefault: every place.","example":"education","in":"query","name":"categories","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"Places matching the text so far, best first"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"A parameter is missing or invalid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Search as you type: finds places while the last word is unfinished.","tags":["geocoding"]}},"/v1/nearby":{"get":{"description":"Returns up to `size` places within `boundary.circle.radius` kilometres of\nthe point (default and at most 50), nearest first, each with its\n`distance` in kilometres. Use `layers=venue` for points of interest only.","operationId":"nearby","parameters":[{"description":"Latitude of the point.","example":18.5195,"in":"query","name":"point.lat","required":true,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of the point.","example":73.8553,"in":"query","name":"point.lon","required":true,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Search radius in kilometres, greater than 0 and at most 50.\nDefault 50.","example":5,"in":"query","name":"boundary.circle.radius","required":false,"schema":{"exclusiveMinimum":0,"format":"double","maximum":50,"type":"number"}},{"description":"Number of results, from 1 to 40. Default 10.","example":10,"in":"query","name":"size","required":false,"schema":{"format":"int32","maximum":40,"minimum":1,"type":"integer"}},{"description":"Comma-separated layers to search: `venue` (points of interest),\n`address`, `street`, `locality` (cities, towns, villages), `county`,\n`region` and `country`. Default: all.","example":"venue","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"description":"Comma-separated ISO 3166-1 alpha-2 country codes to search in, in any\ncase. Default: every country.","example":"FR,BE","in":"query","name":"boundary.country","required":false,"schema":{"type":"string"}},{"description":"Latitude of a point whose surroundings rank higher. Set together with\n`focus.point.lon`.","example":48.8566,"in":"query","name":"focus.point.lat","required":false,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of a point whose surroundings rank higher. Set together with\n`focus.point.lat`.","example":2.3522,"in":"query","name":"focus.point.lon","required":false,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`; `hi-IN` reads as `hi`). A place with a name in that language\nreturns it; others keep their name. Default: each place's own name.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Comma-separated categories to keep, at most 8: Pelias taxonomy names\n(`education`, `health`, `food`, `transport`, `religion`, `finance`,\n`accommodation`, `retail`) or category words (`college`, `bakery`).\nDefault: every place.","example":"education","in":"query","name":"categories","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"Places around the point, nearest first"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The point is missing or a parameter is invalid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Nearby search: finds places around a point, nearest first.","tags":["geocoding"]}},"/v1/place":{"get":{"description":"Returns each place in the order its gid was asked for. A gid that no\nplace has, or whose layer does not match the place's, is left out. With\n`geometry=true`, a place with an outline returns it as its geometry.","operationId":"place","parameters":[{"description":"Comma-separated gids, as returned in each result's `gid`\n(`geolith:<layer>:<id>`); 1 to 40.","example":"geolith:venue:7,geolith:address:3","in":"query","name":"ids","required":true,"schema":{"type":"string"}},{"description":"Return each place's outline as its geometry (`Polygon` or\n`MultiPolygon`) when it has one, with the point in\n`properties.center` and the outline's `bbox`. Countries, regions,\ncounties, localities and venues mapped as areas have outlines.","example":true,"in":"query","name":"geometry","required":false,"schema":{"type":"boolean"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`). A place with a name in that language returns it.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"The places, in the asked order"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"`ids` is missing or holds an invalid gid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Place lookup: returns places by their gids.","tags":["geocoding"]}},"/v1/reverse":{"get":{"description":"Returns up to `size` places within `boundary.circle.radius` kilometres of\nthe point (default 1, at most 100), nearest first, each with its\n`distance` in kilometres. `focus.point.lat` and `focus.point.lon` are\naccepted but have no effect.","operationId":"reverse","parameters":[{"description":"Latitude of the point.","example":48.8584,"in":"query","name":"point.lat","required":true,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of the point.","example":2.2945,"in":"query","name":"point.lon","required":true,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Search radius in kilometres, greater than 0 and at most 100.\nDefault 1.","example":1,"in":"query","name":"boundary.circle.radius","required":false,"schema":{"exclusiveMinimum":0,"format":"double","maximum":100,"type":"number"}},{"description":"Number of results, from 1 to 40. Default 10.","example":10,"in":"query","name":"size","required":false,"schema":{"format":"int32","maximum":40,"minimum":1,"type":"integer"}},{"description":"Comma-separated layers to search: `venue` (points of interest),\n`address`, `street`, `locality` (cities, towns, villages), `county`,\n`region` and `country`. Default: all.","example":"venue","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"description":"Comma-separated ISO 3166-1 alpha-2 country codes to search in, in any\ncase. Default: every country.","example":"FR,BE","in":"query","name":"boundary.country","required":false,"schema":{"type":"string"}},{"description":"Latitude of a point whose surroundings rank higher. Set together with\n`focus.point.lon`.","example":48.8566,"in":"query","name":"focus.point.lat","required":false,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of a point whose surroundings rank higher. Set together with\n`focus.point.lat`.","example":2.3522,"in":"query","name":"focus.point.lon","required":false,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`; `hi-IN` reads as `hi`). A place with a name in that language\nreturns it; others keep their name. Default: each place's own name.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Comma-separated categories to keep, at most 8: Pelias taxonomy names\n(`education`, `health`, `food`, `transport`, `religion`, `finance`,\n`accommodation`, `retail`) or category words (`college`, `bakery`).\nDefault: every place.","example":"education","in":"query","name":"categories","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"Places near the point, nearest first"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The point is missing or a parameter is invalid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Reverse geocoding: finds the places nearest to a point.","tags":["geocoding"]}},"/v1/search":{"get":{"description":"Every word of `text` is required first. When that finds fewer than `size`\nplaces, the query is relaxed to about three quarters of the words; words\nin more than one place in a thousand do not decide a relaxed match.\nResults are ranked by BM25 text relevance plus the place's importance.\n\nWith `focus.point.lat` and `focus.point.lon`, places within about 55 km of\nthe point come first, closer ones ranked higher, and each result has a\n`distance` in kilometres. The search starts about 5 km around the point\nand widens only when it finds fewer than `size` places.","operationId":"search","parameters":[{"description":"The text to search for: a place name, an address, or both. Only\nletters and digits count; at most 12 words are used.","example":"eiffel tower","in":"query","name":"text","required":true,"schema":{"type":"string"}},{"description":"Number of results, from 1 to 40. Default 10.","example":10,"in":"query","name":"size","required":false,"schema":{"format":"int32","maximum":40,"minimum":1,"type":"integer"}},{"description":"Comma-separated layers to search: `venue` (points of interest),\n`address`, `street`, `locality` (cities, towns, villages), `county`,\n`region` and `country`. Default: all.","example":"venue","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"description":"Comma-separated ISO 3166-1 alpha-2 country codes to search in, in any\ncase. Default: every country.","example":"FR,BE","in":"query","name":"boundary.country","required":false,"schema":{"type":"string"}},{"description":"Latitude of a point whose surroundings rank higher. Set together with\n`focus.point.lon`.","example":48.8566,"in":"query","name":"focus.point.lat","required":false,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of a point whose surroundings rank higher. Set together with\n`focus.point.lat`.","example":2.3522,"in":"query","name":"focus.point.lon","required":false,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`; `hi-IN` reads as `hi`). A place with a name in that language\nreturns it; others keep their name. Default: each place's own name.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Comma-separated categories to keep, at most 8: Pelias taxonomy names\n(`education`, `health`, `food`, `transport`, `religion`, `finance`,\n`accommodation`, `retail`) or category words (`college`, `bakery`).\nDefault: every place.","example":"education","in":"query","name":"categories","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"Places matching the text, best first"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"A parameter is missing or invalid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Forward geocoding: finds places matching free text.","tags":["geocoding"]}},"/v1/search/structured":{"get":{"description":"Every word of every field that is set is required. When that finds fewer\nthan `size` places, the query is relaxed to about three quarters of the\nwords.\nA two-letter `country` is used as a country filter rather than as words\nto match. Ranking works as in `/v1/search`.","operationId":"structured","parameters":[{"description":"House number and street, or a venue name.","example":"10 Downing Street","in":"query","name":"address","required":false,"schema":{"type":"string"}},{"description":"Neighbourhood.","in":"query","name":"neighbourhood","required":false,"schema":{"type":"string"}},{"description":"Borough.","in":"query","name":"borough","required":false,"schema":{"type":"string"}},{"description":"City or town.","example":"London","in":"query","name":"locality","required":false,"schema":{"type":"string"}},{"description":"County.","in":"query","name":"county","required":false,"schema":{"type":"string"}},{"description":"State or province.","in":"query","name":"region","required":false,"schema":{"type":"string"}},{"description":"Postal code.","in":"query","name":"postalcode","required":false,"schema":{"type":"string"}},{"description":"Country name, or an ISO 3166-1 alpha-2 code, which filters by\ncountry instead of matching words.","example":"GB","in":"query","name":"country","required":false,"schema":{"type":"string"}},{"description":"Number of results, from 1 to 40. Default 10.","example":10,"in":"query","name":"size","required":false,"schema":{"format":"int32","maximum":40,"minimum":1,"type":"integer"}},{"description":"Comma-separated layers to search: `venue` (points of interest),\n`address`, `street`, `locality` (cities, towns, villages), `county`,\n`region` and `country`. Default: all.","example":"venue","in":"query","name":"layers","required":false,"schema":{"type":"string"}},{"description":"Comma-separated ISO 3166-1 alpha-2 country codes to search in, in any\ncase. Default: every country.","example":"FR,BE","in":"query","name":"boundary.country","required":false,"schema":{"type":"string"}},{"description":"Latitude of a point whose surroundings rank higher. Set together with\n`focus.point.lon`.","example":48.8566,"in":"query","name":"focus.point.lat","required":false,"schema":{"format":"double","maximum":90,"minimum":-90,"type":"number"}},{"description":"Longitude of a point whose surroundings rank higher. Set together with\n`focus.point.lat`.","example":2.3522,"in":"query","name":"focus.point.lon","required":false,"schema":{"format":"double","maximum":180,"minimum":-180,"type":"number"}},{"description":"Language of the names returned, as a two- or three-letter code (`hi`,\n`mr`; `hi-IN` reads as `hi`). A place with a name in that language\nreturns it; others keep their name. Default: each place's own name.","example":"hi","in":"query","name":"lang","required":false,"schema":{"type":"string"}},{"description":"Comma-separated categories to keep, at most 8: Pelias taxonomy names\n(`education`, `health`, `food`, `transport`, `religion`, `finance`,\n`accommodation`, `retail`) or category words (`college`, `bakery`).\nDefault: every place.","example":"education","in":"query","name":"categories","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeatureCollection"}}},"description":"Places matching the fields, best first"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"No field is set, or a parameter is invalid"},"401":{"description":"`missing_api_key` or `invalid_api_key`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"403":{"description":"`origin_not_allowed`: a publishable key used from an origin it does not list","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"429":{"description":"`rate_limited` (retry after `Retry-After`) or `quota_exceeded`","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GatewayError"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"The index could not be read"}},"summary":"Structured geocoding: finds places from separate address fields.","tags":["geocoding"]}}},"tags":[{"description":"Forward, autocomplete, structured, reverse and nearby geocoding, and place lookup","name":"geocoding"},{"description":"Service health","name":"status"}],"servers":[{"url":"https://api.geolith.app","description":"geolith cloud"}],"externalDocs":{"description":"Hosted API docs","url":"https://docs.geolith.app/search/hosted/overview"},"security":[{"apiKeyQuery":[]},{"bearer":[]}]}