Brazil CNPJ Company Registry Scraper - Partners & Contacts avatar

Brazil CNPJ Company Registry Scraper - Partners & Contacts

Pricing

from $17.00 / 1,000 results

Go to Apify Store
Brazil CNPJ Company Registry Scraper - Partners & Contacts

Brazil CNPJ Company Registry Scraper - Partners & Contacts

Look up Brazilian companies by CNPJ and get legal name, trade name, registration status, main and secondary activities (CNAE), legal nature, share capital, size, full address, phone, email and the list of partners and shareholders (QSA) with their roles. Export to JSON, CSV or Excel.

Pricing

from $17.00 / 1,000 results

Rating

5.0

(2)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

18 days ago

Last modified

Share

Brazil CNPJ Company Registry Scraper - Partners & Contacts

Brazil CNPJ Company Registry Scraper - Partners & Contacts

Here is one real result, with every field the actor returns (the partners list is trimmed to 3 of 41 real entries for length; every value shown is real):

{
"cnpj": "00.000.000/0001-91",
"cnpjDigits": "00000000000191",
"legalName": "BANCO DO BRASIL SA",
"tradeName": "DIRECAO GERAL",
"registrationStatus": "ATIVA",
"registrationStatusReason": "SEM MOTIVO",
"statusDate": "2005-11-03",
"startDate": "1966-08-01",
"legalNature": "Sociedade de Economia Mista",
"companySize": "DEMAIS",
"shareCapital": 120000000000,
"mainActivityCode": "6422100",
"mainActivity": "Bancos múltiplos, com carteira comercial",
"secondaryActivities": [
{ "code": "6499999", "description": "Outras atividades de serviços financeiros não especificadas anteriormente" }
],
"headquartersOrBranch": "MATRIZ",
"street": "QUADRA SAUN QUADRA 5 BLOCO B TORRE I, II, III",
"number": "SN",
"complement": "ANDAR T I SL S101 A S1602 T II SL C101 A C1602 TIII SL N101 A N1602",
"district": "ASA NORTE",
"city": "BRASILIA",
"state": "DF",
"zipCode": "70040912",
"phone": "6134939002",
"phone2": null,
"fax": "6134931040",
"email": null,
"isSimplesNacional": false,
"simplesNacionalSince": "2007-07-01",
"isMEI": false,
"meiSince": "2009-07-01",
"taxRegime": "LUCRO REAL",
"taxRegimeYear": 2024,
"taxRegimeHistory": [
{ "year": 2023, "taxation": "LUCRO REAL" },
{ "year": 2024, "taxation": "LUCRO REAL" }
],
"specialStatus": null,
"specialStatusDate": null,
"responsibleQualification": "10",
"ibgeCode": "5300108",
"stateRegistrations": [],
"partners": [
{ "name": "TARCIANA PAULA GOMES MEDEIROS", "role": "Presidente", "entryDate": "2023-01-26", "ageRange": "Entre 41 a 50 anos", "country": null, "legalRepresentative": null, "taxId": "***128734**" },
{ "name": "ALAN CARLOS GUEDES DE OLIVEIRA", "role": "Diretor", "entryDate": "2023-05-17", "ageRange": "Entre 41 a 50 anos", "country": null, "legalRepresentative": null, "taxId": "***550179**" },
{ "name": "ANELIZE LENZI RUAS DE ALMEIDA", "role": "Conselheiro de Administração", "entryDate": "2023-05-16", "ageRange": "Entre 41 a 50 anos", "country": null, "legalRepresentative": null, "taxId": "***195641**" }
],
"partnerCount": 41,
"source": "Brazil CNPJ Registry",
"observedAt": "2026-08-14T05:43:53.340Z",
"cnpjRoot": "00000000",
"branchNumber": "0001",
"isHeadquarters": true,
"ageYears": 60,
"startDateISO": "1966-08-01",
"isActive": true,
"fullAddress": "QUADRA SAUN QUADRA 5 BLOCO B TORRE I, II, III, SN, ANDAR T I SL S101 A S1602 T II SL C101 A C1602 TIII SL N101 A N1602, ASA NORTE, BRASILIA, DF, 70040912",
"phones": ["+556134939002"],
"aiCompanySummary": null,
"aiRiskFlags": null,
"aiRiskLevel": null,
"aiIndustry": null,
"aiIndustryCode": null
}

