Brazil CNPJ Company API - Normalized Firmographics in English
Pricing
from $2.00 / 1,000 company records
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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 you | This Actor is not |
|---|---|
| One normalized row per CNPJ, English-labeled, identical shape every time | Not a raw Portuguese Receita Federal dump |
| Numeric codes decoded: status, size, branch, partner roles | Not affiliated with or endorsed by Receita Federal or the Brazilian government |
| CNAE resolved to an English sector, leading zero repaired | Not a CNPJ-discovery tool - you supply the CNPJs to enrich |
Lead signals: isActive, companyAgeYears, sizeTier, taxRegime, isHeadquarters | Not a credit-score, KYC, or background-check service |
| Mojibake accents repaired to proper UTF-8 | Not real-time - reflects the Receita Federal open-data cadence |
| Dual public source with automatic failover | Not 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:
| Field | Type | Description |
|---|---|---|
cnpj, cnpjFormatted | string | 14-digit CNPJ and its 00.000.000/0000-00 form |
legalName, tradeName | string | Razão social and nome fantasia (mojibake repaired) |
status, statusPt, isActive | string / boolean | Registration status in English + Portuguese, plus an active flag |
sizeTier, sizePt | string | Company size: MICRO / SMALL / OTHER (+ Portuguese) |
shareCapital | number | Declared share capital as a number |
branchType, isHeadquarters | string / boolean | HEADQUARTERS / BRANCH (matriz / filial) |
openingDate, companyAgeYears | string / number | Activity start date and derived age in years |
primaryActivityCode, primaryActivity | string | 7-digit CNAE (zero-padded) and its description |
sector | string | English CNAE sector label (Manufacturing, Information & communication, ...) |
secondaryActivities | array | Secondary CNAE codes + descriptions |
legalNature, legalNatureCode | string | Natureza jurídica label and code |
taxRegime | string | MEI / SIMPLES_NACIONAL / NORMAL / UNKNOWN |
email, phone, phoneSecondary | string | Email and phones formatted as +55 (DDD) ... |
address, city, state, zip, cityIbgeCode | string | Composed street address + structured location |
partnerCount, hasForeignPartner, partners[] | number / boolean / array | Partner (QSA) count, foreign-partner flag, and clean partner rows |
Example tasks
- Enrich a list of CNPJ numbers into clean company data
- Validate supplier CNPJs by registration status
- Build an English firmographic profile for a Brazilian company
⚙️ How to enrich CNPJ data
- Open the Actor on Apify.
- Paste one or more CNPJ numbers into
cnpjs(comma, space, or new line separated; punctuation is fine). - Optionally set
maxItemsand toggleincludeRawto keep the original record. - Run the Actor and open the
Companiesdataset view. - 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
nullrather than guessed. sectoris 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.
🧩 Related Actors
- 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.