Контур.Фокус API API

Отрасль: Учёт и ERP. Актуально на 2026-10-25.

API сервиса проверки контрагентов Контур.Фокус. Отдаёт в машиночитаемом виде сведения о российских юрлицах и ИП из ЕГРЮЛ/ЕГРИП и других официальных источников: реквизиты (в том числе исторические), экспресс-отчёт, скоринг, юридические и финансовые признаки, исполнительные производства, бухотчётность, выписку из ЕГРЮЛ в PDF, статус самозанятого, наблюдение за изменениями. Типовое применение — заведение контрагента в 1С, ERP или CRM и проверка надёжности перед сделкой или оплатой. Все методы — GET-запросы с ключом в параметре key.

Охват

Есть:

Нет — смотри официальную документацию:

Сценарии

Заполнить реквизиты контрагента по ИНН

Пользователь вводит ИНН — система подтягивает наименование, КПП, адрес, руководителя и статус, чтобы не набирать их вручную и не ошибиться.

  1. Вызови GET /api3/req с ключом и ИНН (или ОГРН).
  2. Ответ — массив; для юрлица данные в UL, для ИП — в IP.
  3. Возьми UL.legalName.short, UL.kpp, UL.legalAddress, UL.heads[].fio и UL.heads[].position.
  4. Проверь UL.status: dissolved, dissolving, bankrupting, reorganizing — повод не заводить контрагента без проверки.
curl "https://focus-api.kontur.ru/api3/req?key=$FOCUS_KEY&inn=6663003127"

Найти компанию по названию

Когда ИНН неизвестен: подсказки при вводе, затем выбор нужной организации и запрос реквизитов.

  1. При посимвольном вводе вызывай GET /api3/suggest?q=... — в ответе тип (UL/IP), наименование, адрес, ИНН, ОГРН, статус.
  2. Для полноценного поиска (название, ФИО руководителя, учредитель, адрес) — GET /api2/search?q=... с фильтром region и страницами page (до 10 результатов на странице, не больше 50 страниц).
  3. По выбранному ИНН или ОГРН запроси GET /api3/req.
curl "https://focus-api.kontur.ru/api3/suggest?key=$FOCUS_KEY&q=контур"

curl "https://focus-api.kontur.ru/api2/search?key=$FOCUS_KEY&q=газпром&region=66&page=1"

Проверить надёжность контрагента перед сделкой

Сводная проверка рисков: экспресс-отчёт, скоринг, признаки из реестров ФНС и долги у приставов.

  1. GET /api3/briefReport — экспресс-отчёт с ключевыми факторами (есть вариант pdf=true).
  2. GET /api3/scoring — рейтинг 0–100 по моделям проверки; ratingLevel: Low, Middle, High; triggeredMarkers — что повлияло.
  3. GET /api3/legalAnalytics — недостоверность адреса или руководителя, блокировка счетов ФНС, налоговый долг, непредставление отчётности, заявления о ликвидации и смене руководителя.
  4. GET /api3/financeAnalytics — выручка, прибыль, чистые активы, налоги и долги по налогам.
  5. GET /api3/fssp — исполнительные производства (по 1000 записей, дальше skip=1000).
curl "https://focus-api.kontur.ru/api3/briefReport?key=$FOCUS_KEY&inn=6663003127"

curl "https://focus-api.kontur.ru/api3/scoring?key=$FOCUS_KEY&inn=6663003127"

curl "https://focus-api.kontur.ru/api3/legalAnalytics?key=$FOCUS_KEY&inn=6663003127"

curl "https://focus-api.kontur.ru/api3/fssp?key=$FOCUS_KEY&inn=6663003127"

Проверить пакет контрагентов

Массовая сверка базы: методы с параметрами inn/ogrn принимают до 100 значений через запятую — так меньше запросов и не упираешься в лимит параллельности.

  1. Разбей базу на пачки по 100 ИНН.
  2. Вызывай GET /api3/req (или scoring, legalAnalytics) с inn=ИНН1,ИНН2,....
  3. Держи не больше 10 одновременных запросов на ключ; при 429 снижай частоту.
  4. Контролируй расход лимитов через GET /api3/stat.
curl "https://focus-api.kontur.ru/api3/req?key=$FOCUS_KEY&inn=6663003127,7736050003"

curl "https://focus-api.kontur.ru/api3/stat?key=$FOCUS_KEY"