The most complete Brazil CNPJ company registry scraper available. It returns every field the federal CNPJ registry exposes for a company (legal and trade name, status, activities, tax regime, full address, phones and email), the complete list of partners and shareholders (QSA) with roles, plus derived KYB fields, and it takes a plain list of CNPJ numbers so you can enrich exactly the companies you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor takes one or more Brazilian CNPJ numbers, looks each one up in the federal company registry, and writes one normalized record per company to the run's dataset. Digits-only or formatted CNPJs both work. Each record carries the legal and trade name, registration status and reason, start date, legal nature, company size, share capital, main and secondary activities (CNAE), tax regime and Simples/MEI status, the full address, phone numbers and email, and the complete list of partners and shareholders (QSA) with their roles and entry dates.

On top of the raw registry values, a set of derived fields (cnpjRoot, branchNumber, isHeadquarters, ageYears, startDateISO, isActive, fullAddress, phones) is computed so you can segment and dedupe without extra parsing. Optional paid AI add-ons (company summary, KYB risk flags, industry classification) are off by default and billed per record only when they return usable output.

Quickstart

Open the actor, paste this into the input, and press Run. It looks up two well-known companies by CNPJ.

{
"cnpjNumbers": [
"00000000000191",
"19131243000197"
],
"maxCompanies": 10
}

You can also pass a single CNPJ with the cnpj shortcut field. One record is returned per company.

Input reference

FieldTypeRequiredDefaultDescription
cnpjNumbersstring[]no(empty)One or more CNPJ numbers to look up. Digits only (00000000000191) or formatted (00.000.000/0001-91) both work. One record is returned per company.
cnpjstringno(empty)A single CNPJ to look up, as a shortcut instead of the list. Added to the front of the queue.
maxCompaniesintegerno10Maximum number of companies to look up (1 to 1000000). Free Apify plans are capped at 10 per run.
withAiCompanySummarybooleannofalsePaid add-on. Generates a concise plain-English business summary from the record. Requires a paid Apify plan; billed only when a summary is produced.
withAiRiskFlagsbooleannofalsePaid add-on. Surfaces KYB red flags (suspended/inactive status, status reason, entity age, MEI/size). Requires a paid Apify plan; billed only when flags are produced.
withAiIndustrybooleannofalsePaid add-on. Normalizes and classifies the company's industry with a CNAE/NAICS-style tag. Requires a paid Apify plan; billed only when a classification is produced.

Only valid 14-digit CNPJs are looked up; anything else is dropped. If no valid CNPJ is provided, the actor writes a single item with a populated error field and does not charge.

Output reference

One dataset item per company. Types: string, integer, number, boolean, object[], string[], or null when the source value is absent.

FieldTypeDescription
cnpjstringFormatted CNPJ (00.000.000/0001-91).
cnpjDigitsstringCNPJ as 14 digits, no punctuation.
legalNamestringRegistered legal name (razão social).
tradeNamestringTrade name (nome fantasia), or null.
registrationStatusstringRegistration status, for example ATIVA, BAIXADA, SUSPENSA.
registrationStatusReasonstringReason for the current status.
statusDatestringDate the status was set (YYYY-MM-DD).
startDatestringActivity start date (YYYY-MM-DD).
legalNaturestringLegal nature (natureza jurídica).
companySizestringCompany size band, for example ME, EPP, DEMAIS.
shareCapitalnumberRegistered share capital in BRL.
mainActivityCodestringMain activity CNAE code.
mainActivitystringMain activity description.
secondaryActivitiesobject[]Secondary activities, each { code, description }.
headquartersOrBranchstringMATRIZ (headquarters) or FILIAL (branch).
streetstringStreet type and name.
numberstringStreet number.
complementstringAddress complement, or null.
districtstringDistrict / neighborhood (bairro).
citystringCity (município).
statestringTwo-letter state code (UF).
zipCodestringPostal code (CEP), digits only.
phonestringPrimary phone, digits only.
phone2stringSecondary phone, or null.
faxstringFax number, or null.
emailstringRegistered email, or null.
isSimplesNacionalbooleanWhether the company opted into Simples Nacional.
simplesNacionalSincestringSimples Nacional opt-in date, or null.
isMEIbooleanWhether the company is registered as MEI.
meiSincestringMEI opt-in date, or null.
taxRegimestringLatest known tax regime (forma de tributação), or null.
taxRegimeYearintegerYear of the latest tax regime, or null.
taxRegimeHistoryobject[]Tax regime by year, each { year, taxation }.
specialStatusstringSpecial status (situação especial), or null.
specialStatusDatestringSpecial status date, or null.
responsibleQualificationstringQualification code of the responsible person.
ibgeCodestringIBGE municipality code.
stateRegistrationsobject[]State registrations, each { number, state, active }.
partnersobject[]Partners and shareholders (QSA), each { name, role, entryDate, ageRange, country, legalRepresentative, taxId }.
partnerCountintegerNumber of partners in partners.
sourcestringData source label (Brazil CNPJ Registry).
observedAtstringISO 8601 timestamp of when the record was collected.
cnpjRootstringFirst 8 digits of the CNPJ (company root shared across branches).
branchNumberstringBranch order number (digits 9 to 12).
isHeadquartersbooleantrue when the branch number is 0001.
ageYearsintegerWhole years since startDate, or null.
startDateISOstringStart date normalized to YYYY-MM-DD.
isActivebooleantrue when the status contains ATIVA.
fullAddressstringSingle-line postal address, ready for CRM or mapping.
phonesstring[]Phones normalized to +55 E.164 form.
aiCompanySummarystringAI business summary when the add-on is enabled, else null.
aiRiskFlagsstring[]AI KYB risk flags when the add-on is enabled, else null.
aiRiskLevelstringAI risk level (low/medium/high) when enabled, else null.
aiIndustrystringAI industry label when the add-on is enabled, else null.
aiIndustryCodestringAI industry code when the add-on is enabled, else null.

