# API Яндекс Расписаний: Найти рейсы между городами на дату

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

Показать поезда, самолёты или автобусы из одного города в другой — со временем отправления, прибытия и ценами, если они есть.

1. Получи ключ в Кабинете разработчика (продукт «API Яндекс.Расписаний») — он работает сразу. Передавай его в параметре apikey.
2. Найди коды пунктов: код города начинается с c (например, c213 — Москва), код станции — с s. Коды можно взять из GET /v3.0/stations_list/ или из ответов других методов.
3. Запроси рейсы: GET /v3.0/search/ с from, to и date (YYYY-MM-DD). Тип транспорта ограничивает transport_types: plane, train, suburban, bus, water, helicopter.
4. В ответе segments — рейсы с departure, arrival, duration, thread (номер, перевозчик, uid нитки) и tickets_info. Для маршрутов с пересадками добавь transfers = true.
5. Без date вернутся только прямые рейсы на все даты. Листай результаты через offset и limit (по умолчанию 100).

```bash
curl -G https://api.rasp.yandex.net/v3.0/search/ \
  -d apikey=<ключ> -d format=json -d lang=ru_RU \
  -d from=c213 -d to=c2 -d date=2026-11-03 \
  -d transport_types=train
```

## Базовые 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/search/ — Расписание рейсов между станциями

Ответ содержит `pagination`, `segments` (рейсы: `from`, `to`, `departure`, `arrival`, `duration`, `thread`, `tickets_info`), `interval_segments` и `search`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ (можно передать в заголовке Authorization) |
| `from` | query | string | да | Код станции отправления; можно код населённого пункта с префиксом c |
| `to` | query | string | да | Код станции прибытия |
| `format` | query | string | нет | json (по умолчанию) или xml |
| `lang` | query | string | нет | Язык ответа, по умолчанию ru_RU |
| `date` | query | string | нет | Дата ISO 8601 (YYYY-MM-DD); без даты — только прямые рейсы на все даты |
| `transport_types` | query | string | нет | plane, train, suburban, bus, water, helicopter |
| `system` | query | string | нет | Система кодирования from и to, по умолчанию yandex |
| `show_systems` | query | string | нет | Добавить коды станций в системе yandex или esr |
| `offset` | query | integer | нет | Смещение, по умолчанию 0 |
| `limit` | query | integer | нет | Максимум результатов, по умолчанию 100 |
| `add_days_mask` | query | boolean | нет | Вернуть календарь хождения (schedule) для каждой нитки |
| `result_timezone` | query | string | нет | Часовой пояс дат в ответе (идентификатор базы tz) |
| `transfers` | query | boolean | нет | Добавить маршруты с пересадками, по умолчанию false |

### GET /v3.0/stations_list/ — Список всех доступных станций

Вложенная структура: страны → регионы → населённые пункты → станции. Ответ — около 40 МБ.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `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/raspisanie-elektrichek-po-stantsii.md)
- [Ближайшие станции и город по координатам пользователя](https://mcp-everything.ru/integrations/yandex-rasp/scenarios/blizhayshie-stantsii-i-gorod.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
