К содержимому
К содержимому
Реестрюридических лиц

Документация для разработчиков

API для разработчиков

Партнёрский API - данные о юридических лицах Кыргызстана: досье компании по ИНН и новые компании за период. Доступ по ключу в заголовке X-Api-Key.

Не программист? Готовая интеграция с Битрикс24 - проверка контрагентов по ИНН прямо в CRM без единой строки кода.

Доступ

  • Ключ rk_… - в кабинете, «Профиль → API», при подписке с доступом к API. Показывается один раз; новый ключ отзывает прежний.
  • Заголовок X-Api-Key, базовый адрес https://api.reestr.kg, только HTTPS.
  • GET /partner/v1/companies/{ИНН} - досье компании, один запрос квоты за ответ 200.
  • GET /partner/v1/companies?from=…&to=… - новые компании за период, квоту не расходует.
  • OpenAPI, без ключа: https://api.reestr.kg/openapi/partner-v1.json
  • Нет данных - null, у списков - []. Даты - yyyy-MM-ddTHH:mm:ss без часового пояса: lastCheckedAt и *CheckedAt - UTC, остальные - календарные (время 00:00:00); newBrandUntil, registeredOn, protectedUntil - только дата yyyy-MM-dd. Типы полей - в OpenAPI.

Досье по ИНН

GET /partner/v1/companies/{ИНН}

{ИНН} - 3–14 цифр. Квота списывается только за ответ 200.

Пример запроса
curl -H "X-Api-Key: rk_ВАШ_КЛЮЧ" https://api.reestr.kg/partner/v1/companies/01234567890123
Пример ответа
{
  "tin": "01234567890123",
  "hasTin": true,
  "key": "01234567890123",
  "priorRecords": [],
  "tinConflictWith": null,
  "disputedTin": null,
  "recordId": "3f8b1c42-0e77-4a19-9b2e-5c6d7a8f0011",
  "registrationNumber": "168742-3301-ООО",
  "statNo": "27904561",
  "fullNameRu": "Общество с ограниченной ответственностью «Пример»",
  "shortNameRu": "ООО «Пример»",
  "fullNameKy": "«Мисал» жоопкерчилиги чектелген коому",
  "fullNameEn": null,
  "directorName": "Иванов Иван Иванович",
  "state": "REGISTERED",
  "orderDate": "2019-04-12T00:00:00",
  "primaryRegistrationDate": "2019-04-12T00:00:00",
  "reRegistrationDate": null,
  "liquidationDate": null,
  "registrationType": "Регистрация",
  "denyReregistration": false,
  "denyElimination": false,
  "denyNotification": false,
  "legalForm": "Общество с ограниченной ответственностью",
  "ownershipForm": "Частная",
  "hasForeignCapital": false,
  "mainActivity": "Розничная торговля в неспециализированных магазинах",
  "okedCode": "47110",
  "okedSection": "G",
  "regionCode": "01",
  "founders": [
    { "name": "Иванов Иван Иванович", "type": "person", "tin": null },
    { "name": "ОсОО «Холдинг»", "type": "company", "tin": "01234567890999" },
    { "name": "Мэрия города Пример", "type": "state", "tin": null }
  ],
  "actualAddress": "г. Бишкек, ул. Примерная, 1, кв. 5",
  "bankName": "ОАО «Банк»",
  "accountNumber": "1234567890123456",
  "bic": "128001",
  "hasDebt": false,
  "taxAuthorityCode": "001",
  "taxAuthorityShortName": "Октябрьский р-н",
  "taxAuthorityFullName": "УГНС по Октябрьскому району г. Бишкек",
  "bankruptcyStatus": null,
  "sanctions": [],
  "brandNames": ["Пример"],
  "brandHeader": {
    "registrationNumber": 123456,
    "name": "Пример",
    "imageUrl": "/api/v1/trademarks/123456/image"
  },
  "newBrandUntil": null,
  "hasTrademarks": true,
  "trademarks": [{
    "name": "Пример",
    "imageUrl": "/api/v1/trademarks/123456/image",
    "isExpired": false,
    "registrations": [{
      "registrationNumber": 123456,
      "registeredOn": "2020-01-02",
      "protectedUntil": "2090-01-02",
      "niceClasses": "35",
      "goodsAndServices": "Розничная торговля",
      "goodsAndServicesLength": 18,
      "isExpired": false,
      "isByAgreement": false
    }]
  }],
  "licenses": [
    {
      "kind": "Construction",
      "authority": "Минстрой",
      "category": "Level3",
      "series": "КРЖ-2",
      "number": "012293",
      "activity": null,
      "issuedOnRaw": "2025-06-19",
      "issuedOn": "2025-06-19T00:00:00",
      "validUntilRaw": null,
      "validUntil": null,
      "status": "Active",
      "statusNote": null,
      "matchedBy": "Tin",
      "details": [],
      "appendices": [],
      "note": null
    },
    {
      "kind": "Education",
      "authority": "Минпросвещения",
      "category": "Школа",
      "series": null,
      "number": "LM-2026-0166",
      "activity": "Образовательная деятельность",
      "issuedOnRaw": "16.09.2026",
      "issuedOn": "2026-09-16T00:00:00",
      "validUntilRaw": "Бессрочная",
      "validUntil": null,
      "status": "Active",
      "statusNote": null,
      "matchedBy": "Tin",
      "details": [
        { "label": "Основание", "value": "Приказ № 1246/1 от 16.09.2026" },
        { "label": "Учеников", "value": "25" }
      ],
      "appendices": [
        {
          "number": "1",
          "address": "г. Бишкек, мкр. 7, д. 15/4",
          "items": [
            {
              "name": "Начальное общее образование",
              "details": [
                { "label": "Форма обучения", "value": "Очная" },
                { "label": "Язык обучения", "value": "Русский" }
              ]
            }
          ],
          "details": [
            { "label": "Регистрационный номер", "value": "LIC-S-2026-0208" }
          ]
        }
      ],
      "note": null
    }
  ],
  "lastCheckedAt": "2026-08-25T04:11:07",
  "freshness": {
    "profileCheckedAt": "2026-08-25T04:11:07",
    "taxCheckedAt": "2026-08-20T21:03:44",
    "documentsCheckedAt": "2026-08-25T04:11:09",
    "hasExtractPdf": true,
    "hasCertificatePdf": true
  }
}
Ключ без ИНН. Когда компании присваивают ИНН, прежний ключ (99…/98…) начинает отвечать 404. Найдите компанию заново через поиск на сайте.
Один ИНН у двух фирм. Если в реестре у одного ИНН две фирмы, по тому же tin может прийти другая компания. Различайте компании по recordId и следите за tinConflictWith.

