Бесплатно

Открытое API Timora

Подключите расписание вузов к своему боту, сайту или приложению. Личные данные студента — профиль, оценки, дедлайны и справки — только с его согласия, через «Войти через Timora». Доступ только на чтение.

Токены на сайте не выдаются. Доступ к API даёт команда Timora лично — напишите в Telegram @timora_support: кто вы, что за проект, какие данные нужны и где будет код.

Что можно получить

Данные, которые отдаёт API

Общедоступные

Достаточно токена проекта. Те же данные, что видны на сайте без входа.

  • institutionsвузы и колледжи: название, город, что доступно
  • groupsучебные группы вуза
  • scheduleпары группы по дням — до 31 дня за запрос
  • teachersпреподаватели (СибГУТИ)
  • examsэкзамены, зачёты и консультации

С согласия студента

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

  • profileимя, группа и вуз
  • scheduleрасписание группы студента
  • gradesоценки из ЭИОС
  • deadlinesнесданные задания и тесты из курсов ЭИОС
  • certificatesзаявки на справки и их статусы

Как получить доступ

Четыре шага до первого запроса

1
Напишите в @timora_support

Расскажите о проекте: что он делает, какие данные нужны, где будет код. Если на GitHub — пришлите ссылку.

2
Примите правила

Упоминание Timora, соавторство на GitHub, требования безопасности — ниже на этой странице.

3
Получите токен проекта

Токен tmr_… выдаётся лично и показывается один раз. В Timora хранится только его отпечаток — потеряли, выдадим новый.

4
Делайте запросы со своего сервера

Адрес API — https://mytimora.ru/api/v1, заголовок Authorization: Bearer tmr_….

Войти через Timora

Личные данные — только с согласия

Студент подтверждает вход там, где уже вошёл в Timora любым способом: в приложении для iOS и Android, в боте Telegram или в мини-приложениях Telegram и ВКонтакте. Ваш проект не видит ни паролей, ни данных входа.

Правила

Требования к проектам

Получая токен, вы принимаете эти условия. При нарушении токен отзывается без предупреждения — вместе с доступом всех студентов к вашему проекту.

Упоминание Timora

  • В интерфейсе проекта — «Работает на Timora» со ссылкой на mytimora.ru: на экране «О приложении», в подвале сайта или в описании бота.
  • В README и описании — что проект использует открытое API Timora.
  • Название, логотип и оформление Timora нельзя выдавать за свои. Проект не должен выглядеть как официальный клиент Timora.

GitHub

  • Если код проекта на GitHub (публичный или приватный репозиторий) — добавьте @y0rence в соавторы: Settings → Collaborators → Add people.
  • Укажите @y0rence в разделе участников (Contributors) в README.

Безопасность токена

  • Токен проекта — секрет. Он живёт только на вашем сервере: в переменных окружения или хранилище секретов.
  • Не в коде, не в git, не в мобильном приложении и не в JavaScript браузера или мини-приложения.
  • Только HTTPS с проверкой сертификата. Утёк токен — сразу напишите в @timora_support: старый отзовём, выдадим новый.

Данные студентов

  • Не спрашивайте у студентов пароли ЭИОС и коды входа Timora — только «Войти через Timora».
  • Запрашивайте только нужные разделы: студент видит их на экране согласия.
  • Токены студентов храните зашифрованными. Студент вышел — вызовите POST /me/disconnect и удалите токен.
  • Используйте данные только для функции, ради которой дан доступ. Не передавайте и не продавайте, не используйте для рекламы и обучения моделей, удаляйте по просьбе студента. Соблюдайте 152-ФЗ.
  • Покажите студенту, что он вошёл через Timora, и дайте кнопку выхода.

Лимиты и кэш

  • Кэшируйте общедоступные данные: расписание группы — не чаще раза в 10–15 минут.
  • Ответ 429 — подождите столько секунд, сколько указано в заголовке Retry-After.

Запрещено

  • Обходить лимиты: несколько токенов, смена адресов.
  • Массово выгружать данные.
  • Перепродавать доступ к API.

Справочник

Для тех, у кого уже есть токен

Адрес — https://mytimora.ru/api/v1. Ответы в JSON, даты в ответах — дд.мм.гггг, в параметрах — гггг-мм-дд или дд.мм.гггг. Ошибки — {"detail": "текст"}.

Заголовки
ЗаголовокКогда
Authorization: Bearer tmr_…всегда — токен проекта
X-Timora-User: tmu_…для /me/… — токен студента из «Войти через Timora»
Общедоступные данные
МетодЧто отдаёт
GET /institutionsвузы: id, name, short, city, features
GET /groups?institution=nstuгруппы вуза
GET /schedule?institution=nstu&group=ПМИ-31&from=2026-10-05&to=2026-10-11пары по дням, до 31 дня за запрос
GET /teachers?institution=sibsutisпреподаватели (СибГУТИ)
GET /exams?institution=sibsutis&group=ИП-514экзамены, зачёты, консультации
«Войти через Timora»

POST /connect/start с телом {"scopes": ["profile", "schedule", "grades"]} → deviceCode, userCode (вида ABCD-EFGH), expiresIn (600 с), interval (3 с) и links: telegram, vk, app — ссылки, по которым студент подтвердит вход.

Покажите студенту код и кнопки «Подтвердить в Telegram», «в приложении Timora». Раз в interval секунд вызывайте POST /connect/poll с {"deviceCode": "tmc_…"}: ответ — pending, slow_down, denied, expired или approved с userToken (tmu_…), который выдаётся один раз.

Без scopes запрашиваются profile и schedule.

Данные студента

Нужны оба заголовка. Доступ — только к разделам, которые разрешил студент, иначе 403.

МетодРазделЧто отдаёт
GET /meprofileid (свой для каждого проекта), имя, фамилия, группа, вуз, способы входа
GET /me/schedule?from=…&to=…scheduleрасписание группы студента
GET /me/gradesgradesоценки (СибГУТИ, если студент хранит пароль ЭИОС в Timora)
GET /me/deadlinesdeadlinesнесданные задания и тесты из курсов ЭИОС
GET /me/certificatescertificatesзаявки на справки и их статусы
POST /me/disconnect—выход: доступ проекта к аккаунту студента гаснет

401 на /me/… — студент отозвал доступ (в профиле Timora или командой /apps в боте) или токен проекта отозван. 409 — у студента нет нужных данных: не выбрана группа или не подключён ЭИОС.

Лимиты
  • 300 запросов в минуту на токен для общедоступных данных, на каждого студента — отдельно;
  • оценки — 30, дедлайны — 40, справки — 20 запросов в час на студента: это запросы к сайту вуза;
  • connect/start — 600 в час на проект.
Пример запроса
curl -s https://mytimora.ru/api/v1/schedule \
  -H "Authorization: Bearer $TIMORA_TOKEN" \
  --get --data-urlencode "institution=nstu" --data-urlencode "group=ПМИ-31" \
  --data-urlencode "from=2026-10-05" --data-urlencode "to=2026-10-11"

Выберите, что сайту можно сохранять в вашем браузере. Изменить выбор можно в любой момент — ссылка «Настройки cookie» внизу каждой страницы.

ОбязательныеЗапоминают ваш выбор в этом окне. Без них сайт будет спрашивать снова, поэтому выключить их нельзя.