Отслеживать изменения у контрагентов

NEW Наблюдение: ставишь компании на наблюдение, один раз берёшь полное состояние, потом читаешь ленту изменений в формате RFC 6902 (path, operation, oldValue, newValue).

  1. Добавь компании в список: POST /api3/monitoringList?method=req, тело — массив объектов с inn и/или ogrn.
  2. Получи полные состояния: GET /api3/monitoringGetStates?method=req&ogrn=... — запомни минимальный changeId.
  3. Читай изменения: GET /api3/monitoringGetChanges?method=req&changeId=... и сохраняй последний полученный changeId.
  4. При isNewCompany запроси полное состояние компании заново. Изменения хранятся 90 дней.
curl -X POST "https://focus-api.kontur.ru/api3/monitoringList?key=$FOCUS_KEY&method=req" \
  -H "Content-Type: application/json" \
  -d '[{"inn": "6663003127"}, {"ogrn": "1027700070518"}]'

curl "https://focus-api.kontur.ru/api3/monitoringGetStates?key=$FOCUS_KEY&method=req&ogrn=1027700070518"

curl "https://focus-api.kontur.ru/api3/monitoringGetChanges?key=$FOCUS_KEY&method=req&changeId=$CHANGE_ID"

Проверить статус самозанятого

Асинхронная проверка физлица на НПД перед выплатой.

  1. Зарегистрируй задачу: GET /api3/smzSendToCheck?innfls=... (до 100 ИНН через запятую) — в ответе taskId.
  2. Проверяй результат: GET /api3/smzGetStatus?guid={taskId} — taskStatus, затем smzStatusResult[].isSmz и history.
curl "https://focus-api.kontur.ru/api3/smzSendToCheck?key=$FOCUS_KEY&innfls=$INNFL"

curl "https://focus-api.kontur.ru/api3/smzGetStatus?key=$FOCUS_KEY&guid=$TASK_ID"

Базовые URL

Авторизация

Тип: API-ключ

Ключ доступа передаётся параметром key в строке запроса. Тестовый ключ выдают по заявке: https://focus.kontur.ru/site/api/order-api. Для ключей с лимитом больше 100 000 компаний или запросов обязателен второй фактор: ограничение по IP-диапазонам или подпись каждого запроса сертификатом (настраивает техподдержка, focus-api@kontur.ru).

Методы

GET /api3/req — Базовые реквизиты

Актуальные и исторические реквизиты ЮЛ и ИП. Ответ — массив: inn, ogrn, focusHref, UL (kpp, okpo, opf, legalName.short, legalName.full, legalAddress, branches, status, registrationDate, dissolutionDate, heads[], managementCompanies, history) или IP (fio, okpo, opf и др.).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Freq

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН, до 100 через запятую; обязателен, если нет ОГРН
ogrn query string нет ОГРН, до 100 через запятую; обязателен, если нет ИНН
xml query boolean нет true — ответ в XML (по умолчанию false)

GET /api3/suggest — Поисковые подсказки

В ответе: type (UL, IP), shortName, longName, fio, address, inn, ogrn, kpp, status.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Fsuggest

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
q query string да Поисковый запрос
xml query boolean нет Ответ в XML

GET /api2/search — Поиск компаний

Поиск по наименованию, ФИО руководителя, учредителю, адресу. В ответе count и items[]: type, shortName, longName, activityText, address, inn, kpp, ogrn, fio, statusText.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi2%2Fsearch

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
q query string да Поисковый запрос
region query string нет Код региона 01–99
page query string нет Страница (до 10 результатов), по умолчанию 1, максимум 50
xml query boolean нет Ответ в XML

GET /api3/briefReport — Экспресс-отчёт

Краткая характеристика контрагента с ключевыми факторами по открытым и официальным источникам.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FbriefReport

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН, до 100 через запятую
ogrn query string нет ОГРН, до 100 через запятую
xml query boolean нет Отчёт в XML
pdf query string нет true — отчёт в PDF

GET /api3/scoring — Скоринговая оценка

scoringData[]: modelId, modelName, rating (0–100), ratingLevel (Low 0–39, Middle 40–69, High 70–100), triggeredMarkers.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Fscoring

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН, до 100 через запятую
ogrn query string нет ОГРН, до 100 через запятую
xml query boolean нет Ответ в XML

GET /api3/legalAnalytics — Юридические признаки

