nvNeuralVerge
Corporate registry

Brazil Company Search API and MCP — Find CNPJ Numbers by Company Name

Send a company name and get the matching Brazilian entities back with their CNPJ, registered name, status and a link to the record. Set max_items to cap how many records you pay for.

You send
a company name
You get back
Matching companies with CNPJ, status and link
Coverage
Brazil — entities on CNPJ (Receita Federal).
Price
1 point per returned record — $1 per 1,000
Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
CNPJ (Receita Federal) directlyType the name into CNPJ (Receita Federal) and read the resultsUsually free, sometimes per-documentA different interface, language and data shape for every country you add
Collecting it yourselfBuild and host a crawler per register, then keep each one aliveInfrastructure and maintenanceRegisters change their pages without warning, and nobody is on the hook when yours breaks
NeuralVergeOne request, the same shape as every other source in the catalog$1 per 1,000, misses not billedCovers Brazil — other countries are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
session_idstringId of this run, for tracing.
kindstringAlways "br_companies_search".
keywordstringThe search text you sent.
max_itemsnumberThe cap you set on returned records.
start_pagenumberPage the results started from.
partialbooleanTrue if the run stopped before the cap was reached.
humanstringReadable Markdown summary of the run.
machine.total_itemsnumberRecords returned in this response.
machine.total_foundnumberMatches the register reports for the search, which can be more than you asked for.
machine.page_countnumberResult pages read.
machine.blockedbooleanFalse when the register answered normally.
machine.proxy_traffic_bytesnumberData transferred for the run.
total_pointsnumberPoints charged: one per returned record.
machine.first_item.registration_numberstringThe CNPJ as 14 digits.
machine.first_item.namestringRegistered company name.
machine.first_item.statusstringRegistration status, for example Baixada (closed).
machine.first_item.addressnullEmpty in search results.
machine.first_item.urlstringLink to the CNPJ record.
machine.first_item.company_typenullEmpty in search results.
machine.first_item.incorporation_datenullEmpty in search results.
machine.first_item.cnpj_formattedstringThe CNPJ in the usual punctuated format.
machine.itemsarrayEvery returned record, each with the same keys as first_item.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "br_companies_search",
  "keyword": "petrobras",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# Brazil — CNPJ — company search\n\n- **Keyword:** petrobras\n- **Results:** 2 of 1792 found\n- **Proxy traffic:** 45.6 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "registration_number": "97200042000108",
      "name": "LUIZ LACY SCHLABRENDORFF E CIA LTDA",
      "status": "Baixada",
      "address": null,
      "url": "https://cnpj.biz/97200042000108",
      "company_type": null,
      "incorporation_date": null,
      "cnpj_formatted": "97.200.042/0001-08"
    },
    "items": [
      {
        "registration_number": "97200042000108",
        "name": "LUIZ LACY SCHLABRENDORFF E CIA LTDA",
        "status": "Baixada",
        "address": null,
        "url": "https://cnpj.biz/97200042000108",
        "company_type": null,
        "incorporation_date": null,
        "cnpj_formatted": "97.200.042/0001-08"
      },
      {
        "registration_number": "96923644000201",
        "name": "MARCOLIN ADMINISTRADORA DE IMOVEIS LTDA",
        "status": "Baixada",
        "address": null,
        "url": "https://cnpj.biz/96923644000201",
        "company_type": null,
        "incorporation_date": null,
        "cnpj_formatted": "96.923.644/0002-01"
      }
    ],
    "total_found": 1792,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 46677
  },
  "total_points": 2
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.

curl -X POST https://api.neuralverge.ai/functions/v1/run-br-companies-search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"petrobras","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Resolving a name to a CNPJ

Get the identifier you need for a company lookup.

Name and brand checks

See every registered entity that matches a name, with its status.

Cleaning customer lists

Match free-text company names to CNPJ numbers.

Spotting closed entities

Filter out matches whose status is Baixada.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Brazil — entities on CNPJ (Receita Federal).

Freshness

Read at request time, so the answer reflects the register as it stands when you ask.

Handling

CNPJ (Receita Federal) is a public register. Every response carries the source URL it was read from and a session id you can trace.

What it will not do
  • —Search results carry only name, CNPJ, status and link; run Brazil company for address, legal form and officers.
  • —A common name can match thousands of entities; read total_found.
  • —Matching is by name, so the best hit is not guaranteed to be first.
FAQ

Questions, answered

Search results only include what the registry lists next to each match. Run Brazil company on the CNPJ to get the full record.

Related

Related sources

Try brazil company search on your own data

One request format across every source in the catalog.

Get started