v1 · REST

Расписание «Бонча»
по REST API

Группы, преподаватели и аудитории в чистом JSON. Проект некоммерческий — ключ выдаёт лично разработчик, под ваш пет-проект.

Пишите напрямую разработчику: Telegram @ip_ishnik · ВКонтакте @matvey_slyusarenko

формат
REST · JSON
авторизация
X-API-Key
лимиты
по ключу
за сколько
по договорённости
GET
client := &http.Client{Timeout: 10 * time.Second}
u := baseURL + "/groups/" + url.PathEscape("ИКТМ-41") + "/schedule?date=2026-10-24"
req, _ := http.NewRequestWithContext(ctx, http.MethodGet, u, nil)
req.Header.Set("X-API-Key", os.Getenv("BONCHGO_API_KEY"))
resp, err := client.Do(req)
if err != nil {
return err
}
defer resp.Body.Close()
var out struct{ Data []Lesson `json:"data"` }
return json.NewDecoder(resp.Body).Decode(&out)
200 OK ·application/json·84 ms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "data": [
    {
      "date": "2026-10-24",
      "day_of_week": 6,
      "order": 1,
      "number": 2,
      "number_label": "2",
      "time": "10:45-12:20",
      "subject": "Технологии кодирования и распределения медиаконтента",
      "lesson_type": "Практические занятия",
      "location": "436; Б22/2",
      "classroom": "436/2",
      "teacher": "Вересов Владимир Дмитриевич",
      "source": "regular"
    }
  ],
  "meta": { "total": 1, "semester": "fall-2026" }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  "data": [
    {
      "date": "2026-09-10",
      "day_of_week": 4,
      "order": 1,
      "number": 4,
      "number_label": "4",
      "time": "14:45-16:20",
      "subject": "Техническая электродинамика",
      "lesson_type": "Лекция",
      "location": "705; Б22/1",
      "classroom": "705/1",
      "teacher": "Межевов Павел Александрович",
      "week_number": 2,
      "week_type": "Чётная",
      "source": "regular",
      "group_id": "56675",
      "group_name": "ИКТМ-41",
      "groups": ["ИКТМ-41", "ИКТМ-42", "ИКТМ-43"]
    }
  ],
  "meta": { "total": 1 }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  "data": [
    {
      "date": "2026-10-21",
      "day_of_week": 3,
      "order": 1,
      "number": 4,
      "number_label": "4",
      "time": "14:45-16:20",
      "subject": "Основы деловых коммуникаций",
      "lesson_type": "Лекция",
      "location": "106; Б22/1",
      "classroom": "106/1",
      "teacher": "Несенчук Виктория Викторовна",
      "week_number": 8,
      "week_type": "Чётная",
      "source": "regular",
      "group_id": "56670",
      "group_name": "ИКТК-42",
      "groups": ["ИКТК-42", "ИКТО-41"]
    }
  ],
  "meta": { "total": 1 }
}
01Что отдаёт API

Четыре сущности, один формат ответа

Все эндпоинты отвечают одинаково: data и meta, ошибки — кодами HTTP.

Группы

KEY
/groups/{group}/schedule

Пары за неделю или день: тип занятия, преподаватель, аудитория, зачёты и экзамены.

Преподаватели

KEY
/teachers/{name}/schedule

Расписание преподавателя и список его групп, включая потоковые пары.

Аудитории

KEY
/classrooms/{room}/schedule

Что и когда проходит в конкретной аудитории за семестр.

Справочники

OPEN
/faculties · /semesters · /weeks

Факультеты, семестры, текущая неделя и её тип — без ключа.

02Кто использует

Проекты на этом API

Заглушка пока что

Заглушка пока что.

telegram bot

Заглушка пока что

Заглушка пока что.

android · ios

Заглушка пока что

Заглушка пока что.

web
03FAQ

Частые вопросы

Не нашли ответ — спросите разработчика.

По договорённости. Ключи выдаются с условиями под конкретный проект.

Ключ выдаётся лично

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