Расписание рейсов между станциями

Запрос позволяет получить список рейсов, следующих от указанной станции отправления к указанной станции прибытия и информацию по каждому рейсу.

Примечание.

Запрос следует отправлять по протоколу HTTPS.

  1. Синтаксис запроса
  2. Структура ответа

Синтаксис запроса

https://api.rasp.yandex.net/v3.0/search/ ?
  from=<код станции отправления>
& to=<код станции прибытия>
& [format=<формат — XML или JSON>]
& [lang=<язык>]
& [apikey=<ключ>]
& [date=<дата>]
& [transport_types=<тип транспорта>]
& [system=<система кодирования параметров to и from>]
& [show_systems=<система кодирования для ответа>]
& [offset=<сдвиг относительно первого рейса в ответе>]
& [limit=<ограничение на количество рейсов в ответе>]
& [add_days_mask=<запрос календаря хождения рейсов>]
& [result_timezone=<часовой пояс>]
& [transfers=<признак запроса маршрутов с пересадками>]

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

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

Входные параметры:

Параметр Описание
Обязательные параметры
apikey

Ключ доступа к API.

Параметр можно не передавать, если ключ доступа указан в заголовке Authorization, например:

Authorization: 1eb31582-941a-3ac8-a61f-041c344495ab
from

Код станции отправления. Должен быть указан в системе кодирования.

При использовании системы кодирования Яндекс.Расписаний в данном параметре также можно указать код населенного пункта.

Код населенного пункта или код станции можно получить из адресной строки, пользуясь Яндекс.Расписаниями. Например, из адресной строки:
  • «http://rasp.yandex.ru/station/9600213» — код станции «s9600213» (к числовому значению кода добавляется латинская буква «s»);
  • «http://rasp.yandex.ru/city/146» — код населенного пункта «c146» (к числовому значению кода добавляется латинская буква «c»).
to

Код станции прибытия. Должен быть указан в системе кодирования.

При использовании системы кодирования Яндекс.Расписаний в данном параметре также можно указать код населенного пункта.

Код населенного пункта или код станции можно получить из адресной строки, пользуясь Яндекс.Расписаниями. Например, из адресной строки:
  • «https://rasp.yandex.ru/station/9600213» — код станции «s9600213» («s» от сокращенного «station»).
  • «https://rasp.yandex.ru/city/146» — код населенного пункта «c146» («c» от сокращенного «city»).
Необязательные параметры
format

Формат ответа. Поддерживаемые значения:

  • json (по умолчанию);

  • xml.

lang

Язык возвращаемой информации, в формате <код языка>_<код страны>. Поддерживаемые коды языка описаны стандартом ISO 639, коды стран — стандартом ISO 3166.

По умолчанию ответ возвращается для значения ru_RU.

Поддерживаемые коды языков:

  • ru — русский;

  • uk — украинский.

Поддерживаемые коды стран:

  • RU — Россия;

  • UA — Украина.

date

Дата, на которую необходимо получить список рейсов. Должна быть указана в формате, соответствующем стандарту ISO 8601. Например, YYYY-MM-DD.

По умолчанию возвращается информация обо всех будущих рейсах.

transport_types

Тип транспортного средства. Возможные значения:

  • plane — самолет;

  • train — поезд;

  • suburban — электричка;

  • bus — автобус;

  • water — морской транспорт;

  • helicopter — вертолет.

По умолчанию возвращается список рейсов по всем типам транспортных средств.

system

Система кодирования, в которой указывается код станции отправления и код станции прибытия (параметры from, to) в запросе. Возможные значения:

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

show_systems

Система кодирования, коды которой следует добавить к описанию станций в результатах поиска (элемент codes, вложенный в элементы from и to).

Поддерживаемые значения:

  • yandex (значение по умолчанию) — система кодирования Яндекс.Расписаний;

  • esr — коды железнодорожных станций СНГ и стран Балтии из базы ЕСР.

offset

Смещение относительно первого результата поиска. Например, если вам не нужны первые 10 результатов поиска, задайте для параметра значение «10».

Значение по умолчанию — 0.

limit

Максимальное количество результатов поиска в ответе.

Значение по умолчанию — 100.

add_days_mask

Признак, который указывает, что для каждой нитки в ответе следует вернуть календарь хождения — элемент schedule, вложенный в элемент segments.

Поддерживаемые значения:

  • false — календарь возвращать не нужно (значение по умолчанию).

  • true — для каждой нитки следует вернуть календарь хождения.

result_timezone

Часовой пояс, для которого следует указывать даты и времена в ответе. Если параметр не передан, каждая дата и время в ответе будут указаны в часовом поясе соответствующей станции.

