Сервис «Прозрачный бизнес» ФНС (pb.nalog.ru)
| Признак | Значение |
|---|---|
| Уровень и охват | Федеральная витрина по юридическим лицам и ИП; отдельные инструменты для сравнения отраслевых показателей |
| Тип доступа | Публичный веб-интерфейс; внутренние JSON/XHR-запросы работают только как часть интерфейса и не являются публичным API |
| Основные форматы | HTML; JSON в ответах внутренних запросов браузера |
| Оператор | ФНС России |
| Режим доступа | Открытый просмотр; при интенсивных запросах интерфейс запрашивает CAPTCHA и сообщает о лимите |
Коротко: «Прозрачный бизнес» — официальный интерфейс ФНС для точечной проверки контрагента по ИНН, ОГРН/ОГРНИП, названию или ФИО. Он показывает сводную карточку организации либо ИП, а также даёт калькулятор налоговой нагрузки и узкоспециализированные отраслевые показатели. Это удобный слой ручной проверки и исследования одного субъекта, но не замена файловых наборов открытых данных ФНС, выписки ЕГРЮЛ/ЕГРИП или ГИР БО.
Качество и верификация
| Измерение | Значение для этой карточки |
|---|---|
Дата проверки (last_verified) | 2026-07-19: проверены HTML-страницы, формы, встроенный JavaScript и однократный поиск по ИНН через интерфейсный поток. |
Полнота (data_completeness) | Частичная: карточка агрегирует только сведения, разрешённые к показу и доступные для конкретного субъекта; состав блоков различается для ЮЛ и ИП. Это не полная копия ЕГРЮЛ/ЕГРИП, ГИР БО или каталога открытых данных. |
Машиночитаемость (machine_readability) | HTML для пользователей. Внутренние JSON-ответы существуют, но требуют временных идентификаторов, подвержены CAPTCHA и лимиту, поэтому не годятся как стабильный канал интеграции. |
Юридическая значимость (legal_significance) | Официальная витрина ФНС. Для юридически значимой выписки и первичных файлов следует обращаться к соответствующему сервису или набору. |
Задержка обновления (update_lag) | Не задана единым циклом: интерфейс показывает разные срезы по реестровым, годовым и ежемесячным сведениям. Дату/период нужно читать у конкретного блока. |
Глубина архива (archive_depth) | Не гарантирована интерфейсом: отдельные блоки имеют периоды и детализацию, но полного стабильного архива карточек нет. |
Лицензия (license_or_terms) | Явная машиночитаемая лицензия для повторного использования карточек на витрине не указана; условия и паспорта проверяйте для каждого внешнего набора ФНС. |
Описание
Витрина объединяет поиск по реестровым и публикационным признакам, карточки субъектов, сравнение выбранных организаций, калькулятор и отдельный раздел отраслевых показателей. Карточка создаётся для просмотра, а не как постоянная запись: адрес company.html?token=… содержит временный интерфейсный токен, а не ИНН и не публичный идентификатор записи.
В объём этой страницы не входят личные кабинеты налогоплательщика, АИС «Налог-3» и сторонние агрегаторы. Также не следует считать частью самой витрины сервисы, на которые ведёт её меню: они работают на service.nalog.ru, egrul.nalog.ru, lkul.nalog.ru, lkip2.nalog.ru и других доменах.
Оператор
Федеральная налоговая служба — оператор и публикатор витрины: https://pb.nalog.ru/
- Карточка ИС: Сайт ФНС России — статистика и данные — общий публичный контур ФНС; «Прозрачный бизнес» является специализированной витриной на отдельном поддомене.
Инвентаризация разделов и точек доступа
| Раздел | URL | Что пользователь получает | Формат и автоматизация |
|---|---|---|---|
| Главная и поиск | https://pb.nalog.ru/ | Общий поиск, поиск ЮЛ, ИП, руководителей/участников, дисквалифицированных лиц, адресов, ограничений участия и поданных регистрационных документов; расширенные фильтры для ЮЛ и ИП. | HTML; результаты подгружаются внутренним JSON-потоком. Поля и поток нестабильны, есть CAPTCHA/лимит. |
| Страница результатов | https://pb.nalog.ru/search.html | Результаты выбранного режима, пагинация, переход к карточке и печатной версии; список может содержать ссылки в ЕГРЮЛ/ЕГРИП, РСМП и ГИР БО. | HTML + внутренний JSON. Временный token из результата не является ключом для хранения или массовой загрузки. |
| Карточка субъекта | Создаётся из поиска: https://pb.nalog.ru/company.html?token=… | Сводные реквизиты, статусы, ОКВЭД, МСП, руководители/учредители и, для ЮЛ при наличии, опубликованные налоговые и финансовые показатели. | HTML, данные собираются внутренним JSON-запросом. Адрес с токеном эфемерен и не образует стабильную ссылку на ИНН. |
| Сравнение | https://pb.nalog.ru/compare.html | Сравнение добавленных пользователем карточек; интерфейс указывает лимит до 100 выбранных субъектов. | HTML/UI; не самостоятельный набор и не канал выгрузки. |
| Калькулятор налоговой нагрузки | https://pb.nalog.ru/calculator.html | Среднеотраслевые ориентиры и расчёт введённых пользователем фактических показателей для организаций на общем режиме. | HTML + внутренний JSON. Не API; результат зависит от введённых параметров и выбранного периода. |
| Отраслевые нормативные показатели | https://pb.nalog.ru/indicator.html | На момент проверки — участники отрасли «Клининг и техническая эксплуатация» (ОКВЭД 81.1/81.2), давшие согласие на раскрытие; фактическая и нормативная совокупная фискальная нагрузка. | HTML + внутренний JSON; ежемесячный расчёт заявлен интерфейсом, но фиксированный публичный файл не опубликован. |
| «Открытые данные» | https://pb.nalog.ru/od.html | Информационный экран: сообщает, что наборы по п. 1.1 ст. 102 НК РФ доступны в каталоге ФНС. | HTML со ссылкой на внешний https://www.nalog.gov.ru/opendata/. В самой странице нет CSV/XML/XLSX-файлов и нет каталога файлов. |
| «Сервисы оценки ЮЛ и ИП» | https://pb.nalog.ru/grade.html | Описание двухэтапной оценки, ссылка на приказ ФНС и переходы в личные кабинеты ЮЛ/ИП; отдельная внешняя проверка выписки ведёт на service.nalog.ru/scoring/. | HTML-страница со ссылками. Открытых результатов оценки и публичного API на ней нет. |
| Прочие пункты меню | Внешние адреса service.nalog.ru, npd.nalog.ru, m4d.nalog.gov.ru, nalog.gov.ru | Реестр обеспечительных мер, проверка статуса НПД, проверка КЭП, субсидиарная ответственность, проверка арбитражного управляющего, копии учредительных документов и др. | Это другие сервисы ФНС, а не данные pb.nalog.ru. Для них нужны отдельные карточки и собственные правила доступа. |
Страницы «О сервисе», «Вопросы и ответы» и «Обратная связь» помогают пользоваться витриной, но самостоятельных наборов данных не содержат.
Объекты данных и показатели
Результат поиска и ключи связки
Внутренний ответ общего поиска группирует результаты по типу: ul (ЮЛ), ip (ИП), upr (руководители), uchr (учредители), addr (адреса), rdl (дисквалифицированные лица), ogrfl/ogrul (ограничения участия), docul/docip (поданные документы). У групп, содержащих строки, интерфейс использует контейнер вида {"data": [...], "rowCount": number, "page": number, "pageSize": number, "hasMore": boolean}.
| Поле результата ЮЛ / ИП | Тип в ответе интерфейса | Смысл, источник и ограничения |
|---|---|---|
inn | строка из цифр | ИНН — основной ключ склейки с карточкой, ГИР БО, ЕИС и наборами ФНС. Не переводите в число: ведущие нули и контрольная длина должны сохраняться. |
ogrn | строка из цифр | Для ЮЛ — ОГРН, для ИП — ОГРНИП; второй ключ проверки идентичности. |
namec, namep | строка, возможна пустота | Сокращённое и полное наименование ЮЛ либо ФИО ИП. Это поисковое представление, не надёжный ключ. |
dtogrn | строка даты ДД.ММ.ГГГГ, возможна пустота | Дата присвоения ОГРН/ОГРНИП из регистрационных сведений. |
sulst_ex, sulst_name_ex | код и строка, возможны пустоты | Состояние ЮЛ; sulst_ex — интерфейсный код, sulst_name_ex — отображаемое наименование. Не используйте код без словаря сайта. |
pr_sipst | строковый флаг "0"/"1", возможна пустота | Состояние ИП: интерфейс отображает «действующий» или «деятельность прекращена». |
regionname | строка, возможна пустота | Регион в поисковом результате ЮЛ; у ИП в кратком результате может не показываться. |
okved2main, okved2mainname | строка, возможна пустота | Основной ОКВЭД и его наименование; ключ отраслевой классификации. |
invalid, predo | строковый/числовой флаг, возможна пустота | Признак недостоверности сведений и признак участия в ЭДО в представлении интерфейса. Это статусы, не количественные показатели. |
token | временная строка | Только сессионный указатель для перехода к карточке. Не ключ склейки, не добавляйте в базу и не публикуйте как ссылку. |
Ключи предметной связки: ИНН — предпочтительный ключ между витриной, ЕИС, XML ЕИС, ГИР БО и наборами ФНС; ОГРН/ОГРНИП — контроль идентичности; ОКВЭД — отраслевой разрез. КБК в карточках pb.nalog.ru не является полем связи.
Карточка юридического лица
Поля ниже — фактически используемые шаблоном карточки имена/блоки на дату проверки. Они появляются условно: отсутствие поля означает «сведения отсутствуют», «нет обязанности» или что блок не применим; это не числовой ноль.
| Блок и поля | Тип, единицы | Происхождение и типичные пустоты |
|---|---|---|
Наименование и регистрация: НаимЮЛПолн, НаимЮЛСокр, ИНН, ОГРН, ДатаОГРН, ДатаЗаписи, ДатаПостУч, КПП | Строки; даты в интерфейсном JSON обычно ГГГГ-ММ-ДД; идентификаторы — строки цифр | Регистрационные сведения ЕГРЮЛ. Сокращённое наименование, КПП и отдельные даты могут отсутствовать; каноническая выписка — в ЕГРЮЛ/ЕГРИП. |
Налоговые органы и статус: КодНО, НаимНО, КодРО, НаимРО, sulst_ex, sulst_name_ex, invalid | Коды/строки, флаг | ЕГРЮЛ и представление ФНС. Код статуса не документирован как внешний справочник; для автоматизации сохраняйте текст и дату получения. |
Адрес: АдресРФ, составные Индекс, НаимРегион, ТипУлица, НаимУлица, Дом; возможный массив СвНедАдресЮЛ | Строки; массив объектов с текстом дополнительного статуса | Реестровые сведения ЕГРЮЛ. Полный адрес и признаки недостоверности могут меняться; не нормализуйте адрес как уникальный ключ. |
Деятельность: КодОКВЭД, НаимОКВЭД, ТипОКВЭД; массивы okved2dolyaex и okved2ex с okved2name | Строки; ОКВЭД — код | Основной и дополнительные виды деятельности из реестрового контура. Интерфейс различает «отчётный» и «заявительный» ОКВЭД; полные массивы раскрываются по действию пользователя. |
Капитал: СумКап, НаимВидКап | Число/денежная сумма в рублях, строка вида капитала | Реестровые сведения. Блок применим не ко всем организационно-правовым формам и может не отображаться. |
МСП и ЭДО: rsmpcategory, rsmpdate, ссылка rsmppdf; predo | Код категории, дата, URL; флаг | Реестр МСП и признак, используемый витриной для статуса ЭДО. Для машиночитаемого среза МСП используйте отдельный набор, а не PDF/карточку. |
Руководители: массив masruk (name, inn, position, cnt, invalid, token) | Строки, число ЮЛ; token временный | Реестровые сведения. Персональные данные и число связанных ЮЛ раскрываются в доступном объёме; token не хранить. |
Учредители/участники: массив masuchr (name, inn, cnt, invalid, token) | Строки, число ЮЛ; token временный | Реестровые сведения. Доля участия в этом шаблоне не является гарантированным полем; за полной выпиской — к ЕГРЮЛ. |
Адресные связи: массив masaddress (massinn, massnamec/massnamep, token) | Строки; token временный | Другие ЮЛ по адресу в представлении витрины. Может быть пустым; это не самостоятельный реестр массовых адресов. |
Долг для взыскания и отчётность: pr_zd, pr_otch, pr_otch_zd_date | Флаги и дата | Карточка показывает «имеет/не имеет задолженность свыше 1 000 руб., направленную приставу» и «представляет/не представляет налоговую отчётность более года». Это статус на показанную дату, не размер задолженности. |
Специальные режимы: taxmode_yearcode, taxmode_periodcode, hastaxmode, флаги ausn, envd, eshn, spr, usn | Год/период, логические флаги | Публикуемый налоговый срез ФНС. Нулевой/отсутствующий флаг не должен автоматически читаться как «общий режим»: карточка может показывать отсутствие сведений или неприменимость. |
Недоимка и пени: arrear_yearcode, arrear_periodcode, totalarrearsum; подробный массив arrear | Год/период; сумма в рублях | Показатель «суммы недоимки и задолженности по пеням и штрафам». Стабильная массовая версия описана в наборе 7707329152-debtam; в карточке значение/детализация могут отсутствовать. |
Налоговые правонарушения: offense_yearcode, offensesum; подробный массив offense | Год; сумма штрафов в рублях | Публикуемый срез ФНС. Не равен общей задолженности и не означает, что все нарушения организации раскрыты; используйте набор 7707329152-taxoffence. |
Среднесписочная численность: sschr_yearcode, sschr; подробный массив sschr | Год; число человек | Публикуемый показатель численности. Может быть пустым; единица — человек, не штатные единицы. Первичный файловый набор — 7707329152-sshr2019. |
Уплаченные налоги и сборы: taxpay_yearcode, taxpaysum; подробный массив taxpay | Год; сумма в рублях | Публикуемый годовой срез. Не путать с начислениями, задолженностью или бюджетными поступлениями; для файлов и методики — 7707329152-paytax. |
Доходы и расходы: form1_yearcode, поля дохода/расхода в блоке form1, возможная ссылка bourl | Год; денежные суммы в рублях; URL | Витрина показывает свод «доход/расход» по данным бухгалтерской отчётности. Детализацию форм и официальный доступ берите из ГИР БО; файловый срез — 7707329152-revexp. У части ЮЛ может быть «нет обязанности» либо нет сведений. |
Карточка индивидуального предпринимателя
ИП использует иной шаблон (type: 2). Общие с ЮЛ смысловые поля — идентификатор, статус, налоговый орган, ОКВЭД, МСП, участие в ЭДО и специальные режимы; наименования полей отличаются.
| Блок и поля | Тип, единицы | Отличие от ЮЛ и пустоты |
|---|---|---|
ФИО и идентификаторы: Фамилия, Имя, Отчество, ИННФЛ, ОГРНИП, ДатаОГРНИП, ДатаПостУч | Строки; даты; ИНН/ОГРНИП — строки цифр | Вместо названия ЮЛ и ОГРН. Отчество и отдельные даты могут отсутствовать. |
Гражданство, статус, учёт: ВидГражд, НаимСтатусСокр, НаимСтатус, ДатаСтатус, КодНО/НаимНО, КодРО/НаимРО | Строки, коды, дата | Статус ИП и регистрация по месту жительства; не переносите в модель поля ЮЛ (КПП, уставный капитал, учредители). |
Деятельность: КодОКВЭД, НаимОКВЭД, ТипОКВЭД, okved2dolyaex, okved2ex | Строки/массивы | Те же два представления ОКВЭД, что в карточке ЮЛ; коды — ключ для отраслевых срезов. |
МСП и режим: rsmpcategory, rsmpdate, hastaxmode, ausn, eshn, psn, npd, usn, taxmode_yearcode, taxmode_periodcode | Код, дата, флаги | Для ИП интерфейс перечисляет АУСН, ЕСХН, ПСН, НПД и УСН. Отсутствие значения не доказывает неприменение режима без указанного периода. |
В текущем шаблоне ИП нет блоков учредителей/уставного капитала, сводных доходов и расходов бухгалтерской отчётности, уплаченных налогов, задолженности/пеней, правонарушений и среднесписочной численности, которые показываются условно для ЮЛ. Не подставляйте в эти пропуски нули.
Отраслевые нормативные показатели
Это не универсальный классификатор отраслей. На дату проверки страница фиксирует единственную отрасль «Клининг и техническая эксплуатация», с кодом фильтра 81.1; описание охватывает основные заявленные ОКВЭД 81.1 и/или 81.2 и только лиц, давших специальное согласие на раскрытие. Интерфейс заявляет ежемесячный расчёт.
| Поле записи | Тип, единица | Смысл, источник и пустоты |
|---|---|---|
name, inn | строка; ИНН — строки цифр | Наименование/ФИО и ключ участника. Связка с карточкой — по ИНН. |
industry, region, okved | строка | Отрасль, субъект РФ и ОКВЭД. По состоянию страницы отрасль фиксирована; регион/ОКВЭД могут быть пусты в ответе. |
rsmp, sn | строка | Категория МСП с доходом не более 500 млн руб. и режим налогообложения в представлении сервиса. |
year, quarter | число; квартал необязателен | Период записи: если quarter отсутствует, интерфейс показывает только год. |
dohod | число, рубли | Сумма дохода за период. Ноль выводится как «отсутствуют доходы», поэтому нельзя делить на него и интерпретировать как пропуск. |
fsfn | число, % | Фактическая совокупная фискальная нагрузка. При нулевом доходе интерфейс вместо значения показывает текст. |
nsfn | число, % | Нормативная совокупная фискальная нагрузка, уменьшенная на 20%. |
osfn | число, процентные пункты | Отклонение фактической нагрузки от нормативной, уменьшенной на 20%; может быть отрицательным, положительным или пустым. |
Интерфейс описывает методику: совокупная фискальная нагрузка — отношение исчисленных налогов и взносов к доходам за квартал/год; состав налогов и источники дохода различаются для общего режима и УСН. Нормативные показатели приведены в письме ФНС, на которое ссылается сама страница. Это ориентир риск-анализа, а не доказательство нарушения.
Калькулятор налоговой нагрузки
Калькулятор предназначен для организаций на общем режиме налогообложения. Вводимые деньги — в тысячах рублей, а не в рублях. Периоды, доступные на странице при проверке: 2022–2024.
| Вход / выход | Поля и тип | Методика и ограничения |
|---|---|---|
| Параметры ориентира | PERIOD (год), OKVED (код ОКВЭД), REGION (код/выбор региона), SCL (масштаб деятельности, необязателен) | Первые три обязательны. Справочники кодов подгружаются интерфейсом и не задокументированы как внешний API. |
| Фактический ввод | CALC_DOH, CALC_FACT, CALC_PRIB, CALC_NDS, CALC_NDPI, CALC_NDFL, CALC_SV — числа, тыс. руб. | Доход; общая сумма уплаченных налогов, сборов и взносов; в том числе налог на прибыль, НДС, НДПИ/акцизы, НДФЛ и страховые взносы. Не передавайте форматированные строки с пробелами без проверки интерфейса. |
| Среднеотраслевой ответ | fisk, snr_ndpi, snr, nr_prib, nr_nds, ndfl, sv, rent — числа, %; srzp — число, руб./месяц | Фискальная нагрузка, совокупная с/без НДПИ и акцизов, нагрузки по видам, рентабельность продаж и средняя зарплата. Пустое значение выводится пустым или **; не заменяйте его нулём. |
| Фактический ответ и отклонение | FACT_FISK, FACT_SNR_NDPI, FACT_SNR, FACT_NR_PRIB, FACT_NR_NDS, FACT_NDFL, FACT_SV — %; соответствующие DIV_* — п.п. | Сравнение ввода с ориентиром. Интерфейс указывает формулу фискальной нагрузки: сумма уплаченных налогов, сборов и страховых взносов без дивидендов / доходы за год × 100%. |
Связь с каталогом открытых данных ФНС
Страница /od.html прямо перенаправляет читателя к внешнему каталогу https://www.nalog.gov.ru/opendata/ и не публикует на своём домене ни файлы, ни паспорт набора, ни URL загрузки. Карточка субъекта может показывать сведения из наборов, но не заменяет их.
| Блок карточки pb.nalog.ru | Внешний набор / карточка wiki | Ключ и различие |
|---|---|---|
| Специальные режимы | 7707329152-snr | ИНН и период; карточка показывает результат для одного субъекта, набор — файловый срез. |
| Недоимка, пени и штрафы | 7707329152-debtam | ИНН и год/период; сумма в карточке не заменяет файл и его паспорт. |
| Налоговые правонарушения | 7707329152-taxoffence | ИНН и год; самостоятельный показатель, не часть долга. |
| Среднесписочная численность | 7707329152-sshr2019 | ИНН и год; единица измерения — человек. |
| Уплаченные налоги и сборы | 7707329152-paytax | ИНН и год; не смешивать с начислением или недоимкой. |
| Доходы и расходы | 7707329152-revexp и ГИР БО | ИНН/ОГРН и год; ГИР БО нужен для форм и более полного бухгалтерского контекста. |
Машиночитаемые форматы и каналы доступа
- HTML — основной поддерживаемый канал. Он подходит для интерактивного поиска одного субъекта и ручной проверки отображаемой даты/периода.
- Внутренний JSON/XHR — только техническая деталь интерфейса. Формы сайта на дату проверки отправляли запросы к
search-proc.json,company-proc.json,calculator-proc.json?c=searchиindicator-proc.json. Это адреса, извлечённые из HTML/JavaScript сайта, а не опубликованная спецификация: они могут измениться без предупреждения, требуют временныеid/tokenи могут вернуть CAPTCHA либоpbRateLimit. - Внешние файлы — не на pb.nalog.ru.
/od.htmlне отдаёт CSV/XML/XLSX; за массовыми данными переходите в каталог открытых данных ФНС и к конкретным карточкам наборов. - Внешние сервисы — отдельные системы. Ссылки в меню на
service.nalog.ru, ЕГРЮЛ, личные кабинеты и НПД не делают их эндпоинтами pb.nalog.ru.
Ограничения автоматизации: CAPTCHA, заявленный интерфейсом лимит частоты, асинхронная подготовка результата, временные токены, отсутствие опубликованных схем полей/версии API, изменение HTML и клиентского JavaScript. Не запускайте параллельный или непрерывный опрос и не обходите защитные механизмы.
Периодичность обновления
Единой периодичности нет. Сайт показывает период у конкретного блока: часть сведений из открытых данных отмечена как ежемесячная или годовая, отраслевые показатели интерфейс называет ежемесячно рассчитываемыми, а реестровые реквизиты обновляются по обработке регистрационных данных. Для повторяемого ряда берите периодичность из паспорта соответствующего набора, а не по дате открытия карточки.
Ограничения и особенности
- Карточка — снимок представления ФНС, а не доказательство юридического статуса на дату сделки. Для официальной выписки используйте ЕГРЮЛ/ЕГРИП.
- «Сведения отсутствуют», «нет обязанности», пустое поле и числовой ноль — разные состояния. Сохраняйте их раздельно вместе с годом/периодом и датой извлечения.
tokenиidиз внутренних ответов краткоживущие; не используйте их в качестве ссылки, первичного ключа или идентификатора сущности.- Карточка не покрывает все организации одинаково: часть налоговых, финансовых и регистрационных блоков зависит от типа субъекта, периода и доступности публикации.
- Отклонение от отраслевого ориентира и результат калькулятора — аналитический сигнал, но не подтверждение нарушения и не готовое решение для контроля.
Примеры доступа
1. Получить карточку через веб-интерфейс — рекомендуемый путь
- Откройте https://pb.nalog.ru/.
- Выберите «Организации» либо «Индивидуальный предприниматель (ИП)».
- Введите ИНН, ОГРН/ОГРНИП или допустимый текстовый запрос и откройте строку результата.
- Зафиксируйте ИНН, ОГРН/ОГРНИП, дату/период каждого показателя и факт отсутствия/наличия блока; не сохраняйте
tokenиз URL карточки.
Это единственный канал, который сервис явно предоставляет пользователю для просмотра карточки.
2. Однократный внутренний запрос поиска — шаблон, проверьте на актуальной версии сайта
Ниже приведён не публичный API, а минимальный технический пример потока, который использовала страница search.html при проверке 2026-07-19. Он запрашивает один ИНН, ждёт асинхронный результат и прекращает работу при ошибке. CAPTCHA или pbRateLimit — нормальный результат защиты; не обходите их и вернитесь к браузеру.
pb_inn='7707329152' # пример: ИНН ФНС России; замените на один разрешённый запрос
pb_request=$(curl --compressed --silent --show-error --location \
--referer 'https://pb.nalog.ru/search.html' \
--data-urlencode 'mode=search-ul' \
--data-urlencode "queryUl=$pb_inn" \
--data-urlencode 'page=1' \
--data-urlencode 'pageSize=10' \
'https://pb.nalog.ru/search-proc.json')
pb_request_id=$(printf '%s' "$pb_request" | node -e '
let text = ""; process.stdin.on("data", c => text += c).on("end", () => {
const value = JSON.parse(text);
if (!value.id || value.captchaRequired) process.exit(2);
process.stdout.write(value.id);
});
') || { printf '%s\n' 'Сайт запросил CAPTCHA или изменил ответ; продолжайте в браузере.' >&2; exit 1; }
for pb_attempt in $(seq 1 20); do
pb_result=$(curl --compressed --silent --show-error --location \
--referer 'https://pb.nalog.ru/search.html' \
--data-urlencode "id=$pb_request_id" \
--data-urlencode 'method=get-response' \
'https://pb.nalog.ru/search-proc.json')
[ "$pb_result" = 'null' ] || break
sleep 2
done
printf '%s\n' "$pb_result"
Ожидаемая форма успешного ответа для ЮЛ — объект ul с data (массив строк) и rowCount; для ИП — ip. В ответе нет стабильной схемы и версии, поэтому перед обработкой валидируйте типы и наличие ключей.
3. Проверить и нормализовать ответ внутреннего поиска
Этот пример работает с JSON, уже сохранённым из предыдущего однократного запроса в pb-search-result.json; он не обращается к сайту и не предполагает несуществующих полей.
// node normalize-pb-search.mjs < pb-search-result.json
let text = '';
for await (const chunk of process.stdin) text += chunk;
const payload = JSON.parse(text);
const group = payload.ul ?? payload.ip;
if (!group || !Array.isArray(group.data)) {
throw new Error('Ожидался результат ul или ip с массивом data');
}
for (const row of group.data) {
const inn = String(row.inn ?? '');
const ogrnOrOgrnip = String(row.ogrn ?? '');
if (!/^\d{10}(\d{2})?$/.test(inn) || !/^\d{13}(\d{2})?$/.test(ogrnOrOgrnip)) {
throw new Error(`Неверный идентификатор в строке поиска: ${JSON.stringify(row)}`);
}
console.log(JSON.stringify({
inn,
ogrn_or_ogrnip: ogrnOrOgrnip,
name: row.namec || row.namep || null,
status: row.sulst_name_ex ?? (row.pr_sipst === '0' ? 'Действующий ИП' : null),
okved: row.okved2main ?? null,
source: 'pb.nalog.ru internal search response',
}));
}
Поле token намеренно не переносится в результат: оно временное. Проверка длины ИНН/ОГРН/ОГРНИП позволяет отбросить ошибочный или изменившийся ответ прежде, чем делать склейку.
4. Склейка с внешними наборами по ИНН/ОГРН — псевдокод
В pb.nalog.ru нет экспортируемого файла карточек, поэтому массовую основу берут из внешнего набора, а витрину используют для точечной верификации. Ниже <…> обозначают конкретные названия колонок выбранной выгрузки, которые нужно привести к общему псевдониму inn при чтении её схемы.
WITH contracts AS (
SELECT regexp_replace(<ИНН_поставщика_из_ЕИС>, '[^0-9]', '', 'g') AS inn, *
FROM <таблица_контрактов_ЕИС>
),
financials AS (
SELECT regexp_replace(<ИНН_из_ГИР_БО>, '[^0-9]', '', 'g') AS inn, *
FROM <таблица_ГИР_БО>
),
registry AS (
SELECT regexp_replace(<ИНН_из_ЕГРЮЛ_ЕГРИП>, '[^0-9]', '', 'g') AS inn, *
FROM <реестровая_выгрузка>
)
SELECT c.*, f.*, r.*
FROM contracts AS c
LEFT JOIN financials AS f USING (inn)
LEFT JOIN registry AS r USING (inn);
После склейки проверяйте ОГРН/ОГРНИП и дату среза. Данные ЕИС отвечают за контракт, ГИР БО — за бухгалтерские формы, а ЕГРЮЛ/ЕГРИП — за реестровую идентичность; pb.nalog.ru не подменяет ни один из этих источников.
5. Скачивание открытых данных
Для /od.html рабочего curl/wget примера нет, потому что эта страница не публикует файл и не даёт URL загрузки — она ведёт во внешний каталог ФНС. Не подменяйте отсутствующий пример выдуманным URL: выберите нужный набор в каталоге открытых данных ФНС, затем используйте проверенный URL и схему именно его паспорта.
Связанные страницы wiki
- Каталог открытых данных ФНС — файловые наборы
7707329152-*, на которые ссылаются отдельные блоки карточки. - ГИР БО (bo.nalog.gov.ru) — первичный публичный вход к бухгалтерским формам; углубляет свод доходов и расходов из витрины.
- ЕГРЮЛ и ЕГРИП — канонические регистрационные сведения и выписки по ИНН/ОГРН/ОГРНИП.
- Сведения о закупках и контрактах (ЕИС) — типичный источник ИНН поставщика для последующей точечной проверки на pb.nalog.ru.
- XML-выгрузки ЕИС — машиночитаемый контур контрактов, который безопаснее использовать для массовой склейки.
- ФНС России — оператор витрины, открытых данных и реестровых публичных сервисов.
Не путать с
- Открытые данные ФНС — каталог файлов и паспортов наборов, а не интерактивная карточка субъекта;
/od.htmlлишь ведёт к этому каталогу. - ЕГРЮЛ/ЕГРИП — реестровый сервис и выписки, а не агрегированное представление показателей «Прозрачного бизнеса».
- ГИР БО — источник бухгалтерской отчётности и форм; pb.nalog.ru показывает только сокращённый блок доходов/расходов, если он доступен.
- Налоговая статистика ФНС — агрегаты по формам и территориям, не построчные карточки налогоплательщиков.
Сводка для машинной обработки
primary_url: "https://pb.nalog.ru/"
sections:
search:
url: "https://pb.nalog.ru/"
format: "html + internal json"
stable: false
note: "CAPTCHA, rate limit, temporary id/token; no public API contract"
calculator:
url: "https://pb.nalog.ru/calculator.html"
format: "html + internal json"
stable: false
note: "organizations on the general taxation regime; user input is in thousand rubles"
indicator:
url: "https://pb.nalog.ru/indicator.html"
format: "html + internal json"
stable: false
note: "currently cleaning and technical operation, OKVED 81.1/81.2, consent-based disclosure"
opendata:
url: "https://pb.nalog.ru/od.html"
format: "html link to external catalog"
stable: true
note: "does not publish data files on pb.nalog.ru"
grade:
url: "https://pb.nalog.ru/grade.html"
format: "html links"
stable: true
note: "assessment results are accessed through external personal-account services"
formats: [html, json]
join_keys: [inn, ogrn, ogrnip, okved]
update_cadence: "varies by block; registry updates, annual/monthly open-data slices; no single calendar"
machine_access:
public_api: false
internal_json: true
internal_json_contract: false
html_parsing: true
downloadable_files_on_pb_nalog_ru: false
known_limits:
- "CAPTCHA and rate limiting are part of the interface flow"
- "company token and asynchronous request id are temporary and must not be stored as identifiers"
- "empty, absent, no-obligation, and numeric zero are different states"
- "card composition differs for legal entities and individual entrepreneurs"
- "mass data should come from the external FNS open-data catalog or specialised systems"
Частые вопросы
В: Можно ли считать search-proc.json или company-proc.json API ФНС?
О: Нет. Это внутренние адреса, которые использовал веб-интерфейс на дату проверки. Для них нет опубликованной схемы, версии или обещания совместимости; CAPTCHA, лимит и временные токены прямо исключают использование как устойчивого массового API.
В: Если в карточке нет блока долга или доходов, это ноль?
О: Нет. Это может означать отсутствие сведений, другой период, неприменимость блока или отсутствие обязанности. Сохраняйте исходный статус интерфейса и проверяйте файловый набор/ГИР БО по конкретной задаче.
В: Какой ключ использовать для связи с закупками?
О: Нормализованный ИНН, с проверкой ОГРН/ОГРНИП и даты среза. Наименование и временный token для такой связи не подходят.