API сайта
У каждого сайта базы знаний есть открытый API только для чтения. Через него статьи сайта можно показать в своём приложении, на сайте на любом движке или отдать чат-боту. API отдаёт ровно то, что видят посетители сайта: опубликованные статьи выбранных разделов, без ссылок на внутренние материалы и без имён сотрудников. Ключ и токен не нужны.
Ключ сайта
Запросы адресуются ключом сайта. Он получается из адреса сайта, который показан в карточке сайта в разделе «Сайты»:
- сайт по адресу
https://sensei.red/s/robokod-pamyatka— ключc~robokod-pamyatka; - сайт с доступом «По ссылке»
https://sensei.red/p/ТОКЕН— ключp~ТОКЕН; - справка Sensei —
h~help.sensei.red, блог Sensei —m~sensei.red~blog.
Сайты с доступом «По паролю» через API не отдаются: ответ 401.
Адреса
Все адреса начинаются с https://sensei.red/api/public/sites/КЛЮЧ:
GET …/manifest— название и оформление сайта, дерево разделов, канонический адрес сайта (canonical_base) и признакindexable— открыт ли сайт поисковикам.GET …/home— элементы главной страницы с данными: популярные и последние статьи, вопросы и ответы, лента записей блога.GET …/route?path=/oplata— что находится по адресу внутри сайта: главная, раздел, статья, страница ленты или рубрика блога, редирект или «не найдено».GET …/articles/ID— статья целиком: заголовок, краткое описание, текст в HTML, оглавление, раздел, даты, похожие статьи.ID— короткий код в конце адреса статьи (8 символов, изредка 12): у/oplata/vozvrat-3f2a9c1bэто3f2a9c1b.GET …/articles/ID?format=md— та же статья в Markdown (Content-Type: text/markdown; charset=utf-8): заголовок и текст без HTML — удобно для чат-ботов и ИИ-агентов.GET …/feed?page=2— лента блога: записи с обложкой, рубрикой, датой и анонсом, закреплённые — первыми;&rubric=novosti— лента одной рубрики. Только у сайтов-блогов.GET …/search?q=возврат— поиск по сайту: до 8 результатов с фрагментами текста. С&mode=full— полный поиск, до 20 результатов.
У блогов есть ещё RSS-лента: адрес блога и /rss.xml, например https://sensei.red/blog/rss.xml.
Пример
curl https://sensei.red/api/public/sites/c~robokod-pamyatka/articles/3f2a9c1b
{
"short_id": "3f2a9c1b",
"url": "/oplata/vozvrat-3f2a9c1b",
"canonical_url": "https://sensei.red/s/robokod-pamyatka/oplata/vozvrat-3f2a9c1b",
"title": "Возврат за пропущенные занятия",
"summary": "…",
"html": "…",
"toc": [{"id": "sroki", "text": "Сроки", "level": 2}],
"published_date": "2026-09-01",
"updated_date": "2026-09-20",
"related": [...],
"seo": {"title": "…", "description": "…", "og_image": "…", "noindex": false}
}
url — адрес статьи относительно сайта, canonical_url — полный адрес на сайте в Sensei.
Что важно знать
- Без ключей и cookie. Все запросы — только GET. Вызывать их можно и с сервера, и прямо из браузера на любом сайте: в ответе есть
Access-Control-Allow-Origin: *. Cookie и заголовокAuthorizationне нужны и не передаются. - Ссылки и картинки готовы к показу. В
htmlссылки на другие статьи сайта уже подставлены, ссылки на материалы вне сайта убраны. Адреса картинок и обложек абсолютные (https://sensei.red/api/public/m/…) и не истекают — их можно вставлять как есть. - Только то, что на сайте. Статья, снятая с сайта, черновик или статья из раздела вне сайта сразу отвечает
404— как и на самом сайте. - Кэширование. У каждого ответа есть заголовок
ETag. Передайте его вIf-None-Match: если ничего не изменилось, придёт304без тела. - Лимиты. До 300 запросов чтения и 60 поисковых запросов в минуту с одного IP-адреса (полный поиск — 20). При превышении — ответ
429и заголовокRetry-Afterс числом секунд до следующей попытки.
Ошибки
404— такого сайта или статьи нет, сайт на паузе или статья снята с сайта;410— сайт снят владельцем (отвечает так 30 дней);401— сайт с доступом «По паролю»;429— превышен лимит запросов.
Если показываете статьи у себя
Одинаковые тексты по разным адресам поисковики считают дублями. Если статьи сайта выводятся на ваших страницах, укажите в них <link rel="canonical"> на свой адрес, а сайт в Sensei закройте от поисковиков: в конструкторе сайта на вкладке «SEO» снимите «Показывать сайт в поиске Яндекса и Google» и опубликуйте изменения. Иначе поисковик может посчитать основной копию на sensei.red.
