Это словарь и есть, можешь проверить так:
type(r.json())
Соответственно, у словаря есть ключи, которые можно посмотреть методом
keys():
>>> geo = {'format': 'json', 'lat': f'51.22778325', 'lon': f'51.43176735508452'}
>>> r = requests.get('https://nominatim.openstreetmap.org/reverse', params=geo)
>>> r.json()
{'place_id': 158413949,
'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',
'osm_type': 'way', 'osm_id': 227214466,
'lat': '51.22778325',
'lon': '51.43176735508452',
'display_name': '2/3, улица Юрия Гагарина, Уральск, Уральск Г.А., Западно-Казахстанская область, 090005, Қазақстан',
'address': {'house_number': '2/3', 'road': 'улица Юрия Гагарина', 'city': 'Уральск', 'county': 'Уральск Г.А.', 'state': 'Западно-Казахстанская область', 'ISO3166-2-lvl4': 'KZ-ZAP', 'postcode': '090005', 'country': 'Қазақстан', 'country_code': 'kz'},
'boundingbox': ['51.2274636', '51.2280884', '51.4309297', '51.4323584']}
>>> type(r.json())
<class 'dict'>
>>> r.json().keys()
dict_keys(['place_id', 'licence', 'osm_type', 'osm_id', 'lat', 'lon', 'display_name', 'address', 'boundingbox'])
>>>
UPD. В значении ключа
address тоже словарь. Узнать ключи словаря в
address:
...
>>> r.json().get('address').keys()
dict_keys(['house_number', 'road', 'city', 'county', 'state', 'ISO3166-2-lvl4', 'postcode', 'country', 'country_code'])
...
Узнать значение поля
city можно так:
...
>>> r.json().get('address').get('city')
'Уральск'
...