Brazil Company Risk Score — Registry, Reputation & Protests avatar

Brazil Company Risk Score — Registry, Reputation & Protests

Pricing

$20.00 / 1,000 company scoreds

Go to Apify Store
Brazil Company Risk Score — Registry, Reputation & Protests

Brazil Company Risk Score — Registry, Reputation & Protests

Score any Brazilian company by CNPJ into one auditable risk record: Receita Federal registry status, judicial distress, Reclame Aqui reputation, and optional São Paulo protests. Deterministic CNPJ match, transparent weighted score, honest abstain. Pay per result.

Pricing

$20.00 / 1,000 company scoreds

Rating

0.0

(0)

Developer

MoreLock

MoreLock

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Turn a Brazilian CNPJ into one auditable risk score — official Receita Federal registry status, Reclame Aqui consumer reputation, and optional São Paulo protests — matched deterministically, in a single record. Built for KYB, vendor onboarding, credit and due diligence.

Overview

Give it a list of CNPJs; get back, per company, a transparent composite risk score (0-100) and a band (LOW / MEDIUM / HIGH). The score is never a black box: every component (registration status, registry red flags, reputation, protests) reports its own sub-score, weight, and the exact reason it contributed. Missing signals lower the confidence instead of being silently treated as zero — so you always know what the score was actually built from.

The CNPJ ↔ company match for reputation is deterministic (the Reclame Aqui record carries the CNPJ in its documents[]), so the actor never attaches the wrong company. When there is no data under a CNPJ, it says so — honest abstain, and you are not charged.

Features

  • Transparent, auditable score — per-component breakdown (sub-score + weight + reason), overall band, and a confidence that reflects how many signals were present.
  • Official registry — legal & trade name, registration status, activity (CNAE), legal nature, share capital, size, contacts, full address, owners (QSA).
  • Judicial distress flag — detects bankruptcy (falência/falida), judicial recovery (recuperação judicial), liquidation and intervention embedded in the official Receita name — the signal that catches a bankrupt company still registered as ATIVA.
  • Reclame Aqui reputation — reputation label (RA1000 / GREAT / GOOD / REGULAR / BAD / NOT_RECOMMENDED), score, complaint count, % solved, segment — matched by exact CNPJ.
  • Optional São Paulo protests — CENPROT São Paulo protest existence, count and total value (opt-in, premium).
  • Deterministic matching — exact CNPJ, with an 8-digit root as a second net. Never a fuzzy guess.
  • Honest, no-charge abstain — not-found / invalid / failed lookups are never billed.
  • Forward-compatiblecnd and litigation fields are reserved for upcoming signals.

Input

{
"cnpjs": ["47960950000121", "18236120000158", "06164253000187"],
"includeReputation": true,
"includeProtesto": false,
"maxItems": 1000
}

Output (example)

{
"tax_id": "47.960.950/0001-21",
"risk": {
"score": 12,
"band": "LOW",
"confidence": 0.8,
"components": [
{ "name": "registration_status", "present": true, "subscore": 0, "weight": 35, "raw": "ATIVA", "reason": "registration status is ATIVA" },
{ "name": "judicial_status", "present": true, "subscore": 0, "weight": 25, "raw": null, "reason": "no distress flag in official name" },
{ "name": "registry_flags", "present": true, "subscore": 0, "weight": 10, "raw": 0, "reason": "no registry red flags" },
{ "name": "reputation", "present": true, "subscore": 20, "weight": 20, "raw": "GOOD", "reason": "Reclame Aqui reputation GOOD, 98% solved, 12000 complaints" },
{ "name": "protesto", "present": false, "subscore": null, "weight": 10, "raw": null, "reason": null }
],
"reasons": []
},
"registry": {
"tax_id": "47.960.950/0001-21",
"legal_name": "MAGAZINE LUIZA S/A",
"status": "ATIVA",
"main_activity": { "code": 4713002, "description": "..." },
"address": { "city": "FRANCA", "state": "SP" },
"partners": []
},
"reclame_aqui": {
"reputation_label": "GOOD",
"reclame_aqui_score": "7.8",
"total_complaints": 12000,
"solved_percent": "98",
"match_type": "exact_cnpj"
},
"reclame_aqui_note": null,
"protesto": null,
"protesto_note": "protest lookup disabled (set includeProtesto = true to add São Paulo protests)",
"cnd": null,
"litigation": null
}

