Перейти до вмісту
AstroWay/api v2.325.0 · docs
усі системи в нормі

Nearest place to coordinates

GET
/geo/reverse
request.sh
curl -X GET https://api.astroway.info/v1/geo/reverse?lat=49.8397&lon=24.0297 \
-H "X-Api-Key: aw_live_..." \
-H "Content-Type: application/json"

The populated place nearest to a point, by great-circle distance over the same list as /geo/search, and the IANA zone of the point itself (which near a border can differ from the place’s). Works across the antimeridian and at the poles. At sea timezone is the nautical hour band (Etc/GMT+2, whose sign is inverted by POSIX convention) and nautical is true; place.distanceKm says how far the nearest place is, so a point in open water is not mistaken for a town. featureCode PPLX marks a section of a city rather than a city.

lat required
number
>= -90 <= 90
Example
49.8397

Latitude in decimal degrees, north positive.

lon required
number
>= -180 <= 180
Example
24.0297

Longitude in decimal degrees, east positive.

lang
string
Allowed values: uk en de pl es pt fr it nl cs ro hu el tr ar hi ja ko vi id ru
Example
en

Language for the place, region and country names.

fields
string

Comma-separated dotted paths, relative to data, to keep in the response. A path is applied to every element of an array, so planets.name means the name of each planet. Paths that match nothing come back in _fields_unmatched; a list where nothing matches at all is a 400, because an empty object would be a confident wrong answer.

Example
planets.name,planets.longitude
precision
integer
<= 15

Round every non-integer number in the response to this many decimal places. Integers are left alone, because an id is not a measurement. Ecliptic longitudes ship with fourteen decimals by default; 2 is about a tenth of an arcminute.

Example
4

Successful calculation

Media type application/json
object
ok
boolean
data
object
latitude
number
nullable
longitude
number
nullable
timezone
string
nullable
nautical
boolean
nullable
place
object
id
number
nullable
name
string
nullable
admin1
string
nullable
admin1Code
string
nullable
countryCode
string
nullable
country
string
nullable
latitude
number
nullable
longitude
number
nullable
timezone
string
nullable
population
number
nullable
featureCode
string
nullable
distanceKm
number
nullable
dataset
object
source
string
nullable
url
string
nullable
namesUrl
string
nullable
licence
string
nullable
downloaded
string
nullable
count
number
nullable
attribution
object
source
string
nullable
sourceUrl
string
nullable
licence
string
nullable
licenceUrl
string
nullable
notice
string
nullable
Example
{
"ok": true,
"data": {
"latitude": 49.8397,
"longitude": 24.0297,
"timezone": "Europe/Kyiv",
"nautical": false,
"place": {
"id": 702550,
"name": "Lviv",
"admin1": "Lviv Oblast",
"admin1Code": "15",
"countryCode": "UA",
"country": "Ukraine",
"latitude": 49.8383,
"longitude": 24.0232,
"timezone": "Europe/Kyiv",
"population": 717273,
"featureCode": "PPLA",
"distanceKm": 0.5
},
"dataset": {
"source": "GeoNames cities1000",
"url": "https://download.geonames.org/export/dump/cities1000.zip",
"namesUrl": "https://download.geonames.org/export/dump/alternateNamesV2.zip",
"licence": "CC BY 4.0",
"downloaded": "2026-11-07",
"count": 171800
},
"attribution": {
"source": "GeoNames",
"sourceUrl": "https://www.geonames.org/",
"licence": "CC BY 4.0",
"licenceUrl": "https://creativecommons.org/licenses/by/4.0/",
"notice": "Place names, coordinates and populations from the GeoNames geographical database, used under CC BY 4.0. Displaying this data requires carrying the same credit."
}
}
}

Validation error

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_INPUT",
"message": "Validation failed: date: Date must be YYYY-MM-DD",
"details": [
{
"path": "date",
"message": "Date must be YYYY-MM-DD"
}
]
}
}

Missing or invalid API key

Media type application/json
Example
{
"ok": false,
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid API key"
}
}