Тут виднее

Документация · машинные каналы (API) и помощник (MCP)

Что тут видно и как это забрать себе

Портал сводит на одну карту то, что государство знает об образовании порознь: лицензии, аккредитацию, ЕГРЮЛ, координаты, рождения, трудоустройство, открытые места. Всё, что видно на экране, отдаётся и машине — таблицей, ответом в JSON или ответом помощнику.

Подключиться

Машинные каналы (API) — те же сведения, что на экране, но ответом программе; помощник (MCP) — они же, но собеседнику. Три шага, и первый выполняется прямо отсюда.

  1. Скопировать строку ниже. Она выполняется как есть — без ключа, без регистрации и без установки чего бы то ни было.
  2. Получить ответ. Он стоит рядом: не образец, а настоящий ответ портала, посчитанный при открытии этой страницы.
  3. Выбрать свой канал. Их 22, и у каждого на странице машинных каналов (API) свой такой же пример; помощник (MCP) подключается настройкой ниже.

Быстрый старт

Что известно про Владимирскую область одним обращением?

Свод по субъекту в JSON: те же числа, что на его странице, потому что считает их та же функция.

Команда

curl "https://tutvidnee.ru/api/v1/regions/33/"

Тот же адрес открывается нажатием, без терминала: /api/v1/regions/33/.

Ответ, посчитанный при открытии этой страницы

{
  "снимок": "2026-09-06",
  "возраст_дней": 47,
  "структура": "2026-09-10",
  "источник": "Реестр лицензий на осуществление образовательной деятельности, Рособрнадзор",
  "оговорка": "Сведения справочные; юридически значима выписка из государственного реестра",
  "код": "33",
  "название": "Владимирская область",
  "организаций": 1099,
  "лицензий": 1099,
  "районов": 22,
  "районов_без_колледжа": 8,
  "районов_без_вуза": 18,
  "районов_без_сада": 1,
  "районов_без_школы": 1,
  "специальностей_с_единственным_колледжем": 202,
  "людей_в_районах_без_колледжа": 162581,
  "доля_людей_без_колледжа": 12.5,
  "специальностей_без_подготовки": 52,
  "юрлиц_не_действующих": 25,
  "почему_пусто": {}
}

Пустое значение здесь означает «не рассчитано», а не ноль: у субъекта без единого вуза в реестре «районов без вуза» это отказ считать, а не утверждение о стране. Строка «значение or 0» в вашем коде превратит одно в другое, и заметить это будет нечем.

Ключ не обязателен. Без него отвечают те же адреса, в том же виде и с тем же пределом — 60 обращений в минуту с одного адреса, окно длиной 60 секунд. Ключ не открывает ничего сверх этого: он поднимает предел до 300 обращений в минуту и нужен тому, кто сверяет тысячи строк за раз. Учётной записи, пароля и личного кабинета на портале нет вовсе, а сам ключ приходит письмом — получить ключ.

Помощник (MCP): то же самое, но собеседнику

Адрес выше отдаёт ответ тому, кто заранее знает, что просит: запрос пишет человек. Сервер MCP отдаёт те же сведения помощнику — тот сам выбирает инструмент по вопросу, заданному словами, и отвечает из наших данных, а не сочиняет их.

Настройка целиком: в своём помощнике завести сервер с адресом https://tutvidnee.ru/mcp и способом связи «streamable http». Инструментов 7, все только на чтение. Имя портала в официальном реестре — ru.tutvidnee/portal. Сообщать о себе ничего не нужно.

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

Организаций
136 095
Субъектов
89
Специальностей
2 021
Машинных каналов
22

Сведения собраны на 2026-09-06: организации с действующей лицензией, специальности, которые кто-то ведёт, и машинные каналы, у каждого из которых на странице машинных каналов стоит выполняющийся пример. Сведения справочные; юридически значима выписка из государственного реестра.

С каким вопросом сюда приходят

Шесть вопросов, по два-три сценария в каждом. Сценарий — это задача, действие и ответ, а адреса в нём настоящие: по ним проходят, и сторож портала открывает каждый.

Куда пойти учиться? Что есть рядом, далеко ли до ближайшего колледжа и чем два колледжа отличаются друг от друга.

