# Russian Conformity Certificates and Declarations by INN (`isolovyev/ru-conformity-check`) Actor

Check which Russian conformity certificates and declarations a company holds. One INN returns its documents from the state accreditation registry, as applicant and as manufacturer.

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

## Pricing

from $50.00 / 1,000 company checkeds

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 Conformity Documents by INN

<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">Does this supplier actually hold conformity documents?</span><br>
<span style="font-size:15px;color:#4B5563;line-height:1.6">Nearly every product sold in Russia needs a certificate or a declaration of conformity, and both are recorded by the national accreditation service. Give this Actor a company INN and get back the documents registered to it: number, status, dates, product group and the technical regulations behind them.</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">📋 Both registries</span><br>
<span style="font-size:12px;color:#57534E">Certificates and declarations together, and declarations are 16 of every 17 documents</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">🎭 Both roles</span><br>
<span style="font-size:12px;color:#57534E">Matches the company as applicant and as manufacturer, and says which one</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">⚡ Answers instantly</span><br>
<span style="font-size:12px;color:#57534E">Built once into an INN index, so a lookup is a read, not a crawl</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">🏛️ State source</span><br>
<span style="font-size:12px;color:#57534E">Open data of the national accreditation service, not a copied directory</span>
</td>
</tr>
</table>

The registry itself is searchable by document, not by company. This Actor turns it around: it reads
the published snapshots once, indexes them by INN, and then answers company questions directly.

### Input

| Field | Description |
|---|---|
| `inns` | Russian organization INNs, checked as applicant and as manufacturer |
| `proxyConfiguration` | Apify Residential proxy, country RU |

```json
{
  "inns": ["7734636226"]
}
```

### Output

One record per INN, with the documents split by kind.

```json
{
  "inn": "7734636226",
  "hasDocuments": true,
  "documentsCount": 35,
  "certificates": [
    {
      "docType": "certificate",
      "number": "ЕАЭС RU С-CN.НВ18.А.02385/23",
      "status": "Архивный",
      "registeredAt": "15.05.2023",
      "validUntil": "14.05.2026",
      "productGroup": "Сапоги, сапожки, полусапожки",
      "applicantName": "АКЦИОНЕРНОЕ ОБЩЕСТВО ...",
      "matchedAs": "applicant"
    }
  ],
  "declarations": [],
  "indexBuiltAt": "2026-08-18T09:00:00+00:00",
  "sources": ["fsa.gov.ru/opendata"],
  "partial": false
}
```

`hasDocuments` is `null`, never `false`, when the index has not been built yet: a missing index is
not evidence that a company holds nothing.

### Who uses it

- **Supplier due diligence.** Confirm that the products a counterparty sells are covered by
  registered documents, and see whether those documents are current or archived.
- **Marketplace and retail onboarding.** Check a seller's paperwork before listing their goods.
- **Import and customs work.** Find the document behind a product group, with its technical
  regulations and certification body.
- **Competitive research.** See what a competitor certified, when, and for which product groups.

### Coverage

The source publishes monthly snapshots of both registries. The index covers the most recent months,
which is where current documents live: certificates and declarations run three to five years, so a
company that is active today appears here. Very old paperwork, registered years ago and long since
expired, sits in the source's historical archives and is deliberately left out.

### Русский

Актор отвечает, какие документы о соответствии зарегистрированы на компанию: сертификаты и
декларации, по ИНН, сразу в двух ролях - заявитель и изготовитель. Реестр устроен как поиск по
документам, поэтому актор один раз строит индекс по ИНН из опубликованных срезов и дальше отвечает
из него.

По каждому ИНН возвращаются номер документа, статус, дата регистрации и срок действия, группа
продукции, технические регламенты и орган по сертификации. Значение `hasDocuments: null` означает,
что индекс ещё не собран, и это не то же самое, что «у компании документов нет».

***

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

<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: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-counterparty-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">5 источников, скоринг риска</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-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>
<tr>
<td style="padding:0;width:33.33%;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-product-cards" 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">название, фото и характеристики с 17 магазинов по ссылке или названию</span>
</a>
</td>
<td style="padding:0;width:33.33%;background:#FFFFFF;border:1px solid #E0E7FF;border-left:none;border-top:3px solid #4F46E5;vertical-align:top">
<a href="https://apify.com/isolovyev/ru-egrz-expertise" 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:14px 12px;width:33.33%;background:#EEF2FF;border:1px solid #C7D2FE;border-left:none;border-top:3px solid #4F46E5;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:13px;font-weight:800;color:#1E1B4B">📋 Сертификаты и декларации</span><br>
<span style="font-size:11px;color:#57534E">документы о соответствии по ИНН: заявитель и изготовитель</span><br>
<span style="font-size:10px;font-weight:800;color:#4F46E5;letter-spacing:0.5px">● ВЫ ЗДЕСЬ</span>
</td>
</tr>
</table>

# Actor input Schema

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

Russian organization INNs. Each one is checked as both the applicant and the manufacturer named on the document.

## `rebuildIndex` (type: `boolean`):

Service mode: re-read every registry snapshot and rewrite the index from scratch. The index is kept up to date for you, so a normal lookup never needs this.

## `indexMonths` (type: `integer`):

Service mode only: how many monthly snapshots of each registry to index, newest first.

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

Required: Apify Residential proxy with country RU. The source serves the open-data files only to Russian IP addresses.

## Actor input object example

```json
{
  "inns": [
    "7734636226"
  ],
  "rebuildIndex": false,
  "indexMonths": 21,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}
```

# Actor output Schema

## `companies` (type: `string`):

Each item is one INN from the input, with the certificates and declarations registered to it as applicant or as manufacturer.

# 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": [
        "7734636226"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "RU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("isolovyev/ru-conformity-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": ["7734636226"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "RU",
    },
}

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

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).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": [
    "7734636226"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}' |
apify call isolovyev/ru-conformity-check --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,isolovyev/ru-conformity-check"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/KiRlkk0tFUrhC3Y89/builds/musx9merQO0BNxxSd/openapi.json
