Судебная практика высших судов прямо в вашем коде
Семантический поиск по практике высших судов как внешний инструмент. Подключается к вашему приложению на основе любой LLM или к любому HTTP-клиенту. Один запрос возвращает реальные акты с реквизитами, цитатами и ссылками на полный текст.
Если коротко: то, что коннектор уже умеет внутри вашего Claude или ChatGPT, теперь можно встроить в собственный продукт.
API-ключ — это длинная секретная строка, которая начинается с cl_live_ (например, cl_live_QZbj…). Вы вставляете её в свой код, и она открывает вашему серверу или приложению доступ к практике Конституционного, Верховного и Высшего Арбитражного судов России. Это около 26 700 оригинальных актов с 1992 года и по сегодняшний день.
Вы отправляете обычный HTTP-запрос и получаете в ответ настоящие акты: реквизиты, дословные цитаты, ссылки на полный текст. Никаких выдуманных постановлений.
Ключ показывается один раз при создании, поэтому сохраните его сразу. У нас он лежит только в зашифрованном виде, восстановить нельзя. Держите его на своём сервере, не зашивайте в сайт, мобильное приложение или публичный репозиторий. Если ключ утёк, отзовите его в кабинете и выпустите новый.
Один тариф на время промо. Никаких скрытых платежей.
Баланс запросов общий на аккаунт: те же запросы, что у бота и веб-чата. Когда промо закончится, баланс пополняется пакетами в том же кабинете.
Деньги на акции не расходуются, но баланс из 300 запросов считается так.
Запрос списывается только если он прошёл успешно: при сбое на нашей стороне или исчерпанном балансе ничего не «съедается». Есть мягкое ограничение по скорости, около 20 запросов в минуту: оно не тратит баланс, а сглаживает пики.
Чтобы было честно и спокойно.
Клиент вводит вопрос и видит подборку реальных актов со ссылками. Поиск работает на смысле, поэтому подходит и неюристам.
Бот отвечает не «из головы», а со ссылками на конкретные дела. Снимает главную боль: выдуманные постановления.
Подтягивайте полный текст актов в Markdown как контекст для заключений, проектов документов, ответов.
Нашли акты, выгрузили подборку в DOCX, вставили в иск, отзыв или меморандум. Часы ручного копирования уходят.
Пакетные запросы по темам, нормам и годам, статистика корпуса, регулярное отслеживание свежих позиций коллегий.
Практика в базе знаний, CRM юрдепартамента или системе согласования договоров, прямо там, где идёт работа.
Подключение, эндпоинты, обработка ошибок и настройка вашей LLM. Корпус: КС РФ (1992–2026), ВС РФ (2014–2026), ВАС РФ (1992–2014), около 26 700 оригинальных актов.
Это REST-API. Подключается к вашему приложению на основе любой LLM или к любому HTTP-клиенту как внешний инструмент, который ваша модель вызывает для поиска по судебной практике.
Base URL: https://app.casus.legal
Аутентификация: заголовок Authorization: Bearer cl_live_…
Формат: JSON по HTTPS.
Адрес https://mcp.casus.legal/mcp — это отдельный MCP-коннектор для Claude. К REST-API и ключам cl_live_ он отношения не имеет.
cl_live_…. Сохраните сразу: восстановить нельзя, только перевыпустить.На время промо доступен один активный ключ: чтобы выпустить новый, отзовите текущий. Счётчик использованных запросов и остаток квоты видны в разделе «API» личного кабинета.
curl -X POST https://app.casus.legal/v1/search \
-H "Authorization: Bearer $CASUS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "договор энергоснабжения, фактическое потребление", "limit": 15}'
import os, httpx
client = httpx.Client(
base_url="https://app.casus.legal",
headers={"Authorization": f"Bearer {os.environ['CASUS_API_KEY']}"},
timeout=60,
)
r = client.post("/v1/search", json={
"query": "снижение неустойки по статье 333 ГК",
"limit": 15,
"mode": "hybrid",
})
r.raise_for_status()
data = r.json()
for hit in data["results"]:
print(hit["court"], hit["date"], hit["case_number"], hit["url"])
Гибридный поиск. Списывает 1 запрос только при успешном ответе.
| Поле | Тип | По умолч. | Описание |
|---|---|---|---|
query | string | обязательно | Запрос на русском. Пустой возвращает 400. |
limit | int 1–30 | 10 | Размер выдачи. Для обзора рекомендуется 15–20. |
mode | hybrid / bm25 / semantic | hybrid | hybrid (BM25 и семантика) рекомендуется. |
court | string | – | Фильтр: КС / ВС / ВАС / СКЭС / СКГД / Пленум / обзор. |
act_type, tag, article | string | – | Доп. фильтры (article, напр. ст. 333 ГК РФ). |
year_from, year_to | int | – | Диапазон лет. |
deduplicate | bool | true | Схлопывать итерации одного дела. |
expand | bool | true | Расширение запроса синонимами. |
Структура ответа отдаёт готовые блоки по иерархии судов. Собирайте ответ из них, не делая отдельный запрос на каждый суд.
{
"_response_format_hint": "…директива формата ответа…",
"constitutional_context": { "items": [ … ] }, // КС
"vs_guidance": { "items": [ … ] }, // Пленумы и обзоры ВС
"latest_practice": { "items": [ … ] }, // свежие определения коллегий ВС
"vas_history": [ … ], // история: практика ВАС
"results": [
{
"id": 12345, "court": "СКЭС", "date": "10.05.2024",
"case_number": "305-ЭС24-12345", "title": "…", "snippet": "…",
"score": 0.87,
"url": "https://app.casus.legal/case/12345?t=<токен>"
}
],
"_supersession_alert": "…", // при наличии отменённого и действующего акта
"expansion": { … }
}
У каждого акта в поле url лежит готовая ссылка на полный текст с токеном доступа ?t=…. Используйте её дословно: не собирайте ссылку из id и не выбрасывайте токен.
Карточка акта: реквизиты, sections (текст по разделам), articles, hashtags и ссылки url / url_md / url_docx. Используйте для дословных цитат у ключевых актов. Квоту не тратит.
curl https://app.casus.legal/v1/cases/12345 \ -H "Authorization: Bearer $CASUS_API_KEY"
Все ошибки приходят как JSON {"error": "<код>", "message": "…"}.
| HTTP | error | Когда | Что делать |
|---|---|---|---|
| 400 | bad_request | Нет query или битый JSON | Поправить тело запроса |
| 401 | unauthorized | Нет ключа, неверный или отозван | Проверить заголовок и ключ |
| 402 | quota_exhausted | Закончился промо-доступ (в теле reason, message, contact_url) | Написать администратору в @CasusLegalBot для продления |
| 403 | forbidden | У ключа нет доступа к поиску | Перевыпустить ключ |
| 404 | not_found | Акт с таким id не найден | – |
| 429 | rate_limited | Превышен лимит запросов в минуту | Экспоненциальный backoff |
| 500 | internal_error | Сбой на нашей стороне | Повтор с backoff, запрос не списывается |
| 503 | engine_not_ready | Передеплой или прогрев индекса | Повтор через 1–3 мин |
POST /v1/search списывает 1 запрос только при ответе 200: ошибки не тарифицируются. GET /v1/cases/{id} бесплатен. Лимит запросов в минуту считается на ключ (на триале 20 в минуту). Остаток квоты виден в разделе «API» личного кабинета.
429 и 5xx повторяйте с возрастающей паузой: 2с, 4с, 8с.GET /v1/cases/{id} стабильно, а вызов бесплатный.url подписано токеном со сроком около 30 дней. Передавайте его как есть.API отдаёт сырьё: карточки актов, тематические блоки и подсказку формата _response_format_hint. Качество итогового ответа определяет системная инструкция вашей LLM. Ниже принципы для двух сценариев, не готовые промпты.
/v1/search с осмысленным запросом и limit 15–20: иерархия судов уже приходит блоками. Не дробите тему на запросы по каждому суду._response_format_hint. Это встроенная директива формата, её учёт заметно приближает ответ к эталонному обзору.url. Запретите конструировать адрес из id и удалять токен ?t=: без него ссылка не откроет текст./v1/cases/{id} только у 3–5 ключевых актов. У КС нужная цитата уже в инлайн-поле position. Это главный источник лишних токенов.Цель: подборка или список дел для выгрузки, без правового анализа.
court / act_type / tag / article / year_from–year_to: каталог станет релевантным и компактным.id, реквизиты (суд, тип, дата, № дела) и url. Не пересказывайте и не цитируйте акты в этом режиме./v1/search по подтемам, годам или судам и объедините результаты, отбросив дубли по id.url, который пользователь отфильтрует сам.