В районе колледжа нет — далеко ли ближайший

Открыть свой район по коду территории.

Под сводом района — колледжи в 50 и 100 километрах: название, посёлок, километры и число специальностей. У Ермишинского района это Сасовский в 43 километрах и Касимовский в 47.

Ермишинский район /mo/61502/

Кто учит этой специальности рядом с домом

Открыть специальность и назвать город, от которого мерить.

Организации по шифру в радиусе — с километрами, телефоном, почтой и состоянием аккредитации; рядом свод своего субъекта по этому шифру.

Сестринское дело в 50 км от Рязани /spec/34.02.01/?откуда=Рязань&км=50

Сравнить два колледжа по вопросам семьи

Отложить организации в сравнение и открыть его.

Строки «ведёт ли этот шифр», «сколько километров от дома», аккредитация, статус лицензии, телефон и сайт. Сводного балла нет и не будет: он складывается из весов, назначенных человеком.

Два колледжа рядом /compare/?org=91114&org=90554&шифр=34.02.01&откуда=Ермишь

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

Сколько выпускают по нужному шифру в радиусе от площадки

Открыть шифр, назвать город и радиус; тот же отбор уносится таблицей.

Организации с выпуском по шифру, аккредитацией, телефоном и почтой — то, из чего собирается список писем. Фамилий в файле нет.

Сварщики в 100 км от Коврова /spec/15.01.05/?откуда=Ковров&км=100 Тот же отбор таблицей /spec/15.01.05/export/?откуда=Ковров&км=100

Когда выйдет набор и сколько его

Открыть специальность целиком.

Ряд «приняли — учится — выпустили» по годам формы федерального статистического наблюдения, срок подготовки и год выхода набора, разрез по субъектам и исход выпуска по мониторингу трудоустройства.

Сестринское дело /spec/34.02.01/

Тот же вопрос, заданный своему помощнику

Подключить помощника к порталу и спросить его словами: «где рядом с Ковровом учат на сварщика».

Ответ из наших данных, а не сочинённый: с датой снимка, источником и оговорками в самом ответе.

Как подключить помощника /docs/api/?пример=where_to_study

Что в субъекте не так, как у соседей? Девять показателей, соседи по округу, точки отказа и то, что прикладывают к докладу.

Свой субъект на фоне соседей по округу

Открыть страницу субъекта.

Показатели субъекта, таблица соседей по федеральному округу со своей строкой «эта территория», районы без колледжа и специальности, которые ищут, но которым не учат. Ранга и балла в таблице нет: число — счёт, а не оценка.

Рязанская область /region/62/

Унести свод в докладную и следить за изменениями

Взять таблицу свода и подписаться на ленту субъекта в своём читателе.

Свод блоками: показатели, шестнадцатилетние по годам, приём и выпуск, точки отказа — у каждого блока свой источник и год. Лента приносит появление организации и смену статуса лицензии; кто подписался, портал не узнаёт.

Свод субъекта таблицей /region/62/export/ Лента изменений субъекта /region/62/feed/

Как это выглядит по стране целиком

Открыть главные числа страны.

Пять чисел с их чтением и три ряда по годам; та же таблица уносится файлом.

Главные числа страны /ministry/

Что стало с нашими выпускниками? Своя организация целиком: выпуск по годам, приём субъекта по своим шифрам и готовая вставка на свой сайт.

Выпуск своей организации по годам и по шифрам

Открыть карточку своей организации.

Исход выпуска по годам мониторинга трудоустройства, приём субъекта по своим шифрам с долей поступающих после девятого класса и заявлениями на место, места осуществления деятельности и контакты с источником и датой.

Рязанский медицинский колледж /org/91273/

Та же карточка в таблице, чтобы вставить в отчёт

Дописать к адресу карточки слово export.

Выпуск по шифрам и годам, приём и конкурс субъекта, шестнадцатилетние до 2038 года, открытые места. Фамилии руководителя в файле нет.

Карточка таблицей /org/91273/export/

Поставить сведения о своей организации на свой сайт

Назвать свой ИНН и скопировать готовую разметку в шаблон своего сайта.

