PHPackages                             bugrov/yandex-schedule - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. bugrov/yandex-schedule

ActiveLibrary[API Development](/categories/api)

bugrov/yandex-schedule
======================

PHP SDK Яндекс.Расписаний

492PHP

Since Oct 23Pushed 3y ago1 watchersCompare

[ Source](https://github.com/bugrov/yandex-schedule)[ Packagist](https://packagist.org/packages/bugrov/yandex-schedule)[ RSS](/packages/bugrov-yandex-schedule/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

PHP SDK для работы с API Яндекс.Расписаний
==========================================

[](#php-sdk-для-работы-с-api-яндексрасписаний)

Установка
---------

[](#установка)

Поддерживается установка с помощью [менеджера пакетов](https://getcomposer.org).

```
$ composer require bugrov/yandex-schedule dev-main

```

Или

```
$ php composer.phar require bugrov/yandex-schedule dev-main

```

Как подключиться к Яндекс.Расписаниям
-------------------------------------

[](#как-подключиться-к-яндексрасписаниям)

Перед использованием доступных методов вызываем метод `setApiKey`, передав в него API-ключ

```
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
```

Настройка и получение параметров
--------------------------------

[](#настройка-и-получение-параметров)

### Метод setApiKey

[](#метод-setapikey)

Устанавливает ключ для доступа к API Яндекс станций

```
public static function setApiKey(string $apiKey)
```

`$apiKey` - ключ API (подробнее о его получении [тут](https://yandex.ru/dev/rasp/doc/concepts/access.html))

**Пример использования**

```
\BugrovWeb\YandexSchedule\Transport::setApiKey('your-api-key');
```

### Метод getApiKey

[](#метод-getapikey)

Получает ранее установленный ключ API

```
public static function getApiKey()
```

**Пример использования**

```
echo \BugrovWeb\YandexSchedule\Transport::getApiKey();
```

### Метод setFormat

[](#метод-setformat)

Устанавливает формат возвращаемых данных

```
public static function setFormat(string $format)
```

`$format` - формат возвращаеммых данных. Допустимые значения - `json`, `xml`

**Пример использования**

```
\BugrovWeb\YandexSchedule\Transport::setFormat('xml');
```

### Метод getFormat

[](#метод-getformat)

Получает ранее установленный формат данных

```
public static function getFormat()
```

**Пример использования**

```
echo \BugrovWeb\YandexSchedule\Transport::getFormat();
```

### Метод setLang

[](#метод-setlang)

Устанавливает язык возвращаемой информации

```
public static function setLang(string $lang)
```

`$lang` - код языка в формате &lt;код языка&gt;\_&lt;код страны&gt;. Доступные значения - `ru_RU` и `uk_UA`

**Пример использования**

```
\BugrovWeb\YandexSchedule\Transport::setLang('ru_RU');
```

### Метод getLang

[](#метод-getlang)

Получает ранее установленный язык возвращаемой информации

```
public static function getLang()
```

**Пример использования**

```
echo \BugrovWeb\YandexSchedule\Transport::getLang();
```

Работа с Яндекс.Расписанием
---------------------------

[](#работа-с-яндексрасписанием)

### Метод getScheduleBetweenStations

[](#метод-getschedulebetweenstations)

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

```
public static function getScheduleBetweenStations(string $from, string $to, string $system = Transport::SYSTEM_TYPE_YANDEX,
                                   string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null,
                                   string $transportTypes = null, int $offset = 0, int $limit = 100,
                                   bool $addDaysMask = false, bool $transfers = false)
```

- `$from` - Код станции отправления. Должен быть указан в [системе кодирования](https://yandex.ru/dev/rasp/doc/concepts/coding-system.html)
- `$to` - Код станции прибытия. Должен быть указан в [системе кодирования](https://yandex.ru/dev/rasp/doc/concepts/coding-system.html)
- `$system` - Система кодирования, в которой указывается код станции отправления и код станции прибытия (параметры from, to) в запросе. Возможные значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX` (значение по умолчанию)
    - `iata` либо `Transport::SYSTEM_TYPE_IATA`
    - `sirena` либо `Transport::SYSTEM_TYPE_SIRENA`
    - `express` либо `Transport::SYSTEM_TYPE_EXPRESS`
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`
- `$showSystems` - Система кодирования, коды которой следует добавить к описанию станций в результатах поиска (элемент codes, вложенный в элементы from и to). Поддерживаемые значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX` (значение по умолчанию)
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`
- `$date` - Дата, на которую необходимо получить список рейсов. Необязательное
- `$transportTypes` - Тип транспортного средства. Необязательное. Возможные значения:
    - `plane` либо `Transport::TRANSPORT_TYPE_PLANE`
    - `train` либо `Transport::TRANSPORT_TYPE_TRAIN`
    - `suburban` либо `Transport::TRANSPORT_TYPE_SUBURBAN`
    - `bus` либо `Transport::TRANSPORT_TYPE_BUS`
    - `water` либо `Transport::TRANSPORT_TYPE_WATER`
    - `helicopter` либо `Transport::TRANSPORT_TYPE_HELICOPTER`
- `$offset` - Смещение относительно первого результата поиска. По умолчанию 0
- `$limit` - Максимальное количество результатов поиска в ответе. По умолчанию 100
- `$addDaysMask` - Признак, который указывает, что для каждой нитки в ответе следует вернуть календарь хождения — элемент schedule, вложенный в элемент segments. Поддерживаемые значения:
    - `false` - календарь возвращать не нужно (значение по умолчанию)
    - `true` - для каждой нитки следует вернуть календарь хождения
- `$transfers` - Признак, разрешающий добавить к результатам поиска маршруты с пересадками. Поддерживаемые значения:
    - `false` - в результатах поиска не должно быть маршрутов с пересадками (значение по умолчанию)
    - `true` - найденные маршруты с пересадками следует добавить к результатам поиска

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getScheduleBetweenStations('c146', 'c213');
```

### Метод getScheduleOfFlightsByStation

[](#метод-getscheduleofflightsbystation)

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

```
public static function getScheduleOfFlightsByStation(string $station, string $system = Transport::SYSTEM_TYPE_YANDEX,
                            string $showSystems = Transport::SYSTEM_TYPE_YANDEX, string $date = null,
                            string $transportTypes = null, string $direction = null,
                            string $event = Transport::EVENT_TYPE_DEPARTURE)
```

- `$station` - Код станции. Должен быть указан в [системе кодирования](https://yandex.ru/dev/rasp/doc/concepts/coding-system.html)
- `$system` - Система кодирования, в которой указывается код станции (параметр station) в запросе. Возможные значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX` (значение по умолчанию)
    - `iata` либо `Transport::SYSTEM_TYPE_IATA`
    - `sirena` либо `Transport::SYSTEM_TYPE_SIRENA`
    - `express` либо `Transport::SYSTEM_TYPE_EXPRESS`
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`
- `$showSystems` - Система кодирования, в которой необходимо получить коды станций (в элементе ответа codes, вложенном в элемент station). Возможные значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX` (значение по умолчанию)
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`
    - `all` либо `Transport::SYSTEM_TYPE_ALL`
- `$date` - Дата, на которую необходимо получить список рейсов. Необязательное
- `$transportTypes` - Тип транспортного средства. Необязательное. Возможные значения:
    - `plane` либо `Transport::TRANSPORT_TYPE_PLANE`
    - `train` либо `Transport::TRANSPORT_TYPE_TRAIN`
    - `suburban` либо `Transport::TRANSPORT_TYPE_SUBURBAN`
    - `bus` либо `Transport::TRANSPORT_TYPE_BUS`
    - `water` либо `Transport::TRANSPORT_TYPE_WATER`
    - `helicopter` либо `Transport::TRANSPORT_TYPE_HELICOPTER`
- `$direction` - Код направления, по которому необходимо получить список рейсов электричек по станции (например, «arrival», «all» или «на Москву»)
- `$event` - Событие, для которого нужно отфильтровать нитки в расписании. Поддерживаемые значения:
    - `departure` либо `Transport::EVENT_TYPE_DEPARTURE` (по умолчанию)
    - `arrival` либо `Transport::EVENT_TYPE_ARRIVAL`

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getScheduleOfFlightsByStation('s9600213');
```

### Метод getListOfStations

[](#метод-getlistofstations)

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

```
public static function getListOfStations(string $uid, string $showSystems = null, string $date = null,
                            string $from = null, string $to = null)
```

- `$uid` - Идентификатор нитки в Яндекс.Расписаниях
- `$showSystems` - Система кодирования, в которой необходимо получить коды станций (в элементе ответа codes, вложенном в элемент station). Необязательное. Возможные значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX`
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`
    - `all` либо `Transport::SYSTEM_TYPE_ALL`
- `$date` - Дата, на которую необходимо получить список рейсов. Необязательное
- `$from` - Код станции отправления. Должен быть указан в [системе кодирования](https://yandex.ru/dev/rasp/doc/concepts/coding-system.html)
- `$to` - Код станции прибытия. Должен быть указан в [системе кодирования](https://yandex.ru/dev/rasp/doc/concepts/coding-system.html)

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getListOfStations('932X_1_2');
```

### Метод getListOfNearestStations

[](#метод-getlistofneareststations)

Получает список станций, находящихся в указанном радиусе от указанной точки. Максимальное количество возвращаемых станций — 50

```
public static function getListOfNearestStations(string $lat, string $lng, int $distance, int $offset = 0, int $limit = 100,
                            string $stationTypes = null, string $transportTypes = null)
```

- `$lat` - Широта
- `$lng` - Долгота
- `$distance` - Радиус, в котором следует искать станции, в километрах
- `$offset` - Смещение относительно первого результата поиска. По умолчанию 0
- `$limit` - Максимальное количество результатов поиска в ответе. По умолчанию 100
- `$stationTypes` - Типы запрашиваемых станций (несколько типов можно перечислить через запятую). Необязательное. Поддерживаемые значения:
    - `station` - станция
    - `platform` - платформа
    - `stop` - остановочный пункт
    - `checkpoint` - блок-пост
    - `post` - пост
    - `crossing` - разъезд
    - `overtaking_point` - обгонный пункт
    - `train_station` - вокзал
    - `airport` - аэропорт
    - `bus_station` - автовокзал
    - `bus_stop` - автобусная остановка
    - `unknown` - станция без типа
    - `port` - порт
    - `port_point` - портпункт
    - `wharf` - пристань
    - `river_port` - речной вокзал
    - `marine_station` - морской вокзал
- `$transportTypes` - Типы транспортного средства, для которых нужно искать станции. Несколько типов одновременно можно указать через запятую, например, plane,train,bus. Необязательное. Поддерживаемые значения:
    - `plane` либо `Transport::TRANSPORT_TYPE_PLANE`
    - `train` либо `Transport::TRANSPORT_TYPE_TRAIN`
    - `suburban` либо `Transport::TRANSPORT_TYPE_SUBURBAN`
    - `sea` либо `Transport::TRANSPORT_TYPE_SEA`
    - `river` либо `Transport::TRANSPORT_TYPE_RIVER`
    - `helicopter` либо `Transport::TRANSPORT_TYPE_HELICOPTER`

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getListOfNearestStations('50.440046', '40.4882367', 50);
```

### Метод getNearestCity

[](#метод-getnearestcity)

Получает информацию о ближайшем к указанной точке городе

```
public static function getNearestCity(string $lat, string $lng, int $distance = 10)
```

- `$lat` - Широта
- `$lng` - Долгота
- `$distance` - Радиус, в котором следует искать ближайший город, в километрах (по умолчанию 10)

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getNearestCity('50.440046', '40.4882367', 50);
```

### Метод getCarrierInfo

[](#метод-getcarrierinfo)

Получает информацию о перевозчике по указанному коду перевозчика

```
public static function getCarrierInfo(string $code, string $system = Transport::SYSTEM_TYPE_YANDEX)
```

- `$code` - Код перевозчика
- `$system` - Система кодирования, в которой указывается код перевозчика (параметр code) в запросе. Возможные значения:
    - `yandex` либо `Transport::SYSTEM_TYPE_YANDEX` (значение по умолчанию)
    - `iata` либо `Transport::SYSTEM_TYPE_IATA`
    - `sirena` либо `Transport::SYSTEM_TYPE_SIRENA`
    - `express` либо `Transport::SYSTEM_TYPE_EXPRESS`
    - `esr` либо `Transport::SYSTEM_TYPE_ESR`

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getCarrierInfo('TK', Transport::SYSTEM_TYPE_IATA);
```

### Метод getAllAvailableStations

[](#метод-getallavailablestations)

Получает полный список станций, информацию о которых предоставляют Яндекс.Расписания

```
public static function getAllAvailableStations()
```

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getAllAvailableStations();
```

### Метод getCopyright

[](#метод-getcopyright)

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

```
public static function getCopyright()
```

**Пример использования**

```
Transport::setApiKey('your-api-key');
$res = Transport::getCopyright();
```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity24

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/1dc2e3553c1b4f005e4bc9e1ee3a0ad1343ecfc1f4393ca5ef2baac88bb23e27?d=identicon)[bugrov](/maintainers/bugrov)

---

Top Contributors

[![bugrovAlex](https://avatars.githubusercontent.com/u/145573319?v=4)](https://github.com/bugrovAlex "bugrovAlex (14 commits)")

### Embed Badge

![Health badge](/badges/bugrov-yandex-schedule/health.svg)

```
[![Health](https://phpackages.com/badges/bugrov-yandex-schedule/health.svg)](https://phpackages.com/packages/bugrov-yandex-schedule)
```

###  Alternatives

[stripe/stripe-php

Stripe PHP Library

4.0k143.3M480](/packages/stripe-stripe-php)[twilio/sdk

A PHP wrapper for Twilio's API

1.6k92.9M272](/packages/twilio-sdk)[knplabs/github-api

GitHub API v3 client

2.2k15.8M187](/packages/knplabs-github-api)[facebook/php-business-sdk

PHP SDK for Facebook Business

90121.9M34](/packages/facebook-php-business-sdk)[meilisearch/meilisearch-php

PHP wrapper for the Meilisearch API

73813.7M114](/packages/meilisearch-meilisearch-php)[google/gax

Google API Core for PHP

263103.1M454](/packages/google-gax)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
