Документация для разработчиков
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, statNo | tin - ИНН (если ИНН нет - ключ карточки, см. hasTin); recordId - номер записи в реестре Минюста; registrationNumber - регистрационный номер; statNo - ОКПО. |
| Ключ и история записи | hasTin, key, priorRecords[] → { registrationNumber, statNo, orderDate, state, fullNameRu, reason }, tinConflictWith, disputedTin | hasTin - есть ли у компании ИНН; false - в tin ключ карточки, а не ИНН. key - то же, что tin. priorRecords - прежние записи Минюста этой фирмы по дате приказа. tinConflictWith - ключ другой карточки с тем же ИНН; null - конфликта нет. disputedTin - ИНН, выданный двум фирмам; заполнен у второй из них. |
| Наименования | fullNameRu, shortNameRu, fullNameKy, fullNameEn, directorName | Полное и сокращённое название на трёх языках, ФИО руководителя. |
| Статус и даты | state, orderDate, primaryRegistrationDate, reRegistrationDate, liquidationDate, registrationType | state: REGISTERED, REREGISTERED - действующая; ELIMINATION_DECISION - прекращение по представлению госоргана; LIQUIDATED - ликвидирована; UNKNOWN - не указано. orderDate - дата приказа. registrationType - «Регистрация» или «Перерегистрация». |
| Запреты | denyReregistration, denyElimination, denyNotification | Запреты на перерегистрацию, ликвидацию и извещения, true/false. |
| Форма и деятельность | legalForm, ownershipForm, hasForeignCapital, mainActivity, okedCode, okedSection, regionCode | okedCode - код ОКЭД, okedSection - раздел ОКЭД (A–U), regionCode - код региона по юридическому адресу. |
| Учредители | founders[] → { name, type, tin } | type - пять значений: person - физлицо, company - юрлицо, state - госорган, foreign - иностранная компания, ngo - НКО; перечень может расширяться. tin - только у юрлица. Если имени нет - «(без ИНН)». |
| Адрес | actualAddress | Юридический адрес. |
| Банковские реквизиты | bankName, accountNumber, bic | Банк, расчётный счёт, БИК. |
| Налоговый орган | hasDebt, taxAuthorityCode, taxAuthorityShortName, taxAuthorityFullName | hasDebt - есть ли налоговая задолженность; остальное - налоговый орган компании. |
| Банкротство | bankruptcyStatus | Статус в реестре банкротств; null - компании там нет. |
| Санкции | sanctions[] → { source, listedName, listingBasis, subjectType, matchedSubject, confidence, sourceCount, subjectKey, isActive, delistedDate } | Совпадения с санкционными списками: список, основание, чьё имя совпало, уверенность 0–100, действует ли санкция. Записи одного фигуранта объединяйте по subjectKey. |
| Бренды и наличие знаков | brandNames[], brandHeader → { registrationNumber, name, imageUrl }, newBrandUntil, hasTrademarks | brandNames - названия действующих брендов. 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.
| HTTP | code | Что значит | Расходует запрос |
|---|---|---|---|
| 200 | — | Досье отдано | Да |
| 400 | InvalidTin | Досье: ИНН не из 3–14 цифр | Нет |
| 400 | InvalidDate | Список: from или to нет либо не yyyy-MM-dd | Нет |
| 400 | InvalidRange | Список: from позже to или в будущем | Нет |
| 400 | RangeTooLong | Список: период длиннее 31 дня | Нет |
| 400 | RangeTooOld | Список: from раньше, чем 12 месяцев назад | Нет |
| 401 | InvalidApiKey | Нет ключа, ключ недействителен или отозван | Нет |
| 403 | ApiSubscriptionExpired | Подписка не даёт доступа к API или истекла | Нет |
| 403 | AccountTemporarilyFrozen | Аккаунт временно заморожен - напишите в поддержку | Нет |
| 404 | CompanyNotFound | Досье: компания не найдена | Нет |
| 429 | RateLimitExceeded | Превышен лимит запросов в минуту. Повторите через Retry-After секунд | Нет |
| 429 | QuotaExceeded | Досье: исчерпана месячная квота. В теле - used и quota | — |
| 503 | TemporarilyUnavailable | Временный сбой. Повторите через Retry-After секунд | Нет |
| 500 | — | Внутренняя ошибка. Тело может быть пустым | Нет |
Квота и лимиты
Месячная квота - по тарифу, только на досье (ответ
200). При исчерпании - 429 QuotaExceeded.Лимит в минуту - по тарифу, общий на оба запроса. При превышении -
429 RateLimitExceeded; повторите через Retry-After секунд.Лимит по IP-адресу - 120 запросов в минуту, независимо от тарифа, ответ тот же:
429 RateLimitExceeded. Если не хватает - напишите нам.Вопросы по подключению - info@reestr.kg.