Поля досье

ГруппаПоляЧто это
Идентификаторыtin, recordId, registrationNumber, statNotin - ИНН (если ИНН нет - ключ карточки, см. hasTin); recordId - номер записи в реестре Минюста; registrationNumber - регистрационный номер; statNo - ОКПО.
Ключ и история записиhasTin, key, priorRecords[] → { registrationNumber, statNo, orderDate, state, fullNameRu, reason }, tinConflictWith, disputedTinhasTin - есть ли у компании ИНН; false - в tin ключ карточки, а не ИНН. key - то же, что tin. priorRecords - прежние записи Минюста этой фирмы по дате приказа. tinConflictWith - ключ другой карточки с тем же ИНН; null - конфликта нет. disputedTin - ИНН, выданный двум фирмам; заполнен у второй из них.
НаименованияfullNameRu, shortNameRu, fullNameKy, fullNameEn, directorNameПолное и сокращённое название на трёх языках, ФИО руководителя.
Статус и датыstate, orderDate, primaryRegistrationDate, reRegistrationDate, liquidationDate, registrationTypestate: REGISTERED, REREGISTERED - действующая; ELIMINATION_DECISION - прекращение по представлению госоргана; LIQUIDATED - ликвидирована; UNKNOWN - не указано. orderDate - дата приказа. registrationType - «Регистрация» или «Перерегистрация».
ЗапретыdenyReregistration, denyElimination, denyNotificationЗапреты на перерегистрацию, ликвидацию и извещения, true/false.
Форма и деятельностьlegalForm, ownershipForm, hasForeignCapital, mainActivity, okedCode, okedSection, regionCodeokedCode - код ОКЭД, okedSection - раздел ОКЭД (A–U), regionCode - код региона по юридическому адресу.
Учредителиfounders[] → { name, type, tin }type - пять значений: person - физлицо, company - юрлицо, state - госорган, foreign - иностранная компания, ngo - НКО; перечень может расширяться. tin - только у юрлица. Если имени нет - «(без ИНН)».
АдресactualAddressЮридический адрес.
Банковские реквизитыbankName, accountNumber, bicБанк, расчётный счёт, БИК.
Налоговый органhasDebt, taxAuthorityCode, taxAuthorityShortName, taxAuthorityFullNamehasDebt - есть ли налоговая задолженность; остальное - налоговый орган компании.
БанкротствоbankruptcyStatusСтатус в реестре банкротств; null - компании там нет.
Санкцииsanctions[] → { source, listedName, listingBasis, subjectType, matchedSubject, confidence, sourceCount, subjectKey, isActive, delistedDate }Совпадения с санкционными списками: список, основание, чьё имя совпало, уверенность 0–100, действует ли санкция. Записи одного фигуранта объединяйте по subjectKey.
Бренды и наличие знаковbrandNames[], brandHeader → { registrationNumber, name, imageUrl }, newBrandUntil, hasTrademarksbrandNames - названия действующих брендов. brandHeader - изображение действующего знака или null; imageUrl - путь от корня API. hasTrademarks - есть ли связанные знаки, включая безымянные и истёкшие. newBrandUntil - первый день без отметки «новый бренд» (yyyy-MM-dd) или null.
Товарные знакиtrademarks[] → { name, imageUrl, isExpired, registrations[] → { registrationNumber, registeredOn, protectedUntil, niceClasses, goodsAndServices, goodsAndServicesLength, isExpired, isByAgreement } }Группы по названию, действующие первыми. isExpired - срок охраны истёк (у группы - у всех регистраций). niceClasses - классы МКТУ строкой. goodsAndServices - начало перечня до 1500 знаков, полная длина - goodsAndServicesLength. isByAgreement - владелец привязан по соглашению. registrations всегда массив.
Лицензии и разрешенияlicenses[] → { kind, authority, category, series, number, activity, issuedOnRaw, issuedOn, validUntilRaw, validUntil, status, statusNote, matchedBy, details[], appendices[], note }kind - вид реестра: Construction, Education, NbkrBank, NbkrMicrofinance, NbkrExchange, NbkrCreditUnion, NbkrOtherFinance, FsaGambling, FsaSecurities, FsaIssuers, FsaInsurance, FsaPawnLeasing, FsaVirtualAssets, FsaAudit; перечень будет расти. status - Active или Restricted, причина ограничения в statusNote. matchedBy: Tin - по ИНН, Okpo - по ОКПО, Name - по названию, стоит проверить. Дату для показа берите из issuedOnRaw, для сортировки - из issuedOn. details - дополнительные поля самой лицензии (данные компании - адрес, руководитель, учредители, филиалы - в лицензии не повторяются, они в полях досье), appendices - приложения с перечнем программ или работ, note - пояснение к записи.
Свежесть данныхlastCheckedAt, freshness → { profileCheckedAt, taxCheckedAt, documentsCheckedAt, hasExtractPdf, hasCertificatePdf }Когда данные сверялись и есть ли PDF выписки и свидетельства. Пустая дата - ещё не сверяли.

