API Геокодера Яндекс Карт: Получить координаты по адресу

Сценарий из mcp-everything. Актуально на 2026-10-24.

Поставить точку на карте, посчитать расстояние до склада или зону доставки по адресу из формы заказа.

  1. Получи ключ в Кабинете разработчика (продукт «API Геокодера») — он активируется в течение 15 минут. Ключ передаётся в параметре apikey; держи запросы на сервере или защищай ключ подписью signature.
  2. Запроси координаты: GET /v1 с geocode — адресом, lang = ru_RU, format = json и results = 1, если нужен только лучший вариант.
  3. Координаты — в response.GeoObjectCollection.featureMember[0].GeoObject.Point.pos в порядке «долгота широта» через пробел. Не перепутай порядок при передаче в карты и формулы расстояний.
  4. Проверь точность: GeocoderMetaData.precision = exact значит, что дом найден точно; near, street или other — что адрес распознан частично, стоит уточнить его у покупателя.
  5. Геокодер исправляет опечатки: исправленный запрос — в GeocoderResponseMetaData.fix.
import requests

r = requests.get("https://geocode-maps.yandex.ru/v1/", params={
    "apikey": "<ключ>", "geocode": "Москва, Тверская улица, 7", "lang": "ru_RU", "format": "json", "results": 1,
}).json()
obj = r["response"]["GeoObjectCollection"]["featureMember"][0]["GeoObject"]
lon, lat = map(float, obj["Point"]["pos"].split())
precision = obj["metaDataProperty"]["GeocoderMetaData"]["precision"]
print(lat, lon, precision)

Базовые URL

Авторизация

Тип: API-ключ

Ключ из Кабинета разработчика передаётся в параметре apikey; активируется в течение 15 минут после получения. Для защиты ключа от кражи можно подписывать запросы параметром signature.

https://geocode-maps.yandex.ru/v1/?apikey=YOUR_API_KEY&geocode=бульвар+Мухаммед+Бин+Рашид+1&format=json

Методы сценария

GET /v1 — Геокодирование

Пример обратного геокодирования:

Постраничная выдача (объекты с 11-го по 15-й):

Структура ответа (сокращена):

Параметр Где Тип Обяз. Описание
apikey query string да Ключ из Кабинета разработчика
geocode query string да Адрес (прямое геокодирование) или координаты (обратное)
lang query string да Язык ответа language_region: ru_RU, uk_UA, be_BY, en_RU, en_US, tr_TR
sco query string нет Порядок координат в geocode: longlat (по умолчанию) или latlong
kind query string нет Вид топонима при обратном геокодировании: house, street, metro, district, locality
rspn query boolean нет Ограничить поиск областью ll/spn или bbox: 0 — нет (по умолчанию), 1 — да
ll query string нет Долгота и широта центра области поиска
spn query string нет Протяжённость области поиска по долготе и широте
bbox query string нет Область поиска углами x1,y1~x2,y2; приоритетнее ll+spn
format query string нет Формат ответа: json
results query integer нет Максимум объектов, по умолчанию 10, не больше 50
skip query integer нет Сколько объектов пропустить; должно делиться на results
uri query string нет ID объекта для получения доп. информации, вместо текста и координат
signature query string нет Подпись запроса

Пример запроса:

https://geocode-maps.yandex.ru/v1/?apikey=YOUR_API_KEY&geocode=55.270141,25.193445&format=json

Пример ответа:

https://geocode-maps.yandex.ru/v1/?apikey=YOUR_API_KEY&geocode=Дубай+Марина&results=5&skip=10&format=json

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/maps-api/docs/geocoder-api/index.html Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-geocoder.md