Блок с наименованием, статусом лицензии, аккредитацией и обязательной строкой источника с датой — и адрес, по которому сайт обновит его сам.

Поставить у себя /docs/vstavit/

Сходится ли наш перечень с реестром? Сверка своего списка ИНН, отбор по признаку расхождения и выгрузка отбора таблицей.

Сверить свой список ИНН с реестром за одно обращение

Отправить список ИНН полем формы. Список нигде не сохраняется: он живёт в памяти, пока собирается ответ.

По каждому ИНН один из пяти ответов: организация есть, её нет, это физическое лицо, строка повторяется, на ИНН не похоже. При выбранном субъекте — второй лист «есть в реестре, нет в вашем списке».

Сверка списка ИНН /docs/api/?пример=sverka

Где сведения расходятся и по каким организациям

Открыть реестр с признаком расхождения: юридическое лицо не действует, сведения ЕГРЮЛ не сверялись, нет кода территории, нет координат, ОГРН расходится.

Не число, а список организаций, по которому видно, с чем именно работать.

Сведения ЕГРЮЛ не сверялись, Рязанская область /orgs/?субъект=62&сверка=егрюл-не-сверялся

Унести отбор реестра таблицей

Дописать к адресу отбора слово export.

Те же организации, что на страницах: номер, ИНН, ОГРН, наименование, ступень, код территории, населённый пункт, статус лицензии, аккредитация, состояние юридического лица с датой сверки.

Детские сады Рязанской области таблицей /orgs/export/?субъект=62&ступень=сад

Всё ли в порядке с порталом? Из чего сделаны числа, что уже закрыто и что портал записывает о тех, кто его читает.

На какое число сведения и откуда они

Открыть страницу источников.

Состав источников, число записей у каждого и дата снимка. По дате видно, отстала ли витрина показателей.

Источники и даты /data/

Что уже закрыто, а что нет

Открыть трекер готовности.

Полнота данных признак за признаком, со знаменателем у каждого. Умолчание об остатке читалось бы как попытка его скрыть, поэтому трекер открыт наружу.

Готовность /readiness/

Что портал записывает о тех, кто забирает данные

Прочитать правила и политику обработки.

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

Правила использования /docs/rules/ Обработка персональных данных /privacy/

Что ещё портал отвечает при открытии страницы

Быстрый старт наверху отдавал свод в JSON; тем же порядком считаются выгрузка таблицей и ответ помощнику. Каждый ответ ниже получен тем самым обращением, которое показано командой рядом.

Пример

В скольких районах субъекта нет ни одного колледжа?

Один показатель по всем 89 субъектам сразу, таблицей. Ничего настраивать не нужно: ответ приходит первой же строкой.

Команда

curl "https://tutvidnee.ru/export/metric/районы-без-колледжа/?формат=машинный"

Заголовки ответа

Content-Disposition: attachment; filename="metric-share_without_spo-data-20260906-structure-20260910.csv"
X-Snapshot-Date: 2026-09-06
X-Structure-Date: 2026-09-10
X-Source: https://tutvidnee.ru/data/

Ответ

код_субъекта,субъект,доля_районов_без_колледжа,лицензий_всего
22,Алтайский край,66.7,1664
28,Амурская область,79.3,676
29,Архангельская область,30.8,784
30,Астраханская область,71.4,636

Имя файла несёт обе даты: данные на одно число, структура на другое. Скачали дважды — по имени видно, что изменилось: сведения, разбор или ничего. Те же две даты приходят заголовками ответа, поэтому их не нужно искать внутри таблицы.

Пример

Где рядом с Ковровом учат на сварщика?

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

Команда

curl -X POST "https://tutvidnee.ru/mcp" \
  -H "Content-Type: application/json" \
  -H "MCP-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: tools/call" \
  -H "Mcp-Name: where_to_study" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "where_to_study", "arguments": {"специальность": "15.01.05", "откуда": "Ковров", "радиус_км": 100, "сколько": 3}, "_meta": {"io.modelcontextprotocol/protocolVersion": "2026-07-28", "io.modelcontextprotocol/clientCapabilities": {}}}}'

Ответ