Часовые пояса следует указывать с помощью идентификаторов базы данных tz. В английской Википедии приведен список идентификаторов из последней версии этой базы данных (в столбце «TZ» таблицы).

transfers

Признак, разрешающий добавить к результатам поиска маршруты с пересадками.

Поддерживаемые значения:

  • false — в результатах поиска не должно быть маршрутов с пересадками (значение по умолчанию).

  • true — найденные маршруты с пересадками следует добавить к результатам поиска.

Параметр Описание
Обязательные параметры
apikey

Ключ доступа к API.

Параметр можно не передавать, если ключ доступа указан в заголовке Authorization, например:

Authorization: 1eb31582-941a-3ac8-a61f-041c344495ab
from

Код станции отправления. Должен быть указан в системе кодирования.

При использовании системы кодирования Яндекс.Расписаний в данном параметре также можно указать код населенного пункта.

Код населенного пункта или код станции можно получить из адресной строки, пользуясь Яндекс.Расписаниями. Например, из адресной строки:
  • «http://rasp.yandex.ru/station/9600213» — код станции «s9600213» (к числовому значению кода добавляется латинская буква «s»);
  • «http://rasp.yandex.ru/city/146» — код населенного пункта «c146» (к числовому значению кода добавляется латинская буква «c»).
to

Код станции прибытия. Должен быть указан в системе кодирования.

При использовании системы кодирования Яндекс.Расписаний в данном параметре также можно указать код населенного пункта.

Код населенного пункта или код станции можно получить из адресной строки, пользуясь Яндекс.Расписаниями. Например, из адресной строки:
  • «https://rasp.yandex.ru/station/9600213» — код станции «s9600213» («s» от сокращенного «station»).
  • «https://rasp.yandex.ru/city/146» — код населенного пункта «c146» («c» от сокращенного «city»).
Необязательные параметры
format

Формат ответа. Поддерживаемые значения:

  • json (по умолчанию);

  • xml.

lang

Язык возвращаемой информации, в формате <код языка>_<код страны>. Поддерживаемые коды языка описаны стандартом ISO 639, коды стран — стандартом ISO 3166.

По умолчанию ответ возвращается для значения ru_RU.

Поддерживаемые коды языков:

  • ru — русский;

  • uk — украинский.

Поддерживаемые коды стран:

  • RU — Россия;

  • UA — Украина.

date

Дата, на которую необходимо получить список рейсов. Должна быть указана в формате, соответствующем стандарту ISO 8601. Например, YYYY-MM-DD.

По умолчанию возвращается информация обо всех будущих рейсах.

transport_types

Тип транспортного средства. Возможные значения:

  • plane — самолет;

  • train — поезд;

  • suburban — электричка;

  • bus — автобус;

  • water — морской транспорт;

  • helicopter — вертолет.

По умолчанию возвращается список рейсов по всем типам транспортных средств.

system

Система кодирования, в которой указывается код станции отправления и код станции прибытия (параметры from, to) в запросе. Возможные значения:

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

show_systems

Система кодирования, коды которой следует добавить к описанию станций в результатах поиска (элемент codes, вложенный в элементы from и to).

Поддерживаемые значения:

  • yandex (значение по умолчанию) — система кодирования Яндекс.Расписаний;

  • esr — коды железнодорожных станций СНГ и стран Балтии из базы ЕСР.

offset

Смещение относительно первого результата поиска. Например, если вам не нужны первые 10 результатов поиска, задайте для параметра значение «10».

Значение по умолчанию — 0.

limit

Максимальное количество результатов поиска в ответе.

Значение по умолчанию — 100.

add_days_mask

Признак, который указывает, что для каждой нитки в ответе следует вернуть календарь хождения — элемент schedule, вложенный в элемент segments.

Поддерживаемые значения:

  • false — календарь возвращать не нужно (значение по умолчанию).

  • true — для каждой нитки следует вернуть календарь хождения.

result_timezone

Часовой пояс, для которого следует указывать даты и времена в ответе. Если параметр не передан, каждая дата и время в ответе будут указаны в часовом поясе соответствующей станции.

Часовые пояса следует указывать с помощью идентификаторов базы данных tz. В английской Википедии приведен список идентификаторов из последней версии этой базы данных (в столбце «TZ» таблицы).

transfers

Признак, разрешающий добавить к результатам поиска маршруты с пересадками.

Поддерживаемые значения:

  • false — в результатах поиска не должно быть маршрутов с пересадками (значение по умолчанию).

  • true — найденные маршруты с пересадками следует добавить к результатам поиска.

