---
slug: "yandex-geocoder"
name: "API Геокодера Яндекс Карт"
vendor: "Яндекс"
industry: "maps"
docsUrl: "https://yandex.ru/maps-api/docs/geocoder-api/index.html"
version: 2
updatedAt: "2026-10-24"
---

# API Геокодера Яндекс Карт

Отрасль: Карты и геоданные. Актуально на 2026-10-24.

HTTP-геокодер Яндекс Карт: прямое геокодирование (координаты по адресу или названию объекта) и обратное (адрес по координатам). Сервис учитывает распространённые опечатки и предлагает несколько вариантов; при обратном геокодировании можно ограничить тип топонима — дома, улицы, населённые пункты. Ответ — JSON.

## Сценарии

### Получить координаты по адресу

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

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

### Определить адрес по координатам

Подставить адрес по точке, которую пользователь выбрал на карте или передал из геолокации телефона.

1. Запроси адрес: GET /v1 с geocode = «долгота,широта» (по умолчанию порядок именно такой; для «широта,долгота» передай sco = latlong).
2. Чтобы получить именно дом, а не район или метро, передай kind = house. Другие варианты — street, metro, district, locality.
3. Полный адрес — в GeocoderMetaData.text, по частям — в Address.Components: пары kind и name от страны до дома. Поле AddressDetails устарело.

```bash
curl -G https://geocode-maps.yandex.ru/v1/ \
  -d apikey=<ключ> -d geocode=37.611347,55.760241 -d kind=house -d lang=ru_RU -d format=json -d results=1
```

### Искать адрес только в своём городе

Подсказки и проверка адреса доставки в зоне работы: чтобы «Ленина, 5» нашлось в твоём городе, а не в соседнем.

1. Задай область поиска: bbox — углами «долгота1,широта1~долгота2,широта2», или ll (центр) и spn (протяжённость).
2. Передай rspn = 1, чтобы искать только внутри области; с rspn = 0 область лишь повышает приоритет результатов.
3. Запроси несколько вариантов: GET /v1 с results до 50 и покажи их пользователю на выбор. Следующие страницы — через skip (кратно results).
4. Если в geocode переданы координаты, ограничение области не применяется.

```bash
curl -G https://geocode-maps.yandex.ru/v1/ \
  -d apikey=<ключ> --data-urlencode 'geocode=Ленина 5' \
  -d bbox=49.0,55.7~49.3,55.9 -d rspn=1 -d results=5 -d lang=ru_RU -d format=json
```

## Базовые 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 с параметрами.

## Ошибки

| Код | Описание |
|---|---|
| `400` | Нет обязательного параметра или неверное значение; подробности в message |
| `403` | Неверный apikey (Invalid apikey) |
| `429` | Слишком много запросов за короткое время |

## Источники

- [API Геокодера](https://yandex.ru/maps-api/docs/geocoder-api/index.html)
- [Формат запроса](https://yandex.ru/maps-api/docs/geocoder-api/request.html)
- [Формат ответа](https://yandex.ru/maps-api/docs/geocoder-api/response.html)
- [Примеры](https://yandex.ru/maps-api/docs/geocoder-api/examples.html)

---

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