# Russian Counterparty Check by INN: Fedresurs + FNS Risk Score (`isolovyev/ru-counterparty-check`) Actor

Check a Russian company by INN across Fedresurs, FNS (Prozrachny Biznes + GIR BO), the RNP unreliable-supplier registry, the Rosfinmonitoring list and MChS fire-safety declarations, in one record with a transparent risk score and change monitoring.

- **URL**: https://apify.com/isolovyev/ru-counterparty-check.md
- **Developed by:** [Ivan Solovyev](https://apify.com/isolovyev) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🔍 Russian Counterparty Check by INN - Fedresurs + FNS + RNP + Rosfinmonitoring + MChS

<table width="100%">
<tr>
<td style="padding:24px 28px;background:#EEF2FF;border:1px solid #C7D2FE;border-top:4px solid #4F46E5;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1E1B4B;line-height:1.3">One INN in, a full B2B due-diligence dossier out - five official sources merged into one transparent risk score.</span><br>
<span style="font-size:15px;color:#4B5563;line-height:1.6">Fedresurs, ФНС, ГИР БО, РНП, Rosfinmonitoring and MChS in a single record per company, with a self-documenting 0-100 risk score - every signal shown, its source and its weight, no black box.</span>
</td>
</tr>
</table>

<table width="100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">🏦 5 official sources</span><br>
<span style="font-size:12px;color:#57534E">Федресурс, ФНС/ГИР БО, РНП, Росфинмониторинг, МЧС merged</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">📊 Transparent score</span><br>
<span style="font-size:12px;color:#57534E">0-100 risk score, every factor and weight listed</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">⚖️ Bankruptcy &amp; courts</span><br>
<span style="font-size:12px;color:#57534E">intention notices, arbitration cases, liquidation</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#4338CA">💵 Financials</span><br>
<span style="font-size:12px;color:#57534E">revenue, profit, taxes and headcount by year</span>
</td>
</tr>
</table>

### ✨ Data sources

Look up a Russian company by **INN** (or name, fedresurs-only) across **five official sources** and
get one merged B2B due-diligence record with a transparent risk score:

- **[fedresurs.ru](https://www.fedresurs.ru)** (ЕФРСБ, Unified Federal Register of Bankruptcy
  Information): bankruptcy intention notices and arbitration legal cases, ЕФРСБ publications
  (incl. liquidation notices), encumbrances (pledges/leasing/guarantees), net worth history,
  licenses, СРО membership, reorganizations, and (if the company is itself a bankrupt debtor) open
  auctions, pledged-asset sales, receivables sales.
- **ФНС «Прозрачный бизнес» (pb.nalog.ru) + ГИР БО (bo.nalog.gov.ru)**: tax arrears with sums,
  mass-address flag, special tax regimes, headcount (ССЧ), taxes paid, recorded tax offenses,
  founders (with a mass-founder flag), and financial statements by year (revenue/profit/assets/
  liabilities).
- **zakupki.gov.ru РНП** (реестр недобросовестных поставщиков): whether the company is listed as
  an unreliable supplier under 44-ФЗ, 223-ФЗ or ПП РФ 615, with the registry number, reason and
  status of every entry.
- **Rosfinmonitoring list ([fedsfm.ru](https://www.fedsfm.ru), 115-ФЗ)**: whether the company, its
  director or a founder appears in the Rosfinmonitoring register, with the matched entry and a link
  to the source.
- **Fire safety declarations ([digital.mchs.gov.ru](https://digital.mchs.gov.ru))**: registered
  fire-safety declarations for the company's declared objects (object name, address, registration
  date). Reference information about the company - it does not affect the risk score.

All five sources are merged into **one record per company**, plus a self-documenting `riskScore`
(0-100), `riskLevel` (low/medium/high) and `riskFactors[]` listing every signal that fired, its
source and its weight, no black box.

### 🚀 How to use

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF2FF;border:1px solid #C7D2FE;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1E1B4B">Enter an INN or company name</span><br>
<span style="font-size:12px;color:#4B5563">Use INN for all sources, or a name for a Fedresurs-led lookup.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF2FF;border:1px solid #C7D2FE;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1E1B4B">Choose sources and run</span><br>
<span style="font-size:12px;color:#4B5563">Pull only the risk sections you need, or schedule a monitor.</span>
</td>
<td style="padding:16px 14px;width:34%;background:#EEF2FF;border:1px solid #C7D2FE;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1E1B4B">Review the evidence</span><br>
<span style="font-size:12px;color:#4B5563">Export the merged dossier with every risk signal, source and weight.</span>
</td>
</tr>
</table>

### ✨ Why five sources merged

fedresurs.ru knows whether a company is in bankruptcy proceedings, but says nothing about its tax
debts, ownership or procurement history. ФНС knows tax arrears, financials and founders, but not
bankruptcy stage or ЕФРСБ publications. zakupki.gov.ru's РНП knows whether the company has broken
a government contract badly enough to be blacklisted, something neither of the other two sources
tracks. The Rosfinmonitoring register adds a regulatory-compliance flag none of the other three carry.
МЧС adds reference-only fire-safety declaration records for the company's own objects.
A real due-diligence check needs all of this before signing a contract or extending credit;
running separate actors and reconciling them by hand is the alternative this actor replaces.

### ⚙️ Modes

- **search** - one-off due-diligence profile per company in `inns` / `searchStrings`.
- **monitor** - run on a schedule; compares against the previous run's state (Key-Value Store) and
  emits only companies whose risk score/level, bankruptcy stage, legal-case count, tax arrears,
  mass-address flag, headcount, ЕГРЮЛ/ФНС status, liquidation flag, mass-founder flag, РНП
  listing or Rosfinmonitoring listing changed. Optionally POSTs a summary to `notifyWebhookUrl` (wire it to n8n/Zapier/Make
  for Telegram/Slack alerts).

### ⚙️ Input

| Field | Description |
|---|---|
| `mode` | `search` or `monitor` |
| `inns` | INN/OGRN list. The only key the nalog/rnp sources can use; also fedresurs.ru's native exact-match key |
| `searchStrings` | Optional company names (fuzzy, fedresurs-only; once resolved to an INN, nalog/rnp are looked up too) |
| `sources` | Which sources to check and merge: `fedresurs`, `nalog`, `rnp`, `rosfinmonitoring`, `mchs`, or any combination (default: all five) |
| `maxMatchesPerName` | How many fedresurs.ru search results to fetch per name query (default 1) |
| `fedresursSections` | Which fedresurs.ru risk sections to pull (fewer = faster/cheaper) |
| `nalogSections` | Which ФНС blocks to pull: `identity`/`taxRisk`/`founders`/`financials` |
| `notifyWebhookUrl` | Monitor mode: webhook for the run summary |
| `proxyConfiguration` | Apify Residential proxy with country RU, required on Apify for all sources |

### 📊 Risk score

`riskScore` is a plain additive sum of `riskFactors[].weight`, capped at 100. Every factor carries
`code`, `source` (`fedresurs`/`nalog`/`rnp`/`rosfinmonitoring`), `weight` and a human-readable `description` - the score is
fully reconstructable from `riskFactors[]`, nothing is hidden.

| Signal | Source | Weight |
|---|---|---|
| Active bankruptcy case (арбитражное дело) | fedresurs | 40 |
| Bankruptcy intention notice only, no case yet | fedresurs | 20 |
| 2+ bankruptcy legal cases | fedresurs | 10 |
| ЕГРЮЛ/ФНС status inactive or liquidated | fedresurs / nalog | 25 |
| Liquidation publication (ЕФРСБ) | fedresurs | 15 |
| Unreliable address (недостоверность адреса) | fedresurs | 15 |
| Unreliable director / disqualification marker | fedresurs | 15 |
| Encumbrances present (pledge/leasing/guarantee) | fedresurs | 5 |
| Tax arrears > 0 (10 if under 1M RUB, 20 if over) | nalog | 10-20 |
| Mass registration address | nalog | 10 |
| Recorded tax offenses | nalog | 10 |
| Zero headcount (ССЧ) | nalog | 5 |
| Negative profit in the latest reported year | nalog | 10 |
| Revenue dropped 30%+ year over year | nalog | 10 |
| Mass founder (ФНС's own массовый учредитель determination) | nalog | 15 |
| Listed in РНП (реестр недобросовестных поставщиков) | rnp | 30 |
| Listed in the Rosfinmonitoring register (115-ФЗ) | rosfinmonitoring | 60 |

`riskLevel`: low (score < 30), medium (30-59), high (60+). The `mchs` fire-safety declarations
section is reference-only and is not part of this table - it never adds to `riskScore`.

### 🔗 Identity merge

`name`/`inn`/`ogrn`/`address`/`status`/`okvedCode`/`okvedName` are merged once at the top level
(not duplicated per source): fedresurs wins when both sources report a value (richer, ЕГРЮЛ-sourced),
nalog fills in when fedresurs didn't run or found no match. A mismatch on `inn`/`ogrn`/`okvedCode`/`name`
between the two sources is flagged in `identityConflicts` - a real disagreement worth checking
(e.g. the wrong company matched on one side). `address`/`status` are excluded from conflict
detection: the two sources phrase the same fact differently by design, not a real disagreement.

### 🛡️ Graceful degradation

If one source fails outright for the whole run (network or proxy outage), the record still
ships with the other sources' data. The failed source's sub-record is `null`, its reason lands in
`sourceErrors`, and it is excluded from `sources` - which also means it is never billed (see
Pricing). A run never fails or returns an empty dataset just because one source had an outage,
as long as at least one other source is up.

### 🗺️ Requirements

Required on Apify: set `proxyConfiguration` to Apify Residential proxy with country RU (the default
in the input schema). All sources require a Russian IP; one setting covers every source. The person
who runs the Actor pays for the residential traffic. If a source is temporarily unavailable, the
Actor still returns the other sources and records what was skipped.

### 📤 Output

One dataset record per matched company - see `.actor/dataset_schema.json` for the full field list
and the built-in "Risk overview" table view.

### 👥 Для кого

| Вы… | Используйте, чтобы… |
|---|---|
| Отдел закупок | проверять контрагента перед договором |
| Кредитор / лизинг | оценивать риск дефолта заёмщика |
| Комплаенс | скрининг по 115-ФЗ и санкционным/недобросовестным спискам |
| Отдел продаж | квалифицировать B2B-лид по финансовому здоровью |

### ▶️ Quick start

**Search mode** - full due-diligence profile from all sources:

```json
{
  "mode": "search",
  "inns": ["0272023903"],
  "sources": ["fedresurs", "nalog", "rnp", "rosfinmonitoring", "mchs"]
}
```

`0272023903` (ООО ИМПУЛЬС) has an active bankruptcy case on fedresurs.ru and tax arrears on
pb.nalog.ru - a good smoke test for the sources and the merged risk score.

**Monitor mode** - alert on new risk signals on a schedule:

```json
{
  "mode": "monitor",
  "inns": ["7707083893"],
  "sources": ["fedresurs", "nalog", "rnp", "rosfinmonitoring", "mchs"],
  "notifyWebhookUrl": "https://example.com/hooks/dd-alerts"
}
```

Set a schedule under **Schedules** in the Apify Console to run `monitor` mode periodically. State
carries over between runs via the Key-Value Store.

### 💰 Pricing

Pay-per-result: one dataset-item event is charged per company record pushed to the Dataset,
regardless of how many sources contributed to it. A company for which every requested source
failed or found no match produces no record at all, so it's never charged. Trim `sources` to only
the source(s) you need, and `fedresursSections`/`nalogSections` to only the blocks you need, to cut
runtime (this does not change the per-record price).

### 🇷🇺 RU / На русском

**Проверка контрагента по ИНН: ФНС «Прозрачный бизнес», ГИР БО, Федресурс, РНП и Росфинмониторинг в одной записи с прозрачным риск-скором и мониторингом изменений.**

- **Пять источников в одной записи** - fedresurs.ru отдаёт банкротство (намерения и арбитражные дела),
  публикации ЕФРСБ, залоги/лизинг/поручительства, чистые активы, лицензии, СРО, реорганизации,
  торги; ФНС отдаёт налоговую недоимку (с суммой), признак массового адреса, спецрежимы,
  среднесписочную численность, уплаченные налоги, налоговые правонарушения, учредителей (с
  признаком массового учредителя) и финансы по годам (выручка/прибыль/активы/обязательства);
  zakupki.gov.ru отдаёт присутствие в РНП (реестр недобросовестных поставщиков, 44-ФЗ/223-ФЗ/ПП РФ
  615\) с номером записи, причиной и статусом; fedsfm.ru отдаёт присутствие компании, директора или
  учредителя в перечне Росфинмониторинга (115-ФЗ); digital.mchs.gov.ru отдаёт зарегистрированные
  декларации пожарной безопасности по объектам компании - справочно, без веса в риск-скоре.
- **Риск-скор прозрачно** - `riskScore` (0-100) и `riskLevel` (low/medium/high) складываются из
  `riskFactors[]` - списка сработавших сигналов с источником и весом каждого, никакого чёрного
  ящика. Таблица весов - в английском разделе выше (`## Risk score`).
- **Слияние идентичности** - `name`/`inn`/`ogrn`/`address`/`status`/`okvedCode`/`okvedName` собраны
  в одно поле каждое (не дублируются по источникам); при расхождении по ИНН/ОГРН/ОКВЭД/названию -
  это попадает в `identityConflicts` как повод для проверки.
- **Graceful degradation** - если один источник целиком упал (сеть или прокси), запись всё равно
  отдаётся с данными остальных источников, причина - в `sourceErrors`, упавший источник не
  тарифицируется и прогон не падает и не остаётся с пустым датасетом, пока жив хотя бы один
  источник.
- **Monitor** - сравнивает с предыдущим прогоном (Key-Value Store) и шлёт алерт только по
  компаниям, где изменился риск-скор/уровень, стадия банкротства, число дел, налоговая недоимка,
  массовый адрес, численность, статус, признак массового учредителя или присутствие в РНП, плюс
  вебхук-сводка.
- **Доступ** - все источники отдают данные только на российские IP, поэтому на Apify нужен
  Residential-прокси со страной RU (значение по умолчанию в схеме). Одна настройка покрывает все
  источники; трафик оплачивает тот, кто запускает актор.

**Как пользоваться:** основной ключ поиска - ИНН (принимают все источники); поиск по названию
(`searchStrings`) доступен для Федресурса, число совпадений регулирует `maxMatchesPerName`. Тариф
предсказуемый - **одно событие за компанию**, сколько бы источников ни сработало; компания без
данных не тарифицируется.

### 🔗 Все наши акторы для данных по России, Казахстану и СНГ

<span style="font-size:14px;color:#4B5563">Одна линейка для маркетплейсов, розничных сетей, госзакупок и проверки контрагентов - соседний актор открывается одним кликом по карточке.</span>

<table width="100%">
<tr>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-top:3px solid #4F46E5;border-radius:10px 0 0 10px;vertical-align:top">
<a href="https://apify.com/isolovyev/marketplace-seller-leads" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🛍️ Лиды продавцов маркетплейсов</span><br>
<span style="font-size:11px;color:#57534E">продавцы WB / Ozon / Яндекс.Маркет / Kaspi с ИНН и ОГРН</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/zakupki-tender-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">📄 Тендеры 44-ФЗ / 223-ФЗ</span><br>
<span style="font-size:11px;color:#57534E">госзакупки, нацрежим, реестр российского ПО</span>
</a>
</td>
<td style="padding:14px 12px;width:25%;background:#EEF2FF;border:1px solid #C7D2FE;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<span style="font-size:13px;font-weight:800;color:#1E1B4B">🔍 Проверка контрагента по ИНН</span><br>
<span style="font-size:11px;color:#57534E">5 источников, скоринг риска</span><br>
<span style="font-size:10px;font-weight:800;color:#4F46E5;letter-spacing:0.5px">● ВЫ ЗДЕСЬ</span>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;border-radius:0 10px 10px 0;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-software-registry-check" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🏛️ Реестр российского ПО</span><br>
<span style="font-size:11px;color:#57534E">проверка по ИНН + досье заявителя</span>
</a>
</td>
</tr>
<tr>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-top:3px solid #4F46E5;border-radius:10px 0 0 10px;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-marketplaces-price-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">📈 Цены на маркетплейсах</span><br>
<span style="font-size:11px;color:#57534E">WB / Ozon / Яндекс.Маркет / Avito, трекинг цены</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/kaspi-price-monitor" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🇰🇿 Цены и позиции на Kaspi.kz</span><br>
<span style="font-size:11px;color:#57534E">Казахстан, позиция в выдаче и цена</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-retail-chains-scraper" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🏪 Розничные сети РФ</span><br>
<span style="font-size:11px;color:#57534E">Магнит, Метро, М.Видео, Дикси, Глобус, Купер в единой схеме</span>
</a>
</td>
<td style="padding:0;width:25%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;border-radius:0 10px 10px 0;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-retail-chains-extended" style="display:block;padding:14px 12px;text-decoration:none">
<span style="font-size:13px;font-weight:800;color:#4338CA">🛒 Ашан: цены и остатки</span><br>
<span style="font-size:11px;color:#57534E">цена, старая цена, остаток в штуках, рейтинг</span>
</a>
</td>
</tr>
</table>

### 💬 Вопросы и поддержка

Нашли ошибку или есть вопрос? Откройте тикет на вкладке **Issues** этого актора.

# Actor input Schema

## `mode` (type: `string`):

search = one-off risk profile per company. monitor = compare vs the previous run (needs a schedule) and emit only companies whose bankruptcy stage, legal-case count or publications changed, with webhook.

## `inns` (type: `array`):

Company INN (10 digits) or OGRN to look up. Exact-match native key on fedresurs.ru - the recommended way to identify a company unambiguously. Also the ONLY key the nalog source can use (pb.nalog.ru/bo.nalog.gov.ru have no name search) - a name-only query (searchStrings) is fedresurs-only.

## `searchStrings` (type: `array`):

Optional. Company name to search when you don't have the INN. fedresurs.ru's own search may return several matches for a name - the actor takes up to 'Max matches per name' of them, each flagged with matchedQuery so you can tell which search string found it. Fedresurs-only: once fedresurs resolves a name to an INN, the nalog source is looked up for that INN too.

## `sources` (type: `array`):

Which official sources to check per company and merge into one record. fedresurs = fedresurs.ru (ЕФРСБ): bankruptcy, publications, encumbrances, net worth. nalog = pb.nalog.ru + bo.nalog.gov.ru (ФНС «Прозрачный бизнес» + ГИР БО): tax arrears, mass address, headcount, financials by year, founders. rnp = zakupki.gov.ru: реестр недобросовестных поставщиков (44-ФЗ/223-ФЗ/ПП РФ 615). rosfinmonitoring = fedsfm.ru: перечень организаций и физических лиц Росфинмониторинга (115-ФЗ), проверяется компания по ИНН/ОГРН и директор/учредители по ФИО. mchs = digital.mchs.gov.ru: зарегистрированные декларации пожарной безопасности (справочно, не влияет на risk score). All five by default for a full profile.

## `maxMatchesPerName` (type: `integer`):

For each entry in 'Company names', how many of fedresurs.ru's search results to fetch a full risk profile for (name search is fuzzy and can return multiple companies).

## `fedresursSections` (type: `array`):

Which fedresurs.ru risk sections to pull per company (only used when 'fedresurs' is in Due diligence sources). Fewer sections = faster/cheaper run. Identity (name/INN/OGRN/status/address/legal form/director/unreliable-info flags) is always included.

## `nalogSections` (type: `array`):

Which ФНС blocks to pull per company (only used when 'nalog' is in Due diligence sources). 'identity'/'taxRisk'/'founders' share one pb.nalog.ru call (founders adds no extra request); 'financials' is a separate bo.nalog.gov.ru call - drop it for a faster/cheaper run if you only need risk markers.

## `notifyWebhookUrl` (type: `string`):

Monitor mode: POST the run summary (counts, changed companies) to this URL - wire it to n8n/Zapier/Make for Telegram/Slack risk alerts.

## `proxyConfiguration` (type: `object`):

Required on Apify: set proxyConfiguration to Apify Residential proxy with country RU. All sources require a Russian IP.

## Actor input object example

```json
{
  "mode": "search",
  "inns": [
    "7707083893"
  ],
  "sources": [
    "fedresurs",
    "nalog",
    "rnp",
    "rosfinmonitoring",
    "mchs"
  ],
  "maxMatchesPerName": 1,
  "fedresursSections": [
    "bankruptcy",
    "publications",
    "encumbrances",
    "networth",
    "licenses",
    "sro_membership",
    "reorganizations",
    "biddings",
    "pledged_subjects",
    "receivables"
  ],
  "nalogSections": [
    "identity",
    "taxRisk",
    "founders",
    "financials"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "inns": [
        "7707083893"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "RU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("isolovyev/ru-counterparty-check").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "inns": ["7707083893"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "RU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("isolovyev/ru-counterparty-check").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "inns": [
    "7707083893"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}' |
apify call isolovyev/ru-counterparty-check --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=isolovyev/ru-counterparty-check",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/kQhEXKyCXsS8Ncqpq/builds/mVIa1hYG5XDOBggzK/openapi.json