Новые компании за период

Компании, впервые зарегистрированные за период, по дате приказа. Квоту не расходует. Поля - как в досье; state всегда REGISTERED. Перерегистрации и ликвидации не входят.

Пример запроса
curl -H "X-Api-Key: rk_ВАШ_КЛЮЧ" "https://api.reestr.kg/partner/v1/companies?from=2026-09-01&to=2026-09-30"
  • from, to - yyyy-MM-dd, обязательны, включительно. Будущие дни отбрасываются, фактический конец - в dateTo.
  • Период - до 31 дня, не раньше, чем 12 месяцев назад. Без пагинации.
  • Сортировка - по orderDate, затем tin.
Пример ответа
{
  "dateFrom": "2026-09-01",
  "dateTo": "2026-09-30",
  "totalCount": 1,
  "companies": [
    {
      "tin": "01234567890123",
      "hasTin": true,
      "fullNameRu": "Общество с ограниченной ответственностью \"Пример\"",
      "fullNameKy": "\"Пример\" жоопкерчилиги чектелген коому",
      "fullNameEn": "Primer",
      "registrationNumber": "100001-3301-ООО",
      "statNo": "12345678",
      "orderDate": "2026-09-15T00:00:00",
      "directorName": "Иванов Иван Иванович",
      "state": "REGISTERED"
    }
  ]
}

Коды ответов

Тело ошибки - { code, message }; ориентируйтесь на code.

HTTPcodeЧто значитРасходует запрос
200—Досье отданоДа
400InvalidTinДосье: ИНН не из 3–14 цифрНет
400InvalidDateСписок: from или to нет либо не yyyy-MM-ddНет
400InvalidRangeСписок: from позже to или в будущемНет
400RangeTooLongСписок: период длиннее 31 дняНет
400RangeTooOldСписок: from раньше, чем 12 месяцев назадНет
401InvalidApiKeyНет ключа, ключ недействителен или отозванНет
403ApiSubscriptionExpiredПодписка не даёт доступа к API или истеклаНет
403AccountTemporarilyFrozenАккаунт временно заморожен - напишите в поддержкуНет
404CompanyNotFoundДосье: компания не найденаНет
429RateLimitExceededПревышен лимит запросов в минуту. Повторите через Retry-After секундНет
429QuotaExceededДосье: исчерпана месячная квота. В теле - used и quota—
503TemporarilyUnavailableВременный сбой. Повторите через Retry-After секундНет
500—Внутренняя ошибка. Тело может быть пустымНет

Квота и лимиты

Месячная квота - по тарифу, только на досье (ответ 200). При исчерпании - 429 QuotaExceeded.
Лимит в минуту - по тарифу, общий на оба запроса. При превышении - 429 RateLimitExceeded; повторите через Retry-After секунд.
Лимит по IP-адресу - 120 запросов в минуту, независимо от тарифа, ответ тот же: 429 RateLimitExceeded. Если не хватает - напишите нам.
Вопросы по подключению - info@reestr.kg.