Companies that are not found return a record with notFound: true; requests that error return a record with a populated error field. Neither is charged.

Example output record

Real record from a live run (input {"cnpjNumbers": ["00000000000191"]}, partners trimmed to 2 of 41 for length):

{
"cnpj": "00.000.000/0001-91",
"cnpjDigits": "00000000000191",
"legalName": "BANCO DO BRASIL SA",
"tradeName": "DIRECAO GERAL",
"registrationStatus": "ATIVA",
"registrationStatusReason": "SEM MOTIVO",
"startDate": "1966-08-01",
"legalNature": "Sociedade de Economia Mista",
"companySize": "DEMAIS",
"shareCapital": 120000000000,
"mainActivityCode": "6422100",
"mainActivity": "Bancos múltiplos, com carteira comercial",
"headquartersOrBranch": "MATRIZ",
"city": "BRASILIA",
"state": "DF",
"zipCode": "70040912",
"phone": "6134939002",
"fax": "6134931040",
"isSimplesNacional": false,
"isMEI": false,
"taxRegime": "LUCRO REAL",
"taxRegimeYear": 2024,
"partners": [
{ "name": "TARCIANA PAULA GOMES MEDEIROS", "role": "Presidente", "entryDate": "2023-01-26", "ageRange": "Entre 41 a 50 anos", "country": null, "legalRepresentative": null, "taxId": "***128734**" },
{ "name": "MARCO GEOVANNE TOBIAS DA SILVA", "role": "Diretor", "entryDate": "2023-03-22", "ageRange": "Entre 51 a 60 anos", "country": null, "legalRepresentative": null, "taxId": "***225791**" }
],
"partnerCount": 41,
"isHeadquarters": true,
"ageYears": 60,
"isActive": true,
"fullAddress": "QUADRA SAUN QUADRA 5 BLOCO B TORRE I, II, III, SN, ..., ASA NORTE, BRASILIA, DF, 70040912",
"phones": ["+556134939002"],
"source": "Brazil CNPJ Registry",
"observedAt": "2026-08-14T05:43:53.340Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~brazil-cnpj-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"cnpjNumbers":["00000000000191","19131243000197"],"maxCompanies":10}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~brazil-cnpj-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"cnpj":"00000000000191"}'

Apify CLI:

apify call scrapers_lat/brazil-cnpj-scraper \
--input '{"cnpjNumbers":["19131243000197"]}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per company record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a lookup errors or the CNPJ is not found, the actor writes a record with an error or notFound flag and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxCompanies.
  • AI add-ons require a paid Apify plan and are billed per record only when they return usable output.

FAQ and troubleshooting

Which CNPJ formats are accepted? Both digits only (00000000000191) and formatted (00.000.000/0001-91). The actor strips punctuation and keeps only valid 14-digit numbers.

A CNPJ returned notFound. Why? The number is not present in the registry (mistyped, or never issued). Not-found lookups are not charged.

Do I get the partners and shareholders? Yes. The partners array lists the QSA (quadro de sócios e administradores) with each person's name, role, entry date, and age range when the registry exposes them. partnerCount gives the total.

How do I look up a whole company group? Look up each branch CNPJ. All branches of a company share the same cnpjRoot (first 8 digits); isHeadquarters is true for the 0001 branch.

Do I need the AI add-ons? No. They are off by default and require a paid Apify plan. The core registry, contact, and partner fields are always returned without them.

Is this an official government tool? No. This actor is independent and has no affiliation with the Brazilian government or Receita Federal. It reads only publicly available CNPJ registry data.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the Brazilian government or Receita Federal. Accesses only publicly available CNPJ registry data.