API Яндекс-геокодера

Перед использованием получите API ключ в кабинете разработчика:

Мы уже сами написали для вас функцию, которая получит координаты места по его названию, осталось ей воспользоваться. Для её работы нужно установить библиотеку requests==2.22.0

import requests

def fetch_coordinates(apikey, place):
    base_url = "https://geocode-maps.yandex.ru/1.x"
    params = {"geocode": place, "apikey": apikey, "format": "json"}
    response = requests.get(base_url, params=params)
    response.raise_for_status()
    places_found = response.json()['response']['GeoObjectCollection']['featureMember']
    most_relevant = places_found[0]
    lon, lat = most_relevant['GeoObject']['Point']['pos'].split(" ")
    return lon, lat

Пример использования:

>>> fetch_coordinates(apikey, "Внуково")
('37.295014', '55.608562')
>>> fetch_coordinates(apikey, "Серпуховская")
('37.624992', '55.726872')
>>> fetch_coordinates(apikey, "Красная площадь")
('37.621031', '55.753595')