api данные организации по инн

Организация по ИНН или ОГРН

Находит компанию или ИП по ИНН или ОГРН. Возвращает все доступные сведения о компании, в отличие от метода suggest, который возвращает только базовые поля.

Как вызвать

Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.

Параметры запроса

Название Тип Обяз.? По умолч. Описание
query string ИНН или ОГРН
count number 10 Количество результатов (максимум — 300)
kpp string КПП для поиска по филиалам, см. пример
branch_type string Головная организация ( MAIN ) или филиал ( BRANCH ), см. пример
type string Юрлицо ( LEGAL ) или индивидуальный предприниматель ( INDIVIDUAL ), см. пример

Головные организации и филиалы

Если у компании есть филиалы, запрос вернёт несколько объектов. Если нужна только головная организация, укажите дополнительный параметр branch_type :

Чтобы найти конкретный филиал, укажите дополнительный параметр kpp :

К сожалению, для 50% компаний налоговая служба пока не сообщает КПП филиалов. Такие филиалы с помощью данного метода найти не получится.

Юрлица и индивидуальные предприниматели

Чтобы искать только среди юрлиц, либо только среди индивидуальных предпринимателей, укажите параметр type :

Что в ответе

Примеры вызова

Ограничения

Длина запроса (параметр query ) — не более 300 символов.

Количество запросов в день — в соответствии с тарифным планом.

Максимальная частота запросов — 20 в секунду с одного IP-адреса.

Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.

Стоимость

Бесплатно до 10 тысяч запросов в день. Больше — в составе годовой подписки.

Источник

Описание API-ФНС

С помощью сервиса вы сможете автоматизировать заполнение реквизитов компаний, поиска компаний по различным параметрам, проявить должную осмотрительность, отслеживать изменения в параметрах ваших контрагентов.

Для выбора методов и ввода параметров можно использовать единый адрес входа: https://api-fns.ru/api

API состоит из нескольких программных интерфейсов:

Название метода Команда Описание
Поиск компаний search Позволяет получить список компаний, соответствующих указанному запросу
Получение данных о компании egr Позволяет получить все актуальные и исторические данные из ЕГРЮЛ о юридическом лице (ЮЛ), или из ЕГРИП для индивидуального предпринимателя (ИП)
Реквизиты группы компаний multinfo Позволяет получить базовые данные сразу о нескольких юридических лиц или индивидуальных предпринимателей
Проверка группы компаний multcheck Позволяет провести базовую (упрощенную) проверку нескольких юридических лиц или индивидуальных предпринимателей
Проверка контрагента (признаки недобросовестности) check Позволяет получать информацию о том, попало ли юридическое лицо в различные негативные реестры ФНС, отметки о недостоверных данных, признаки «массового» директора, учредителя, решений о ликвидации, реорганизации и прочие
Проверка блокировок счета nalogbi Запрос полной информации о действующих решениях ФНС о приостановлении операций по счетам
Проверка блокировок счета в виде файла nalogbi_file Вывод полной информации о действующих решениях ФНС о приостановлении операций по счетам в виде файла zip с подписью ФНС
Отслеживание изменений параметров компании changes Позволяет получить те параметры компании, которые изменились, начиная с указанной даты
Мониторинг изменений по списку компаний mon Формирование списка компаний для мониторинга и отслеживание изменений в ЕГРЮЛ/ЕГРИП по этому списку
Выписка из ЕГРЮЛ vyp Позволяет получить заверенную выписку ФНС из ЕГРЮЛ или ЕГРИП
Бухгалтерская отчетность bo Бухгалтерская отчетность организации по данным ФНС
Бухгалтерская отчетность в виде файла bo_file Бухгалтерская отчетность организации в виде файла zip или pdf, заверенного подписью ФНС
Узнать ИНН по паспортным данным innfl Возвращает ИНН физического лица на основании введенных паспортных данных
Проверка паспорта на недействительность mvdpass Проверяет серию и номер паспорта по списку недействительных российских паспортов
Статусы физического лица fl_status Проверяет статус самозанятого, является ли физическое лицо индивидуальным предпринимателем, банкротство физического лица, недействительность ИНН
Лицензии ФСРАР fsrar Возвращает информацию о лицензиях по данным ФСРАР
Статистика запросов (использования ключа) stat Возвращает информацию статистику о количестве использованных и доступных запросов по каждому из методов

Поиск компаний

Позволяет получить список компаний по указанному запросу.

Используется запрос GET или POST.

