This is a copy of an issue that I just created in the Nominatim repository. Sadly my skills in Python (and my knowledge of the OSM data model) aren’t good enough to poke around in the code on my own to figure out what is happening.
Reverse Geocoding in the Ho Chi Minh City center return wrong city
What did you search for?
https://nominatim.openstreetmap.org/reverse?format=geojson&lat=10.7686020&lon=106.6900885
What result did you get?
The address field in the JSON response returns Thủ Đức as city:
{
"address": {
"amenity": "Little HaNoi Egg Coffee",
"house_number": "212",
"road": "Le Lai Street",
"neighbourhood": "Khu phố 3",
"suburb": "Ben Thanh",
"city": "Thủ Đức",
"ISO3166-2-lvl4": "VN-SG",
"postcode": "70200",
"country": "Vietnam",
"country_code": "vn"
}
}
This is a bit complicated as Thủ Đức currently exists twice in OSM: once as a (former) subdivision of HCMC and now a navigation marker: https://www.openstreetmap.org/node/12925776412 (Which used to be a city) and as a suburb: https://www.openstreetmap.org/relation/7138136 (Which is now a ward)
Both of them are not in the city center, though – they’re on the other side of the Saigon river.
What result did you expect?
I expected Ho Chi Minh City in the city field. The point is right in the middle of the Bến Thành suburb, which is correctly stated as the suburb in the json return
Bến Thành – https://www.openstreetmap.org/relation/19260503 – has the correct relation to Ho Chi Minh City – https://www.openstreetmap.org/relation/1973756 (Alas to the district of Ho Chi Minh City, which includes many cities. I am aware that this stuff isn’t easy.)
Further details
I checked a point that is actually in Thủ Đức: https://nominatim.openstreetmap.org/reverse?format=geojson&lat=10.8466489&lon=106.7510356 – here we can find Thủ Đức both in the suburb and the city field.
A lot of the data on OSM is still a bit out of date since the 2025 Vietnamese administrative reforms