Brazil CNPJ Company API - Normalized Firmographics in English avatar

Brazil CNPJ Company API - Normalized Firmographics in English

Pricing

from $2.00 / 1,000 company records

Go to Apify Store
Brazil CNPJ Company API - Normalized Firmographics in English

Brazil CNPJ Company API - Normalized Firmographics in English

[💵 $3.00 / 1K] Clean English firmographics for any Brazil CNPJ: legal/trade name, status, size tier, CNAE sector, age, tax regime, partners, phone & address - decoded from the raw Receita Federal codes and mojibake, not a Portuguese dump.

Pricing

from $2.00 / 1,000 company records

Rating

0.0

(0)

Developer

WebData Labs

WebData Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

One clean English row for any Brazil CNPJ. Paste a list of CNPJ numbers and get analysis-ready company records: legal and trade name, registration status, company size tier, CNAE sector, company age, tax regime, partners, phone, and a composed address - decoded from the raw Receita Federal codes, with the accent mojibake fixed.

Brazil's official company data (Receita Federal, served through public open-data endpoints) is a Portuguese-only mess: registration status, company size, branch type and partner roles are bare numeric codes; the main activity is a 7-digit CNAE number with the leading zero dropped; the address is split across six fragments; the tax regime is buried in flags; and accented text comes back double-encoded (Associações instead of Associações). Most "CNPJ scrapers" hand you that raw dump. This Actor does the hard part: it repairs the encoding, decodes every code to an English label, resolves the CNAE to a human sector, derives lead-quality signals (isActive, companyAgeYears, sizeTier, taxRegime, isHeadquarters, hasForeignPartner), composes the address and formats the phone, and returns one consistent row every time. Two public sources are used with automatic failover for reliability.

✅ What you get / ❌ what this isn't

This Actor gives youThis Actor is not
One normalized row per CNPJ, English-labeled, identical shape every timeNot a raw Portuguese Receita Federal dump
Numeric codes decoded: status, size, branch, partner rolesNot affiliated with or endorsed by Receita Federal or the Brazilian government
CNAE resolved to an English sector, leading zero repairedNot a CNPJ-discovery tool - you supply the CNPJs to enrich
Lead signals: isActive, companyAgeYears, sizeTier, taxRegime, isHeadquartersNot a credit-score, KYC, or background-check service
Mojibake accents repaired to proper UTF-8Not real-time - reflects the Receita Federal open-data cadence
Dual public source with automatic failoverNot a guarantee that every CNPJ exposes a phone or email

🔎 Why use this Actor

  • Enrich a list of CNPJs (from invoices, NF-e, a partial scrape, or a CRM) into clean firmographics.
  • Validate vendors and customers by registration status (isActive) before onboarding.
  • Qualify B2B leads by sector, size tier, company age, and tax regime in one pass.
  • Get English firmographics for an international pipeline instead of Portuguese-only codes.
  • Feed normalized company data into a CRM, dashboard, model, or LLM workflow.
  • Skip the plumbing - code decoding, CNAE sector mapping, encoding repair, and address composition are done.

👥 Who it's for

  • Brazil B2B sales and marketing teams building and cleaning prospect lists.
  • Operations / procurement teams validating supplier CNPJs at onboarding.
  • Fintech, lending, and compliance teams needing structured firmographics.
  • Data teams and agencies enriching Brazilian company datasets at scale.
  • Anyone who wants one tidy English schema instead of a Receita Federal parsing project.

🗂️ What data you get

One row per CNPJ:

FieldTypeDescription
cnpj, cnpjFormattedstring14-digit CNPJ and its 00.000.000/0000-00 form
legalName, tradeNamestringRazão social and nome fantasia (mojibake repaired)
status, statusPt, isActivestring / booleanRegistration status in English + Portuguese, plus an active flag
sizeTier, sizePtstringCompany size: MICRO / SMALL / OTHER (+ Portuguese)
shareCapitalnumberDeclared share capital as a number
branchType, isHeadquartersstring / booleanHEADQUARTERS / BRANCH (matriz / filial)
openingDate, companyAgeYearsstring / numberActivity start date and derived age in years
primaryActivityCode, primaryActivitystring7-digit CNAE (zero-padded) and its description
sectorstringEnglish CNAE sector label (Manufacturing, Information & communication, ...)
secondaryActivitiesarraySecondary CNAE codes + descriptions
legalNature, legalNatureCodestringNatureza jurídica label and code
taxRegimestringMEI / SIMPLES_NACIONAL / NORMAL / UNKNOWN
email, phone, phoneSecondarystringEmail and phones formatted as +55 (DDD) ...
address, city, state, zip, cityIbgeCodestringComposed street address + structured location
partnerCount, hasForeignPartner, partners[]number / boolean / arrayPartner (QSA) count, foreign-partner flag, and clean partner rows

