# 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.

```python
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

- Боевой: `https://geocode-maps.yandex.ru`

## Авторизация

Тип: 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
```

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

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

## Нюансы

- Координаты в ответе (`Point.pos`, `boundedBy.Envelope`) — в порядке «долгота широта», через пробел.
- `GeocoderMetaData.precision` показывает точность совпадения номера дома: `exact`, `number`, `near`, `range`, `street`, `other`.
- `Address.Components[]` — компоненты адреса парами `kind`/`name` от крупного к мелкому; поле `AddressDetails` устарело.
- `GeocoderResponseMetaData.fix` и `suggest` — исправление опечаток в запросе.
- Ограничение области (`rspn`, `ll`, `spn`, `bbox`) игнорируется, если в `geocode` переданы координаты.
- HTTP-метод в документации отдельно не указан — запрос задаётся URL с параметрами.

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

- [Определить адрес по координатам](https://mcp-everything.ru/integrations/yandex-geocoder/scenarios/opredelit-adres-po-koordinatam.md)
- [Искать адрес только в своём городе](https://mcp-everything.ru/integrations/yandex-geocoder/scenarios/iskat-adres-tolko-v-svoem-gorode.md)

---

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