Brazil Company Registry API and MCP — CNPJ Lookup with Officers and Branches
Send a CNPJ, the Brazilian company registration number, and you get one company record: registered and trade name, status, registration date, address, legal form, share capital and size class, whether it is a headquarters or a branch, and its activities as CNAE codes.
- You send
- a CNPJ number or a registry URL
- You get back
- Name, status, address, legal form, activities, officers and branches
- Coverage
- Brazil — entities on CNPJ (Receita Federal).
- Price
- 5 pts — $5 per 1,000
- Charged only when the record resolves. A lookup that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| CNPJ (Receita Federal) directly | Open CNPJ (Receita Federal) and read the record | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $5 per 1,000, misses not billed | Covers Brazil — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Always "br_companies". |
company | string | The identifier you sent. |
company_id | string | The identifier as the register keys it. |
human | string | Readable Markdown summary of the record. |
machine.company | object | The company record, described below. |
machine.blocked | boolean | False when the register answered normally. |
machine.pages_opened | number | Register pages read for this record. |
machine.proxy_traffic_bytes | number | Data transferred for the run. |
total_points | number | Points charged: 5 for a resolved lookup. |
machine.company.registration_number | string | The CNPJ as 14 digits. |
machine.company.name | string | Registered company name. |
machine.company.trade_name | string | Trade name (nome fantasia). |
machine.company.status | string | Registration status, for example Ativa (active). |
machine.company.status_date | string | Date the status took effect. |
machine.company.address | string | Address on one line, with postal code. |
machine.company.url | string | Link to the CNPJ record. |
machine.company.company_type | string | Legal form (natureza jurídica). |
machine.company.incorporation_date | string | Registration date, YYYY-MM-DD. |
machine.company.size | string | Size class as published. |
machine.company.share_capital | string | Share capital as a formatted string with the R$ prefix. |
machine.company.establishment_type | string | Matriz (head office) or a branch. |
machine.company.state_registration | string | State registration number. |
machine.company.mei | string | Whether the company is a MEI (microentrepreneur), Sim or Não. |
machine.company.simples | string | Whether the company is under the Simples tax regime, Sim or Não. |
machine.company.municipality | string | Municipality. |
machine.company.state | string | State. |
machine.company.zip | string | Postal code. |
machine.company.activity | string | Primary activity as code and description. |
machine.company.secondary_activities | array | Secondary activities as strings. |
machine.company.officers | array | Officers with name and role. |
machine.company.responsible_qualification | string | Qualification of the person responsible for the entry. |
machine.company.state_registrations | array | State registrations with state and number. |
machine.company.mailing_address | string | Mailing address on one line. |
machine.company.cnae_primary | object | Primary CNAE activity as code and description. |
machine.company.cnae_secondary | array | Secondary CNAE activities as code and description pairs. |
machine.company.headquarters | null | Empty in the sample, where the record is itself the head office. |
machine.company.branches_total | number | Total number of branches. |
machine.company.branches | array | Branches shown, each with registration_number, name, state and city. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "br_companies",
"company": "33000167000101",
"company_id": "33000167000101",
"human": "# Brazil — CNPJ — company\n\n- **Number:** 33000167000101\n- **Pages opened:** 1\n- **Proxy traffic:** 125.2 KB\n- **Name:** Petroleo Brasileiro S A Petrobras\n- **Status:** Ativa\n- **Type:** Sociedade de Economia Mista\n- **Registered:** 1966-09-28\n- **Address:** Avenida Republica do Chile, 65, Centro, Rio de Janeiro - RJ, 20031-170",
"machine": {
"company": {
"registration_number": "33000167000101",
"name": "Petroleo Brasileiro S A Petrobras",
"trade_name": "Petrobras - Edise",
"status": "Ativa",
"address": "Avenida Republica do Chile, 65, Centro, Rio de Janeiro - RJ, 20031-170",
"url": "https://cnpj.biz/33000167000101",
"company_type": "Sociedade de Economia Mista",
"incorporation_date": "1966-09-28",
"size": "Sem Enquadramento",
"share_capital": "R$ 205.431.960.490,52",
"establishment_type": "Matriz",
"status_date": "2005-11-03",
"state_registration": "81.281.88-2",
"mei": "Não",
"simples": "Não",
"municipality": "Rio de Janeiro",
"state": "Rio de Janeiro",
"zip": "20031-170",
"activity": "06.00-0-01 - Extração de petróleo e gás natural",
"secondary_activities": [
"86.30-5-99 - Atividades de atenção ambulatorial não especificadas anteriormente",
"19.21-7-00 - Fabricação de produtos do refino de petróleo"
],
"officers": [
{
"name": "Angelica Garcia Cobas Laureano",
"role": "Diretor"
},
{
"name": "Clarice Coppetti",
"role": "Diretor"
}
],
"responsible_qualification": "Diretor",
"state_registrations": [
{
"state": "RJ",
"number": "81.281.88-2"
}
],
"mailing_address": "Petrobras - Edise Petroleo Brasileiro S A Petrobras, Avenida Republica do Chile 65, Centro, Rio de Janeiro RJ, 20031-170,",
"cnae_primary": {
"code": "06.00-0-01",
"description": "Extração de petróleo e gás natural"
},
"cnae_secondary": [
{
"code": "86.30-5-99",
"description": "Atividades de atenção ambulatorial não especificadas anteriormente"
},
{
"code": "19.21-7-00",
"description": "Fabricação de produtos do refino de petróleo"
}
],
"headquarters": null,
"branches_total": 476,
"branches": [
{
"registration_number": "33000167010840",
"name": "Petrobras",
"state": "SP",
"city": "São Paulo"
},
{
"registration_number": "33000167002660",
"name": "Petrobras - Ute Nova Piratininga",
"state": "SP",
"city": "São Paulo"
}
]
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 128161
},
"total_points": 5
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One company per request. Pass the registration number or the link to the record on the register.
curl -X POST https://api.neuralverge.ai/functions/v1/run-br-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"33000167000101"}'What teams use it for
Where this field shows up in an actual workflow.
Check that a CNPJ matches the company name and that its status is Ativa.
Read legal form, share capital, size class and officers for a file.
Follow the branches list to see where a company operates.
Add CNAE activity codes, municipality and state to Brazilian accounts.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
Brazil — entities on CNPJ (Receita Federal).
Read at request time, so the answer reflects the register as it stands when you ask.
CNPJ (Receita Federal) is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —The branches array shows a selection; branches_total is the full count.
- —Share capital comes back as a formatted string, not a number.
- —Fields such as headquarters can be null depending on the establishment.
Questions, answered
Send the 14 digits, as in the sample. The record also accepts a registry URL.
Related sources
Try brazil company on your own data
One request format across every source in the catalog.