## Документация API api-assist.com egrul.nalog.ru (ЕГРЮЛ/ЕГРИП, сведения о государственной регистрации) Сервис помогает автоматизировать получение сведений из Единого государственного реестра юридических лиц (ЕГРЮЛ) и Единого государственного реестра индивидуальных предпринимателей (ЕГРИП), опубликованных на портале ФНС России https://egrul.nalog.ru/ Сервис поддерживает три типа запросов: 1. **Поиск в ЕГРЮЛ/ЕГРИП** — поиск юридических лиц и индивидуальных предпринимателей по ИНН, ОГРН/ОГРНИП, наименованию организации или ФИО предпринимателя. 2. **Скачивание выписки (PDF)** — получение официальной выписки из ЕГРЮЛ/ЕГРИП в формате PDF по ИНН или ОГРН, а также её содержимого в виде JSON: разделы, показатели и их значения. 3. **Получение списка регионов** — справочный запрос со списком кодов регионов для фильтрации поиска. Все запросы требуют указания ключа доступа (`key`). --- ### 1. Поиск в ЕГРЮЛ/ЕГРИП Для поиска организаций и индивидуальных предпринимателей используйте следующий запрос: ``` https://service.api-assist.com/parser/nalog_egrul_api/search?key=ВАШ_КЛЮЧ_ДОСТУПА ``` **Параметры поиска:** - **inn** — ИНН (10 цифр для организации, 12 цифр для индивидуального предпринимателя) - **ogrn** — ОГРН организации (13 цифр) или ОГРНИП индивидуального предпринимателя (15 цифр) - **name** — наименование организации или ФИО индивидуального предпринимателя - **nameExact** — `1` — искать по точному соответствию наименования юридического лица или фамилии, имени и отчества (необязательный, учитывается только вместе с параметром `name`) - **regionID** — код региона для уточнения поиска (необязательный). Если не указан, поиск выполняется по всем регионам. Допускается перечисление нескольких регионов через запятую, например `regionID=77,50`. Список регионов можно получить с помощью справочного запроса (см. раздел **Справочные запросы**) - **page** — номер страницы (нумерация с 1, по умолчанию 1). Общее число страниц возвращается в поле `pages` **Обязательно должен быть указан хотя бы один параметр:** `inn`, `ogrn` или `name`. **Примеры поисковых запросов:** Поиск организации по ИНН: ``` https://service.api-assist.com/parser/nalog_egrul_api/search?key=ВАШ_КЛЮЧ_ДОСТУПА&inn=7736050003 ``` Поиск организации по ОГРН: ``` https://service.api-assist.com/parser/nalog_egrul_api/search?key=ВАШ_КЛЮЧ_ДОСТУПА&ogrn=1027700132195 ``` Поиск индивидуального предпринимателя по ФИО: ``` https://service.api-assist.com/parser/nalog_egrul_api/search?key=ВАШ_КЛЮЧ_ДОСТУПА&name=Иванов Иван Иванович ``` Поиск по наименованию с фильтром по регионам (Москва и Московская область): ``` https://service.api-assist.com/parser/nalog_egrul_api/search?key=ВАШ_КЛЮЧ_ДОСТУПА&name=Газпром®ionID=77,50 ``` **Пример ответа на поисковый запрос:** ```json-toggle { "success": 1, "count": 1064, // общее количество найденных записей "available_count": 1064, // количество записей, доступных к выдаче (источник отдает не более 100000) "pages": 54, // общее количество страниц "page": 1, // текущая страница "items": [ { "type": "organization", // organization - юридическое лицо, entrepreneur - индивидуальный предприниматель или КФХ "name": "ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО \"ГАЗПРОМ\"", // полное наименование организации или ФИО предпринимателя "short_name": "ПАО \"ГАЗПРОМ\"", // сокращенное наименование, null для индивидуального предпринимателя "inn": "7736050003", // ИНН "kpp": "781401001", // КПП, null для индивидуального предпринимателя "ogrn": "1027700070518", // ОГРН организации или ОГРНИП предпринимателя "registration_date": "2002-08-02", // дата присвоения ОГРН/ОГРНИП "termination_date": null, // дата прекращения деятельности, null если запись действующая "invalidation_date": null, // дата признания государственной регистрации недействительной "region": "Г.Санкт-Петербург", // регион регистрации, null для индивидуального предпринимателя "manager": { // сведения о руководителе, null если отсутствуют "position": "ПРЕДСЕДАТЕЛЬ ПРАВЛЕНИЯ", // должность "name": "Миллер Алексей Борисович" // ФИО руководителя }, "new_territory": false // true для юридических лиц, принятых в РФ вместе с новыми территориями (Федеральный закон № 184-ФЗ) } // ... остальные записи ] } ``` Для юридических лиц с признаком `new_territory = true` в записи дополнительно приходят сведения о регистрации до принятия в состав Российской Федерации: ```json-toggle { "type": "organization", "name": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"ПРИМЕР\"", "inn": "9303000000", "ogrn": "1229300000000", "new_territory": true, // организация принята в РФ вместе с новыми территориями "prior_registration_number": "12345678", // регистрационный номер на день принятия в РФ "prior_registration_date": "2022-09-30", // дата регистрации на день принятия в РФ "identification_code": "87654321" // идентификационный код юридического лица } ``` --- ### 2. Скачивание выписки из ЕГРЮЛ/ЕГРИП (PDF) Для получения официальной выписки в формате PDF используйте следующий запрос: ``` https://service.api-assist.com/parser/nalog_egrul_api/pdf_download?key=ВАШ_КЛЮЧ_ДОСТУПА&ogrn=1027700070518 ``` **Параметры:** - **inn** — ИНН (10 цифр для организации, 12 цифр для индивидуального предпринимателя) - **ogrn** — ОГРН организации (13 цифр) или ОГРНИП индивидуального предпринимателя (15 цифр) - **includeAttributes** — `1` — дополнительно вернуть содержимое выписки в виде списка показателей в поле `attributes` (необязательный). Подробнее см. раздел **Содержимое выписки в JSON** - **skipPdf** — `1` — не возвращать сам файл выписки в поле `pdf_content` (необязательный). Используется вместе с `includeAttributes=1`, когда нужны только данные выписки **Обязательно должен быть указан один из параметров:** `inn` или `ogrn`. Выписка выдается строго по записи, реквизиты которой совпали с запрошенными. Если совпадения нет, возвращается пустой ответ (см. ниже) — подстановка «похожей» организации не выполняется. **Примеры запросов:** Выписка по ИНН организации: ``` https://service.api-assist.com/parser/nalog_egrul_api/pdf_download?key=ВАШ_КЛЮЧ_ДОСТУПА&inn=7736050003 ``` Выписка по ОГРНИП индивидуального предпринимателя: ``` https://service.api-assist.com/parser/nalog_egrul_api/pdf_download?key=ВАШ_КЛЮЧ_ДОСТУПА&ogrn=320237500232813 ``` **Пример ответа:** ```json-toggle { "success": 1, "file_name": "ul-1027700070518-20260803190034.pdf", // имя файла, ul- для организации, fl- для индивидуального предпринимателя "pdf_content": "JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlL1BhZ2Vz..." // содержимое PDF-файла в кодировке base64 } ``` Содержимое файла возвращается в поле `pdf_content` в кодировке base64 — его нужно декодировать и сохранить под именем из поля `file_name`. ```php $json = json_decode( file_get_contents( $url ), true ); if( $json['success'] && $json['pdf_content'] ){ file_put_contents( $json['file_name'], base64_decode( $json['pdf_content'] ) ); } ``` Если запись по указанным реквизитам не найдена, запрос считается успешным, а поля `file_name` и `pdf_content` возвращаются пустыми: ```json { "success": 1, "file_name": null, "pdf_content": null } ``` #### Содержимое выписки в JSON С параметром `includeAttributes=1` сервис разбирает таблицу выписки и возвращает все её строки в поле `attributes` — в том же порядке, что и в PDF. Если файл выписки не нужен, добавьте `skipPdf=1`, чтобы не получать его в ответе: ``` https://service.api-assist.com/parser/nalog_egrul_api/pdf_download?key=ВАШ_КЛЮЧ_ДОСТУПА&inn=7707279342&includeAttributes=1&skipPdf=1 ``` **Пример ответа:** ```json-toggle { "success": 1, "file_name": "ul-1027739167389-20260929085403.pdf", // имя файла выписки "extract_number": "ЮЭ9965-26-196347611", // номер выписки "extract_date": "2026-09-29", // дата формирования выписки "attributes": [ { "num": 1, // номер строки выписки (графа «№ п/п») "section": "Наименование", // раздел выписки "subsection": null, // подраздел, null если строка находится непосредственно в разделе "item": null, // номер элемента в списке однотипных сведений "name": "Полное наименование на русском языке", // наименование показателя "value": "ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬЮ \"МБ РУС ФИНАНС\"" // значение показателя }, { "num": 67, "section": "Сведения о видах экономической деятельности по Общероссийскому классификатору видов экономической деятельности", "subsection": "Сведения заявительного типа / Сведения о дополнительных видах деятельности (ОКВЭД ОК 029-2014 (КДЕС Ред. 2))", "item": 3, "name": "Код и наименование вида деятельности", "value": "64.91.2 Деятельность по финансовой аренде (лизингу/сублизингу) в прочих областях, кроме племенных животных" }, { "num": 68, "section": "Сведения о видах экономической деятельности по Общероссийскому классификатору видов экономической деятельности", "subsection": "Сведения заявительного типа / Сведения о дополнительных видах деятельности (ОКВЭД ОК 029-2014 (КДЕС Ред. 2))", "item": 3, "name": "ГРН и дата внесения в ЕГРЮЛ записи, содержащей указанные сведения", "value": "2267702627861 01.04.2026" }, { "num": 78, "section": "Сведения о записях, внесенных в Единый государственный реестр юридических лиц", "subsection": "Сведения о свидетельстве, подтверждающем факт внесения записи в ЕГРЮЛ", "item": 1, "name": "Серия, номер и дата выдачи свидетельства", "value": "77 005083636 09.09.2002" } // ... остальные строки выписки ] } ``` **Описание полей строки:** - **num** — номер строки выписки из графы «№ п/п». Нумерация сквозная: строки идут по порядку от 1 без пропусков. - **section** — раздел выписки, например «Наименование», «Сведения об участниках / учредителях юридического лица», «Сведения о записях, внесенных в Единый государственный реестр юридических лиц». - **subsection** — подраздел внутри раздела, например «Сведения о регистрации юридического лица до 1 июля 2002 года» или «Сведения о статусе записи». Если подразделов несколько уровней, они перечисляются через « / ». `null`, если строка относится непосредственно к разделу. - **item** — номер элемента в списке однотипных сведений. - **name** — наименование показателя. - **value** — значение показателя в том виде, в каком оно указано в выписке: строкой, без преобразования дат и кодов. Переносы строк внутри ячейки выписки заменены пробелами. Если запись по указанным реквизитам не найдена, запрос считается успешным, а поля выписки возвращаются пустыми: ```json { "success": 1, "file_name": null, "extract_number": null, "extract_date": null, "attributes": null } ``` --- ### Справочные запросы Справочные запросы предоставляют дополнительную информацию, необходимую для работы с основными запросами. #### 1. Получение списка регионов ``` https://service.api-assist.com/parser/nalog_egrul_api/get_regions?key=ВАШ_КЛЮЧ_ДОСТУПА ``` Список регионов статичен — результат этого запроса можно закэшировать на своей стороне. Справочный запрос не обращается к источнику и не расходует оплаченный лимит. Сокращенный пример ответа: ```json { "01": "Республика Адыгея", "02": "Республика Башкортостан", "03": "Республика Бурятия", "77": "Москва", "78": "Санкт-Петербург", "99": "Байконур" } ``` --- ### Интерпретация ответа и обработка ошибок **Общие рекомендации:** - Если поле `success = 1` — перед вами успешный ответ, с которым можно работать. Только такие запросы учитываются в статистике и расходуют оплаченный лимит. - Иначе, если поле `error` заполнено — запрос требует вашего внимания. Текст ошибки рекомендуется сохранить или отправить для дальнейшего анализа. - Иначе, если поле `error` не заполнено — это ошибка, связанная со стабильностью источника. В таком случае мы рекомендуем игнорировать ответ и повторить запрос. В данном разделе описаны возможные коды ответов сервиса и их значения. Каждый код ответа сопровождается пояснением и примером JSON-ответа. #### 1. Код ответа - 200 - Поле `success = 1` - удалось получить информацию от источника. Такие и только такие запросы можно запускать в дальнейшую обработку. Примеры ответов см. выше. - Поле `success = 0` - не удалось получить информацию от источника. Запрос не будет учтен в статистике. Необходимо повторить запрос. #### 2. Код ответа - 403 Выдается сервисом в случае невозможности обработки запроса из-за ограничения доступа: закончилась подписка, превышен лимит и так далее. Причины ошибок отражены в поле `error` ответа. Ниже приведен список возможных ошибок с их описанием и кодами: - **Invalid access key** `error_code = 40301` Указанный ключ доступа недействителен или отсутствует. - **The subscription period has expired** `error_code = 40302` Доступ к сервису истек, требуется продление. - **Invalid IP** `error_code = 40303` Запрос выполнен с IP-адреса, который не разрешён для доступа. - **Day limit of requests exceeded** `error_code = 40304` Достигнут оплаченный лимит запросов на день. - **Month limit of requests exceeded** `error_code = 40305` Достигнут оплаченный лимит запросов на месяц. **Пример ответа:** ```json { "error": "Invalid access key", "error_code": 40301 } ``` #### 3. Код ответа - 400 Выдается сервисом в случае невозможности обработки запроса из-за ошибки валидации запроса, неверного или отсутствующего значения какого-либо поля. Поле `error_code` всегда равно `40001`, подробности доступны в поле `error`. **Примеры ответов:** Пустой запрос: ```json { "success": 0, "error": "Empty request. Please provide inn, ogrn or name", "error_code": "40001" } ``` Невалидный ИНН: ```json { "success": 0, "error": "Invalid inn. Expected 10 or 12 digits", "error_code": "40001" } ``` Невалидный ОГРН: ```json { "success": 0, "error": "Invalid ogrn. Expected 13 or 15 digits", "error_code": "40001" } ``` Неизвестный код региона: ```json { "success": 0, "error": "Invalid regionID", "error_code": "40001" } ``` Для выписки запрошен `skipPdf=1` без `includeAttributes=1` — в ответе нечего возвращать: ```json { "success": 0, "error": "Nothing to return. With skipPdf=1 use includeAttributes=1", "error_code": "40001" } ```