Example tasks

⚙️ How to enrich CNPJ data

  1. Open the Actor on Apify.
  2. Paste one or more CNPJ numbers into cnpjs (comma, space, or new line separated; punctuation is fine).
  3. Optionally set maxItems and toggle includeRaw to keep the original record.
  4. Run the Actor and open the Companies dataset view.
  5. Export JSON, CSV, Excel, HTML, or XML, or call the Actor through the Apify API.

📥 Input

{
"cnpjs": "47.960.950/0001-21, 33000167000101, 19131243000197",
"maxItems": 1000,
"includeRaw": false
}

📤 Output

{
"recordType": "company",
"cnpj": "47960950000121",
"cnpjFormatted": "47.960.950/0001-21",
"legalName": "MAGAZINE LUIZA S/A",
"tradeName": "MAGALU",
"status": "ACTIVE",
"isActive": true,
"sizeTier": "OTHER",
"sector": "Wholesale & retail trade; vehicle repair",
"primaryActivityCode": "4713004",
"primaryActivity": "Lojas de departamentos ou magazines",
"companyAgeYears": 59.7,
"taxRegime": "NORMAL",
"shareCapital": 14202162000.0,
"branchType": "HEADQUARTERS",
"isHeadquarters": true,
"phone": "+55 (16) 3711-2002",
"address": "RUA VOLUNTARIOS DA FRANCA, 1465, CENTRO, FRANCA - SP, 14400-490",
"city": "FRANCA",
"state": "SP",
"partnerCount": 3,
"hasForeignPartner": false
}

💵 How much does it cost?

The launch price is about $3.00 / 1,000 companies, tier-discounted for higher Apify plans. One company row is one charged result. A run enriching 500 CNPJs is 500 results. Invalid and not-found rows are not charged.

🔁 Run it on the Apify platform

Schedule a recurring run to keep a CNPJ list fresh (status changes, new branches), call it from the Apify API, export to CSV/JSON/Excel, or connect the dataset to Make, Zapier, webhooks, a warehouse, a CRM, or an LLM pipeline.

⚠️ Limits and caveats

  • This Actor reads public Receita Federal open-data endpoints. It is not affiliated with the Brazilian government and returns only data already public in the CNPJ registry.
  • You supply the CNPJs. This is an enrichment/validation Actor, not a company-discovery search over the full registry.
  • Field coverage varies. Not every company publishes an email or a second phone. Missing fields are returned as null rather than guessed.
  • sector is the CNAE division label for the primary activity; the exact 7-digit code and full secondary list are always preserved.
  • Personal identifiers of partners (CPF) are masked at source; only the public partner name, role, and entry date are returned.
  • Data reflects the Receita Federal open-data refresh cadence, not real time.
  • EU Tenders API - normalized TED public procurement in one English schema.
  • SEC Financials API - normalized income, balance sheet, and cash flow from EDGAR.
  • US Building Permits API - normalized construction permits and contractor leads.
  • Website Contact Extractor - verified, outreach-ready emails from any domain.

❓ FAQ

What is a CNPJ?

The CNPJ (Cadastro Nacional da Pessoa Jurídica) is Brazil's national company registration number. Every legal entity has one. This Actor turns a CNPJ into a clean, English-labeled firmographic record.

Where does the data come from?

From public open-data endpoints over the official Receita Federal CNPJ dataset. The Actor uses two sources with automatic failover, so a rate limit on one does not fail your run.

Can it find companies by sector or city?

No. This Actor enriches CNPJs you already have. It is built for validation and lead enrichment, not discovery over the full registry.

Why is the sector in English but the activity description in Portuguese?

The sector is a normalized English label derived from the CNAE division so you can group and filter internationally. The primaryActivity keeps the official Portuguese description for exactness.

Why were the accents broken before, and are they fixed?

The source feeds return accented text double-encoded (mojibake). This Actor detects and repairs it, so Associações comes back correctly, not Associações.

Does it need a proxy?

No. The sources are public official endpoints served reliably to datacenter IPs. Enable Apify Proxy only for very large batches.

🛠️ Support

For bugs, missing fields, or a feature request, open an Actor issue with the run URL, the CNPJs used, and the field or behavior you expected.

⭐ Rate this Actor

If this Actor saved you time, please take 30 seconds to leave a review on the Reviews tab of Brazil CNPJ Company API - Normalized Firmographics in English - reviews are the main trust signal other users see, and they directly decide which features get built next. If something is broken or a field is missing, please open an issue first - we typically respond within a day and would love the chance to fix it before you rate.