# API Яндекс Расписаний: Показать остановки поезда или рейса

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

Список станций следования конкретного поезда с временем прибытия и стоянками.

1. Получи uid нитки из ответа GET /v3.0/search/ или GET /v3.0/schedule/ (поле thread.uid). uid может меняться — бери свежий перед каждым запросом.
2. Запроси станции следования: GET /v3.0/thread/ с uid и date. Чтобы показать только отрезок маршрута пассажира, передай from и to.
3. Если нужен перевозчик, получи его данные: GET /v3.0/carrier/ с code из thread.carrier.

```bash
curl -G https://api.rasp.yandex.net/v3.0/thread/ \
  -d apikey=<ключ> -d uid=<uid нитки> -d date=2026-11-03 -d lang=ru_RU
```

## Базовые 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/schedule/ — Расписание рейсов по станции

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `station` | query | string | да | Код станции в системе из system |
| `lang` | query | string | нет | Язык, по умолчанию ru_RU |
| `format` | query | string | нет | json или xml |
| `date` | query | string | нет | Дата ISO 8601 |
| `transport_types` | query | string | нет | Тип транспорта |
| `direction` | query | string | нет | Направление для электричек; только при transport_types=suburban |
| `event` | query | string | нет | departure (по умолчанию) или arrival |
| `system` | query | string | нет | yandex, iata, sirena, express, esr |
| `show_systems` | query | string | нет | yandex, esr или all |
| `result_timezone` | query | string | нет | Часовой пояс ответа |

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

```
https://api.rasp.yandex-net.ru/v3.0/schedule/?apikey={ключ}&station=s9600213&transport_types=suburban&direction=на%20Москву
```

### GET /v3.0/thread/ — Список станций следования

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `uid` | query | string | да | Идентификатор нитки; может меняться — получайте перед каждым запросом |
| `from` | query | string | нет | Код станции отправления |
| `to` | query | string | нет | Код станции прибытия |
| `format` | query | string | нет | json или xml |
| `lang` | query | string | нет | Язык |
| `date` | query | string | нет | Дата; по умолчанию первая дата хождения нитки |
| `show_systems` | query | string | нет | yandex, esr или all |

### GET /v3.0/carrier/ — Информация о перевозчике

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apikey` | query | string | да | Ключ |
| `code` | query | string | да | Код перевозчика; для IATA в ответе может быть несколько перевозчиков |
| `system` | query | string | нет | yandex (по умолчанию), iata, sirena, express, esr |
| `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/blizhayshie-stantsii-i-gorod.md)

---

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