# API Яндекс Расписаний: Ближайшие станции и город по координатам пользователя

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

Подсказать, откуда ближе уехать: станции рядом с пользователем и ближайший город.

1. Запроси станции: GET /v3.0/nearest_stations/ с lat, lng (WGS84) и distance — радиусом в километрах. Отфильтровать можно по station_types и transport_types.
2. Для определения города вызови GET /v3.0/nearest_settlement/ с теми же координатами (радиус по умолчанию 10 км, максимум 50).
3. Код найденного города или станции подставляй в from для поиска рейсов.

```bash
curl -G https://api.rasp.yandex.net/v3.0/nearest_stations/ \
  -d apikey=<ключ> -d lat=55.7558 -d lng=37.6173 -d distance=3 -d transport_types=suburban

curl -G https://api.rasp.yandex.net/v3.0/nearest_settlement/ \
  -d apikey=<ключ> -d lat=55.7558 -d lng=37.6173
```

## Базовые URL

- Боевой: `https://api.rasp.yandex-net.ru`
- Доступность старого домена  не гарантируется; Яндекс рекомендует перейти на: `api.rasp.yandex.net`

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

Тип: API-ключ

Ключ получают в Кабинете разработчика, подключив продукт «API Яндекс.Расписаний»; работает сразу после создания. Ключ передаётся в каждом запросе в параметре `apikey` или в заголовке `Authorization`. Если передать оба, приоритет у `apikey`.

```
https://api.rasp.yandex-net.ru/v3.0/search/?apikey={ключ}&format=json&from=c146&to=c213&lang=ru_RU&page=1&date=2015-09-02
```

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

### GET /v3.0/nearest_stations/ — Список ближайших станций

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `lat` | query | number | да | Широта WGS84 |
| `lng` | query | number | да | Долгота WGS84 |
| `distance` | query | number | да | Радиус поиска, км |
| `lang` | query | string | нет | Язык |
| `format` | query | string | нет | json или xml |
| `station_types` | query | string | нет | Типы станций через запятую |
| `transport_types` | query | string | нет | Типы транспорта через запятую |
| `offset` | query | integer | нет | Смещение |
| `limit` | query | integer | нет | Максимум результатов, по умолчанию 100 |

### GET /v3.0/nearest_settlement/ — Ближайший город

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `lat` | query | number | да | Широта WGS84 |
| `lng` | query | number | да | Долгота WGS84 |
| `distance` | query | number | нет | Радиус поиска, км: по умолчанию 10, максимум 50 |
| `lang` | query | string | нет | Язык |
| `format` | query | string | нет | json или xml |

## Нюансы

- Методы вызываются URL-запросом с параметрами в строке запроса; HTTP-метод в документации отдельно не указан.
- Коды станций — в системе кодирования Яндекс Расписаний; для других систем (`iata`, `sirena`, `express`, `esr`) обязателен параметр `system`.
- Код населённого пункта начинается с `c` (например, `c146`), код станции — с `s`.
- `uid` нитки нестабилен — получайте его из `search` или `schedule` перед запросом `thread`.
- Языки ответа: `ru` и `uk`, страны `RU` и `UA`.

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

- [Найти рейсы между городами на дату](https://mcp-everything.ru/integrations/yandex-rasp/scenarios/nayti-reysy-mezhdu-gorodami-na-datu.md)
- [Расписание электричек по станции](https://mcp-everything.ru/integrations/yandex-rasp/scenarios/raspisanie-elektrichek-po-stantsii.md)
- [Показать остановки поезда или рейса](https://mcp-everything.ru/integrations/yandex-rasp/scenarios/pokazat-ostanovki-poezda-ili-reysa.md)

---

Если этого недостаточно — официальная документация: https://yandex.ru/dev/rasp/doc/ru/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-rasp.md