legalAnalyticsData: недостоверность адреса, руководителя, учредителя (unreliableAddress, unreliableManager, unreliableFounder), блокировка счетов ФНС (bankAccountFnsBlock), налоговый долг (fnsHasTaxDebt), непредставление отчётности (fnsTaxReportMissing), дисквалификация руководителей, заявления о ликвидации и смене руководителя, численность, МСП, спецрежимы. У каждого признака есть isActual.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FlegalAnalytics

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН, до 100 через запятую
ogrn query string нет ОГРН, до 100 через запятую

GET /api3/financeAnalytics — Оценка по финансам и налогам

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

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FfinanceAnalytics

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН, до 100 через запятую
ogrn query string нет ОГРН, до 100 через запятую

GET /api3/fssp — Исполнительные производства

fssp[]: officialNum, startDate, sum, topic, executoryDocument, cancelDate, bailiffDepartment и др.; updateDate — актуальность данных. Для ИП сведения есть, только если обновлялись в веб-версии.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Ffssp

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН; обязателен, если нет ОГРН
ogrn query string нет ОГРН
skip query integer нет Пропустить N записей (по 1000 на страницу: skip=1000, …)
xml query boolean нет Ответ в XML

GET /api3/excerpt — Выписка из ЕГРЮЛ/ЕГРИП

Актуальная выписка на дату запроса в PDF.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Fexcerpt

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
inn query string нет ИНН; обязателен, если нет ОГРН
ogrn query string нет ОГРН

POST /api3/monitoringList — Добавление компаний на наблюдение

Тело — JSON-массив объектов с inn и/или ogrn. В ответе: countOfCompaniesInList, listSize, spentInTotalLimit, totalLimit, listOfCompaniesInQuery, listOfInvalid. Есть также GET (просмотр списка, skip/take) и DELETE (удаление).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=post&path=%2Fapi3%2FmonitoringList

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
method query string да Схема наблюдения: req или egrDetails
[].inn body string нет ИНН
[].ogrn body string нет ОГРН

GET /api3/monitoringGetStates — Полные состояния по списку

В ответе: changeId, inn, ogrn, isDissolvedMoreThanTTL, responseFromApiMethod (полный ответ по схеме метода).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FmonitoringGetStates

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
method query string да req или egrDetails
ogrn query string да ОГРН, до 100 через запятую

GET /api3/monitoringGetChanges — Лента изменений

В ответе: changeId, inn, ogrn, changes[] (path, operation — add/remove/replace, oldValue, newValue), isNewCompany, timestamp.

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FmonitoringGetChanges

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
method query string да req или egrDetails
changeId query integer нет С какого изменения читать (для старта — минимальный из monitoringGetStates)
getFirstChangesFromTTL query boolean нет Все известные изменения за последние 90 дней
withoutDetails query boolean нет Без подробностей изменений

GET /api3/smzSendToCheck — Задача на проверку самозанятого

В ответе taskId (GUID).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FsmzSendToCheck

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
innfls query array да ИНН физлиц, до 100 через запятую
xml query boolean нет Ответ в XML

GET /api3/smzGetStatus — Результат проверки самозанятого

В ответе: taskStatus, smzStatusResult[] (innfl, isSmz, history).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2FsmzGetStatus

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа
guid query string да taskId из smzSendToCheck
xml query boolean нет Ответ в XML

GET /api3/stat — Статистика использования

По каждому методу: methodName, periodStartDate, periodEndDate, limitType (Requests, LegalEntities, Persons), limit, spent, limitTimeType (Period, OneDay).

Документация: https://developer.kontur.ru/doc/focus-v2/method?type=get&path=%2Fapi3%2Fstat

Параметр Где Тип Обяз. Описание
key query string да Ключ доступа (можно первые 20 символов)

Нюансы

Ошибки

Код Описание
400 ИНН/ОГРН не указаны или в неверном формате, больше 100 значений, неверный регион или страница
403 Неверный ключ или нет доступа к методу, истёк срок ключа, исчерпан суточный лимит или лимит метода
404 Данные по организации не найдены (например, выписка)
429 Больше 10 параллельных запросов

Ограничения

Источники


Если этого недостаточно — официальная документация: https://developer.kontur.ru/doc/focus-v2 JSON: https://mcp-everything.ru/api/integrations/kontur-focus. MCP: https://mcp-everything.ru/mcp