# Consulta CNPJ em Lote + Sanções CEIS/CNEP (Brazil KYB) (`br-intelligence/brazil-cnpj-kyb-sanctions`) Actor

Consulta CNPJ em lote: dados da Receita Federal, sanções CEIS/CNEP da CGU e nota de risco 0-100 por empresa. Bulk Brazil KYB: CNPJ registry, government sanctions and explainable risk score. Sem nomes de sócios (LGPD).

- **URL**: https://apify.com/br-intelligence/brazil-cnpj-kyb-sanctions.md
- **Developed by:** [BR Intelligence](https://apify.com/br-intelligence) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $10.00 / 1,000 company checkeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Consulta CNPJ em Lote + Sanções CEIS/CNEP (Brazil KYB)

**Consulte empresas brasileiras em lote pelo CNPJ** e receba, em uma linha por empresa:

- **Dados da Receita Federal:** razão social, nome fantasia, situação cadastral (ATIVA, BAIXADA, INAPTA...), data de abertura e idade, porte, natureza jurídica, capital social, CNAE principal, UF, município, CEP, matriz ou filial, **quantidade e cargos dos sócios**.
- **Sanções do governo (CGU):** **CEIS** (empresas inidôneas e suspensas, impedidas de contratar com o poder público) e **CNEP** (empresas punidas pela Lei Anticorrupção 12.846/2013). Sanções vigentes e encerradas, com lista, categoria, órgão sancionador e datas. A busca é pela raiz do CNPJ, então sanções em qualquer filial aparecem.
- **Nota de risco de 0 a 100** (baixo / moderado / alto) com todos os fatores explicados. Sanção vigente limita a nota a 30 (risco alto).

**Para que serve:** homologação e cadastro de **fornecedores**, **KYB / due diligence**, **compliance e anticorrupção**, pré-análise de crédito B2B, **limpeza de listas** (remover empresas baixadas ou sancionadas) e verificação de clientes e parceiros.

### Como usar

Cole a lista de CNPJs (com ou sem pontuação; formato numérico ou o novo **CNPJ alfanumérico**) e clique em **Start**. Até 5.000 por execução. Exporte em **Excel, CSV ou JSON**, ou use pela API, Make, Zapier ou n8n.

```json
{ "cnpjs": ["19.131.243/0001-97", "00000000000191"] }
```

### Preço

Você paga **por empresa consultada com sucesso** (empresa encontrada **e** sanções verificadas). **CNPJ inválido, repetido, não encontrado ou falha da fonte não é cobrado.** O limite de gasto que você definir é sempre respeitado.

### Campos do resultado

| Campo | Descrição |
|---|---|
| `cnpj`, `found` | CNPJ normalizado e se existe na base |
| `legalName`, `tradeName`, `registrationStatus`, `openedAt`, `ageYears` | Dados básicos do cadastro |
| `size`, `legalNature`, `shareCapitalBRL`, `mainActivityCode`, `mainActivity`, `state`, `city`, `zipCode`, `headOffice` | Perfil da empresa |
| `partnersCount`, `partnerRoles` | Quantidade de sócios e cargos (sem nomes) |
| `sanctioned`, `activeSanctions`, `expiredSanctions`, `sanctionsLists`, `sanctionsDetail`, `sanctionsDataAsOf` | Sanções CEIS/CNEP e a data dos arquivos oficiais usados |
| `riskScore`, `riskRating`, `riskFactors`, `riskFlags` | Avaliação de risco explicada |
| `error` | `invalid_cnpj`, `company_not_found` ou `registry_unavailable` |

### Fontes e privacidade (LGPD)

- Cadastro público de CNPJ da Receita Federal (via BrasilAPI, com Minha Receita como reserva).
- Dados abertos da CGU: CEIS e CNEP, atualizados diariamente.
- **Sem dados pessoais:** não retornamos nomes nem documentos de sócios ou de outras pessoas físicas.

A nota de risco é uma heurística transparente sobre dados públicos. **Não é score de crédito** nem parecer jurídico.

***

### English

**Bulk Brazil KYB by CNPJ:** Receita Federal registry data, **government sanctions** (CEIS / CNEP, published by the CGU) and an **explainable 0–100 risk score**, one row per company. Use it for **supplier onboarding, KYB / due diligence, anti-corruption compliance, B2B credit pre-checks and lead list cleaning** in Brazil.

- Paste CNPJs (with or without punctuation, numeric or the new alphanumeric format), up to 5,000 per run.
- **Pricing:** pay per company successfully checked (company found and sanctions screened). Invalid, duplicate, not-found CNPJs and source outages are free. Your spending limit is always respected.
- **Privacy:** no names or documents of partners or other individuals are returned. The risk score is a transparent heuristic over public data, **not a credit score**.

Also available pay-per-call for AI agents (x402, USDC) and as an MCP server: https://br-intelligence.brverify-api.workers.dev

# Actor input Schema

## `cnpjs` (type: `array`):

Brazilian company tax IDs (CNPJ), with or without punctuation. Numeric or the new alphanumeric format. Up to 5,000 per run. Invalid and duplicate entries are skipped and never charged.

## Actor input object example

```json
{
  "cnpjs": [
    "19131243000197",
    "00000000000191"
  ]
}
```

# Actor output Schema

## `overview` (type: `string`):

Compact table: CNPJ, legal name, status, risk score and rating, sanctions, location and main activity.

## `results` (type: `string`):

Full rows including risk factors, flags and sanctions detail.

# 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 = {
    "cnpjs": [
        "19131243000197",
        "00000000000191"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("br-intelligence/brazil-cnpj-kyb-sanctions").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 = { "cnpjs": [
        "19131243000197",
        "00000000000191",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("br-intelligence/brazil-cnpj-kyb-sanctions").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 '{
  "cnpjs": [
    "19131243000197",
    "00000000000191"
  ]
}' |
apify call br-intelligence/brazil-cnpj-kyb-sanctions --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,br-intelligence/brazil-cnpj-kyb-sanctions"
        }
    }
}
```

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/89eZIv4NQgphT658v/builds/i8wJN8rEErPhU2kX9/openapi.json