Структура ответа

Ответ представляет собой список рейсов с информацией по каждому рейсу.

Количество рейсов, отображаемых на одной странице — не более 100. Информация об общем количестве полученных рейсов указана в ответе в элементе total элемента pagination.

Возможные форматы ответа: JSON, XML.

Структура ответа в различных форматах показана в примерах.

{
  "pagination":
  {
    "total": 11,
    "limit": 100,
    "offset": 0
  },
  "interval_segments":
  [
    {
      "from":
      {
        "code": "s9600396",
        "title": "Симферополь",
        "popular_title": "",
        "short_title": "",
        "transport_type": "plane",
        "type": "station",
        "station_type": "bus_stop",
        "station_type_name": "автобусная остановка"
      },
      "thread":
      {
        "uid": "SU-1827A_c26_agent",
        "title": "Симферополь - Москва",
        "interval":
        {
          "density": "автобус раз в 10-15 минут",
          "end_time": "2017-06-10T22:30:00",
          "begin_time": "2017-06-10T06:00:00"
        },
        "number": "SU 1827",
        "short_title": "Симферополь - Москва",
        "thread_method_link": "api.rasp.yandex.net/v3.0/thread/?date=2017-01-02&uid=U6-8_1_c30_5",
        "carrier":
        {
          "code": 196,
          "contacts": "Служба поддержки: </br> для звонков из России: 8-800 2000 000",
          "url": "http://example.com/",
          "logo_svg": null,
          "title": "Example Inc.",
          "phone": "",
          "codes":
          {
            "icao": null,
            "sirena": "У6",
            "iata": "U6"
          },
          "address": "Москва, ул. Тверская, 6",
          "logo": "//yastatic.net/rasp/media/data/company/logo/example.jpg",
          "email": "info@example.com"
        },
        "transport_type": "plane",
        "vehicle": "Airbus А321",
        "transport_subtype":
        {
          "color": "#FF7F44",
          "code": "suburban",
          "title": "Пригородный поезд"
        },
        "express_type": null
      },
      "departure_platform": "",
      "stops": "",
      "departure_terminal": null,
      "to":
      {
        "code": "s9600213",
        "title": "Шереметьево",
        "popular_title": "",
        "short_title": "",
        "transport_type": "plane",
        "type": "station",
        "station_type": "bus_stop",
        "station_type_name": "автобусная остановка"
      },
      "has_transfers": false,
      "tickets_info":
      {
        "et_marker": false,
        "places":
        [
          {
            "currency": "RUB",
            "price":
            {
              "cents": 0,
              "whole": 4863
            },
            "name": "эконом"
          }
        ]
      },
      "duration": 8100,
      "arrival_terminal": "D",
      "start_date": "2017-01-02",
      "arrival_platform": ""
    },
    {
      "from":
       ...
    }
  ],
  "segments":
  [
    {
      "arrival": "2017-03-28 10:15:00",
      "from":
      {
        "code": "s9600396",
        "title": "Симферополь",
        "popular_title": "",
        "short_title": "",
        "transport_type": "plane",
        "station_type": "bus_stop",
        "station_type_name": "автобусная остановка",
        "type": "station"
      },
      "thread":
      { 
        "uid": "SU-1827A_c26_agent",
        "title": "Симферополь - Москва",
        "number": "SU 1827",
        "short_title": "Симферополь - Москва",
        "thread_method_link": "api.rasp.yandex.net/v3.0/thread/?date=2017-01-02&uid=U6-8_1_c30_5",
        "carrier":
        { 
          "code": 196,
          "contacts": "Служба поддержки: </br> для звонков из России: 8-800 2000 000",
          "url": "http://example.com/",
          "logo_svg": null,
          "title": "Example Inc.",
          "phone": "",
          "codes":
          { 
            "icao": null,
            "sirena": "У6",
            "iata": "U6"
          },
          "address": "Москва, ул. Тверская, 6",
          "logo": "//yastatic.net/rasp/media/data/company/logo/example.jpg",
          "email": "info@example.com"
        },
        "transport_type": "plane",
        "vehicle": "Airbus А321",
        "transport_subtype":
        { 
          "color": "#FF7F44",
          "code": "suburban",
          "title": "Пригородный поезд"
        },
        "express_type": null
      },
      "departure_platform": "",
      "departure": "2017-03-28T06:00:00+03:00",
      "stops": "",
      "departure_terminal": null,
      "to":
      { 
        "code": "s9600213",
        "title": "Шереметьево",
        "popular_title": "",
        "short_title": "",
        "