Параметры запроса:

Параметр Тип данных и пример Описание
q string
q=Гордиенко Василий
Поисковая строка. Если указать q=any, то будут выведены все организации, соответствующие параметру filter
page integer
page=2
Страница поиска (поиск выдает только первые 100 найденных значений, если их больше используйте page для отображения следующей порции найденных значений)

Необязательное поле key string Ваш ключ доступа к API

Возвращаемый документ (HTTP response) представляет собой структурированный документ JSON, содержащий список найденных организаций.

Поля возвращаемого документа:

Примеры запросов.

https://api-fns.ru/api/search?q=Борунов Алексей Владимирович&key=

Данные о компании

Позволяет получить все данные из ЕГРЮЛ или ЕГРИП (включая исторические) о компании.

Используется запрос GET или POST.

Параметры запроса:

Параметр Тип данных и пример Описание
req string
req=1026605606620
ОГРН или ИНН искомой компании (юридического лица или ИП)
key string Ваш ключ доступа к API

Возвращаемый документ (HTTP response) представляет собой структурированный документ JSON, содержащий информацию из ЕГРЮЛ (ЕГРИП).

Поля возвращаемого документа:

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») Адрес array Исторические сведения о прошлых адресах компании Период актуальности данных object В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») СумКап String Размер капитала в рублях НаимЮЛПолн array Прошлые полные названия организации Период актуальности данных String В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») НаимЮЛСокр array Прошлые сокращенные названия организации Период актуальности данных String В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») Статус array Прошлые статусы организации Период актуальности данных String В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») Адрес array Исторические сведения о прошлых адресах компании Период актуальности данных object В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») АдресПолн String Адрес полный Руководитель object Исторические сведения о бывших руководителях Период актуальности данных array В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») E-mail String Прошлые адреса электронной почты Период актуальности данных array В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») НаимПредСокр array Прошлые краткие названия филиала, представительства иностранного юридического лица Период актуальности данных String В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») НаимЮЛПолн array Прошлые полные названия организации Период актуальности данных String В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») Адрес array Исторические сведения о прошлых адресах компании Период актуальности данных object В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») АдресПолн String Адрес полный Руководитель object Исторические сведения о бывших руководителях Период актуальности данных array В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

«тильда») ФИОПолн String Фамилия Имя Отчество бывшего должностного лица ИННФЛ String ИНН бывшего должностного лица СвИнРабАкт array Исторические сведения о прошлых численностях иностранных граждан, являющихся работниками филиала, представительства иностранного юридического лица Период актуальности данных object В формате YYYY-MM-DD