{
  "специальность": {
    "шифр": "15.01.05",
    "название": "Сварщик (ручной и частично механизированной сварки (наплавки)"
  },
  "точка_отсчёта": {
    "название": "Ковров",
    "субъект": "Владимирская область"
  },
  "радиус_км": 100,
  "всего_в_радиусе": 16,
  "показано": 3,
  "организации": [
    {
      "org_id": 46637,
      "наименование": "ГБПОУ ВО \"КТК\"",
      "населённый_пункт": "Ковров",
      "субъект": "Владимирская область",
      "км": 1.2,
      "выпуск": null,
      "выпуск_год": 2024,
      "выпуск_словами": "сведений о выпуске нет: организация с мониторингом трудоустройства не сопоставлена или по этому шифру в тот год не выпускала",
      "аккредитация": "есть",
      "телефон": "8-492-3232630",
      "почта": "ktk@icvladimir.ru",
      "контакты_по": "bus.gov.ru на 25.08.2026, реестра аккредитаций на 25.08.2026"
    },
    {
      "org_id": 46642,
      "наименование": "ГАПОУ ВО \"КПГК\"",
      "населённый_пункт": "Ковров",
      "субъект": "Владимирская область",
      "км": 2.8,
      "выпуск": 14,
      "выпуск_год": 2024,
      "выпуск_словами": "выпуск 2024 года по этому шифру — 14",
      "аккредитация": "есть",
      "телефон": "8-492-3238097",
      "почта": "kpgt33@mail.ru",
      "контакты_по": "bus.gov.ru на 25.08.2026, реестра аккредитаций на 25.08.2026"
    },
    {
      "org_id": 46907,
      "наименование": "ГАПОУ ВО \"НАПК\"",
      "населённый_пункт": "Никологоры",
      "субъект": "Владимирская область",
      "км": 49.1,
      "выпуск": null,
      "выпуск_год": 2024,
      "выпуск_словами": "сведений о выпуске нет: организация с мониторингом трудоустройства не сопоставлена или по этому шифру в тот год не выпускала",
      "аккредитация": "есть",
      "телефон": "8-492-3352115; 8-492-3352200",
      "почта": "napt@inbox.ru",
      "контакты_по": "bus.gov.ru на 25.08.2026, реестра аккредитаций на 25.08.2026"
    }
  ],
  "оговорки": [
    "Расстояние по прямой; дорога длиннее в среднем в 1,41 раза.",
    "Организации без известных координат в отбор не попадают: их расстояние неизвестно, а ноль означал бы «здесь же».",
    "Отбор пересекает границы субъектов намеренно."
  ],
  "дата_снимка": "2026-09-06",
  "источник": "Реестр лицензий на образовательную деятельность Рособрнадзора; реестр государственной аккредитации, ЕГРЮЛ, bus.gov.ru, формы федерального статистического наблюдения",
  "оговорка": "Сведения справочные и собраны на дату снимка. Юридически значима только выписка из государственного реестра.",
  "о_пересказе": "Данные официальные; их изложение, пересказ и выводы — продукт помощника, и за искажения при пересказе источник не отвечает."
}

Показано поле result.structuredContent; конверт JSON-RPC вокруг него опущен. Дата снимка, источник и оговорки едут в каждом ответе сервера — иначе модель, пересказывая ответ человеку, выдумает их сама и выдумает правдоподобно.

Полного массива данных не отдаётся ни по одному адресу, а фамилий руководителей нет ни в одном машинном канале: из потока собирается профиль человека, и основания на это у портала нет. Предел частоты и то, зачем он поднимается, названы выше — в блоке подключения.

Куда идти дальше

Адресов 15, и у каждого на странице машинных каналов стоит выполняющийся пример:

/export/metric/<показатель>/ /ministry/export/ /mo/<октмо>/export/ /mo/<октмо>/feed/ /orgs/export/ /org/<org_id>/export/ /region/<код>/export/ /region/<код>/feed/ /feed/ /spec/<шифр>/export/ /api/v1/regions/ /api/v1/regions/<код>/ /api/v1/organizations/<инн>/ /api/v1/territories/<октмо>/ /mcp

Состав источников и паспорт набора — на странице источников; что уже собрано и что осталось — на странице готовности.