Parameters

ParameterTypeDefaultDescription
cnpjsarrayCNPJ numbers, formatted or digits-only. One per line.
includeReputationbooleantrueAdd Reclame Aqui reputation to the score.
includeProtestobooleanfalseAdd São Paulo (CENPROT) protests. Slower + adds its own charge. SP state only.
maxItemsinteger1000Stop after this many companies (cost control).
includeRawbooleanfalseAttach the full raw registry payload.

How the score works

The final score is the weighted average of the components that are present:

ComponentWeight0 (low risk) → 100 (high risk)
Registration status35ATIVA = 0 · SUSPENSA = 60 · INAPTA = 85 · BAIXADA/NULA = 100
Judicial status (from official name)25none = 0 · judicial recovery = 70 · intervention = 80 · bankruptcy/liquidation = 100
Registry red flags10+34 each: opened < 1 year, no contact, zero share capital
Reclame Aqui reputation20RA1000/GREAT = 0-5 · GOOD = 20 · REGULAR = 50 · BAD = 80 · NOT_RECOMMENDED = 100
São Paulo protests10none = 0 · any on record = 80

confidence = share of total weight that was actually present. A bankrupt / in-liquidation company (flagged in its official Receita name) or an irregular/defunct registration status (INAPTA, BAIXADA, NULA) forces the band to HIGH regardless of the other signals — note that a bankrupt company often still shows registration status ATIVA, so the name-level judicial flag is what catches it.

Tips

  • Turn includeReputation off for a fast, registry-only score.
  • Use includeProtesto only for the counterparties that matter — it is the slow, premium signal (São Paulo only).
  • Read confidence alongside score: a low-confidence LOW just means few signals were available, not "safe".
  • reasons[] gives you the human-readable drivers for a review or a report.

Use cases

  • Vendor onboarding / KYB — one score to accept, review, or reject a Brazilian supplier.
  • Credit & risk — a fast pre-screen before pulling a paid bureau report.
  • M&A / due diligence — registry + reputation + protests in one auditable record.
  • Marketplace / platform trust — score sellers by CNPJ at scale.
  • Sales qualification — filter a prospect list by company health.
  • AI agents — MCP-ready structured JSON for autonomous due-diligence workflows.

FAQ

Is the score a black box? No. Every component reports its sub-score, weight, and reason; the final score is a plain weighted average over the present components.

What if a company has no Reclame Aqui page? reclame_aqui is null with a note, and reputation is simply excluded from the score (confidence drops). No guessing.

Why is protest São Paulo only? It uses the CENPROT São Paulo source. Other states are on the roadmap.

Do I pay for failed or invalid CNPJs? No — not-found, invalid, and failed lookups are never charged.

Is the CNPJ match reliable? Yes — it is deterministic (exact CNPJ from the company's own documents[]), never a fuzzy name guess.

Pricing

Pay per result — $0.02 per company scored ($20 per 1,000). A 500-company vendor list runs about $10. You are not charged for not-found, invalid, or failed lookups. Enabling includeProtesto runs a dedicated São Paulo protest actor that adds its own pay-per-result charge on top (opt-in only).

Changelog

  • 1.0 — First release: registry + reputation + optional São Paulo protests, transparent composite score, deterministic CNPJ match, honest abstain.

Contact & issues

Found a bug or need another signal (CND, litigation, more states)? Open an issue on the actor's Issues tab.