YYYY-MM-DD (начальная и конечная даты, разделенные знаком

Источник

API подсказок по организациям

Ищет компании и индивидуальных предпринимателей:

Что умеет

✔️ Ищет по комбинации ИНН, названия и адреса в одном запросе («7736050003 Газ» → «ПАО Газпром», «вавилова сбер» → «ПАО Сбербанк»).

✔️ Находит конкретный филиал, если указать в запросе КПП («сбербанк 540602001» → «Сибирский банк ПАО Сбербанк»).

✔️ Понимает слитное и раздельное написание («альфабанк» = «Альфа-Банк»).

✔️ Ищет по частичному совпадению в ИНН / ОГРН («77094209» → «ООО Акварель») и названиях («росне» → «ПАО «НК «Роснефть»).

✔️ Подсказывает только организации или только ИП, или и тех и других. Умеет искать только в действующих или ликвидированных компаниях. Может ограничить подсказки кодом ОКВЭД или конкретным регионом России.

✔️ Учитывает, где вы находитесь (в связке с методом город по IP-адресу).

✔️ Возвращает основные реквизиты компании из ЕГРЮЛ: краткое и полное название, ОПФ, адрес, ОГРН, ИНН, КПП, ОКВЭД, статус организации, ФИО и должность руководителя.

✔️ В связке с методом организация по ИНН возвращает вагон дополнительной информации: количество сотрудников, все коды ОКВЭД, сведения о налоговой, ПФР и ФСС, документы и лицензии, учредители и руководители, финансовые показатели, реестр малого и среднего бизнеса.

❌ Для 50% компаний налоговая служба пока не сообщает КПП филиалов. Такие филиалы можно найти по ИНН, городу и улице филиала. Например, «7724261610 москва мясницкая» → «Филиал ФГУП «Почта России» (г Москва)».

Как вызвать

Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.

Укажите при вызове:

Параметры запроса

Название Тип Обяз.? По умолч. Описание
query string Текст запроса
count number 10 Количество результатов (максимум — 20)
status array [string] Ограничение по статусу организации
type string Ограничение по типу организации
locations array [object] Ограничение по региону или городу
locations_boost array [object] Приоритет города при ранжировании

Что в ответе

Объект с массивом подсказок в поле suggestions :

Коды ответа на запрос

HTTP-код ответа Описание
200 Запрос успешно обработан
400 Некорректный запрос (невалидный JSON или XML)
401 В запросе отсутствует API-ключ
403 В запросе указан несуществующий API-ключ
Или не подтверждена почта
Или исчерпан дневной лимит по количеству запросов
405 Запрос сделан с методом, отличным от POST
413 Слишком большая длина запроса или слишком много условий
429 Слишком много запросов в секунду или новых соединений в минуту
5xx Произошла внутренняя ошибка сервиса

Примеры вызова

Ограничения

Количество условий в параметрах locations и locations_boost — не более 10.

Длина запроса (параметр query ) — не более 300 символов.

Количество запросов в день — в соответствии с тарифным планом.

Максимальная частота запросов — 20 в секунду с одного IP-адреса.

Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.

Частые вопросы

По мере поступления обновлений от налоговой службы. Отставание от сайта налоговой (egrul.nalog.ru) не более 3 дней.

Почему не находится организация? Я точно знаю, она должна быть

Скорее всего, организация недавно зарегистрирована в ФНС, и мы еще не успели получить информацию о ней из налоговой. Отставание Дадаты от сайта налоговой (egrul.nalog.ru) не более 3 дней, так что организация скоро появится.

Подсказки не работают: ошибка 403 Forbidden (Feature SUGGESTIONS disabled for token)

Подсказки перестанут подсказывать ツ До начала нового дня, затем снова заработают.

10 000 запросов считаются суммарно по всем видам подсказок: адреса, ФИО, организации, банки, емейлы.

Стоимость

Бесплатно до 10 тысяч запросов в день. Больше — в составе годовой подписки.

Источник

Получить выписки из ЕГРЮЛ на сайте ФНС, используя python

На сайте ФНС по адресу egrul.nalog.ru/index.html есть замечательный сервис проверки контрагентов или своих собственных обществ.

Суть проверки сводится к подаче запроса в ЕГРЮЛ (единый реестр фактов детальности юридических лиц) и получении тут же, онлайн, выписки из реестра.

Работа с сервисом не вызывает каких-либо затруднений: внес в поле ОГРН, нажал кнопку “Найти” и нажал кнопку “Скачать” ниже. Все, выписка получена.

Как здесь может помочь автоматизация? Очень просто.

Если ваш холдинг состоит из n-количества юридических лиц, то даже такая работа как копипастинг ОГРН в строку поиска сервиса может надоесть.

Избавимся от рутины и автоматизируем процесс подачи-скачивания выписок из ЕГРЮЛ!

В нашем случае программа будет “забирать” по одному ОГРН из заранее подготовленной таблицы excel, вносить значение в строку сервиса, нажимать необходимые кнопки.

В идеале работа программы будет выглядеть так:

Для начала подготовим таблицу excel, куда внесем ОГРН, по которым мы будем работать, в столбик:

4

Количество ОГРН не имеет значения (можно хоть весь ЕГРЮЛ скачать), главное чтобы они все были в столбце А.

Назовем файл выпискиЕГРЮЛ.xlsx и сохраним в рабочей директории python.

Теперь создадим сам файл с программой – egrul.py.

Первые строки программы, как обычно, начинаются с импорта необходимых модулей, далее мы выбираем браузер (в моем случае Chrome) и “заходим” на сайт:

Далее мы запускаем цикл по всем ОГРН в таблице excel:

Здесь надо обратить внимание на значения x вначале цикла:

image loader

2- это начальная ячейка с ОГРН (стартовая), которая соответствует A2 в excel таблице. Конечная ячейка будет A186, хотя в цикле указана цифра 187.

Это надо иметь ввиду, чтобы все ОГРН были обработаны и последнее значение не потерялось.
Между подачами запросов в ЕГРЮЛ программа выдерживает паузу в 30 секунд. Это может показаться недопустимо долго и этот период захочется сократить. Это можно сделать, поменяв значение в строке time.sleep(30) на, например, time.sleep(10). Однако в данном случае можно попасть под санкции сервиса ФНС и получить капчу. Данную капчу можно обойти, но это тема отдельного поста. А в этой программе лучше оставить задержку между подачами запросов в 30 секунд и пойти спокойно пить чай, пока программа за вас работает.

Ссылка на старый вариант программы – здесь.

Ссылка на тестовую таблицу excel – здесь.

*Текст программы актуализирован на 09.2020г.

Источник

Deprecated! Автоматизация получения сведений из ЕГРЮЛ с помощью Freepascal

В своей работе (юридической) я готов автоматизировать всё, что только поддаётся этому. Но пока прокачанные нейросетями роботы из утопии Германа Грефа не появились и не отняли всю работу у рядовых юристов, рутина надолго останется нашим главным спутником. Автоматизация этой рутины — то, чем я периодически занимаюсь на протяжении последних лет, будь то многочисленные таблицы в excel с кучей формул, позволяющих быстро распечатать сотню однотипных документов-рассылок в word’е, ну или автоматически генерируемые отчеты. Но есть и такие вещи, которые простыми формулами и подстановками не сделаешь. Здесь на помощь приходит программирование, которым я увлекаюсь с детства, и так уж вышло, что началось это с delphi. Сейчас мне проще, чем в C# или python, осваивать которые начал недавно, сделать быстро какой-то проект в среде Lazarus, используя freepascal. И да, я на полном серьёзе считаю, что возможностей этой среды более, чем достаточно. Поэтому автоматизировать ЕГРЮЛ, как вы догадались, предстоит с помощью паскаля.

Юрист консалтинговой конторы, ведущей дела десятков юридических лиц, юрист-корпоративщик на вольных хлебах, да и любой другой юрист, сталкивающийся с обеспечением деятельности организаций — все они знают, как легко в голове смешиваются десятки и сотни разных наименований, номеров ИНН, ОГРН, как легко забыть, кто где руководитель, и когда у него подходит срок продления полномочий, нет ли проблем с долями в ООО и с оплатой его уставного капитала. Ну и необходимость сделать быстро какой-то документ, включающий в себя множество постоянно меняющихся реквизитов, влечет периодические ошибки и опечатки. Для автоматизации именно таких процессов мне было нужно решение с базой данных, позволяющее делать документы по шаблонам, вести различные реестры, отслеживать изменения и не пропускать какие-то сроки. Ну и одно из необходимых упрощений жизни — быстрое получение свежего файла со сведениями из ЕГРЮЛ с сайта Федеральной налоговой службы. Конечно, никто не говорит, что воспользоваться сайтом напрямую — это долго и трудно, но согласитесь, что нажать на одну кнопку, не выходя из приложения, гораздо веселее, и сделать это можно, не отрываясь от телефонного звонка (или чашки кофе).

Значит, в конкретном случае готовая функция должна возвращать pdf в виде файла (а лучше — потока), имея на входе ОГРН или ИНН лица. Но для универсализации и возможности дальнейшего расширения не будем пренебрегать всеми возможностями сайта и сделаем также функцию нечёткого поиска с возвращением набора данных, найденных по названию организации с учётом фильтра по региону или без такового. Попробуем описать интерфейсы этих функций:

Для того, чтобы понять, что за таинственный параметр Х и коллекцию чего вернёт вторая функция, разберемся, как именно сайт исполняет запрос.

1. На сайте размещена форма с полями ввода для идентификаторов поиска и проверки капчи:

uavngfdababogkh8q7yexvfx nw

2. Капча формируется с помощью заранее сгенерированного скрытого поля с именем captchaToken, которое использует ява-скрипт для генерации изображения капчи по данному токену.

3. После нажатия на кнопку «найти» на сервер отправляется POST-запрос, в результатах обработки которого возвращается JSON с массивом объектов. Этот JSON-ответ использует другой ява-скрипт, заполняющий таблицу, которую мы видим в результатах поиска.

Итак, первая загвоздка — это проверка капчи. Чтобы не нагружать наши методы, занимающиеся взаимодействием с сайтом, лишним функционалом, мы вынесем в отдельную функцию действия по обработке капчи. И в Х у нас будет параметр для callback-метода, который на входе имеет поток с изображением капчи, а на выходе — строку с распознанной капчей:

Функция, обрабатывающая капчу, может делать это как угодно: дать пользователю ввести её вручную, отправить изображение на платный сервер автоматического распознавания, самостоятельно распознать с помощью уникального ноу-хау алгоритма. Для простоты картины, и поскольку в моем случае потока капчи в промышленных масштабах не предвидится, выбираем первый вариант:

Второй вопрос — содержимое JSON-ответа сервера. Вот пример того, что в нём приходит:

Как видно, результат возвращает объект «query», который содержит исходные параметры поиска (для того, чтобы они остались в полях формы для повторного использования) и массив объектов «rows». Ссылка на файл pdf комбинируется ява-скриптом с помощью выражения: и значения ключа «Т» объекта. Время жизни сгенерированного файла pdf — несколько минут.

Две главные трудности, с которыми я столкнулся при создании http-запроса, это правильные значения заголовков и комбинирование строки с параметрами POST-запроса. Но простой анализ страницы с помощью встроенных средств браузера (в хроме вызываются по нажатию F12) дал всё необходимое. Вот пример заголовков, с которыми сервер дает правильный ответ вместо 400 Bad request:

А вот строка с параметрами:

Вооружившись этими исходными данными, приступим к реализации задачи. Я буду использовать следующие библиотеки для freepascal:

Встроенную библиотеку fcl-json — нужные модули: fpjson и fpjsonrtti — для максимального удобства обработки возвращаемых в JSON объектов.

Отдельные модули встроенной библиотеки fcl-xml — для некоторых функций потребуется работа с частями HTML как DOM-объектами, поэтому подключим модули SAX_HTML, DOM_HTML, DOM.

Опишем типы и классы объектов, которые в итоге получились:

В этот класс мы запакуем объекты, которые будут возвращаться в массиве rows в JSON-ответе сервера. Считывать мы будем их с помощью JSONToCollection, но для этого нужно сделать каждый объект элементом коллекции и все соотносимые свойства объявить как published. RTTI функции в freepascal (как и в delphi) получают доступ к наименованиям свойств только в том случае, когда они объявлены именно в такой области видимости. А функция JSONToCollection из модуля fpjsonrtti — как раз RTTI-функция, которая сопоставляет названия ключей из JSON объекта с названиями свойств класса.

Также в интерфейсе класса имеется функция GetPdfLink, которая возвращает ссылку для скачивания pdf-файла со сведениями из ЕГРЮЛ с помощью конкатенации web-адреса и значения свойства «Т».

Основной класс, реализующий объявленный выше интерфейс, будет таким:

Как видно, кроме реализации двух основных функций интерфейса все остальные свойства и методы класса будут скрытыми и нужны только для внутренней реализации. Их вообще можно было бы включить внутрь основных методов, но мы уже проходили уроки про дублирующийся код, наглядность и в целом рефакторинг.

С учетом инкапсуляции подготовительных действий основные методы вообще будут различаться только формированием строки параметров http-запроса и возвращаемым типом данных.

Здесь, как мы видим, метод также использует логический параметр isLegal, и если он не установлен в true, поиск идет по базе предпринимателей вместо юридических лиц.

Роль служебных методов сводится к следующему:

ProcessCaptcha — загружает первоначальную html страницу сервиса ФНС, ищет токен капчи, скачивает картинку, сгенерированную по этому токену, и перенаправляет её в callback-метод для распознавания капчи. В конце метод также устанавливает правильные заголовки для последующего POST-запроса.

GetCaptchaToken — загружает в DOM структуру все поля input со страницы, ищет скрытое поле с идентификатором capthcaToken и возвращает его значение.

GetLegalsList — с помощью RTTI функции JSONToCollection возвращает коллекцию объектов типа TEGRULItem, описанного выше.

Поскольку этой мой первый опыт работы с сетью в freepascal, я очень рад, что всё получилось именно так, как я и задумывал. В работоспособном виде библиотека была изготовлена менее, чем за один день (спасибо форумчанам с freepascal.ru, рассказавшим о synapse).

Как всегда буду рад любой конструктивной критике как по проекту, так и по реализации. Понимаю, что есть много факторов, которые еще можно учесть: задержка с ответом на http-запрос, в результате чего подвиснет приложение; неверные http-ответы и другие ситуации.

В дальнейшем я планирую подключить онлайн-библиотеку с адресной базой ФИАС и реализовать возможность генерировать заполненные шаблоны заявлений, которые в общем случае редактируются в Программе подготовки документов для государственной регистрации.

image loader
P.S. Извини, Сбербанк, за роль подопытного кролика и сотни раз скачанную выписку. Всё во имя науки конечно же.

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • api fns для получения инн
  • api development tools как заполнить форму