Official data from Brazil's Federal Revenue Service
Look up any CNPJ
in seconds.
Legal name, registration status, primary activity (CNAE) and incorporation date - straight from Brazil's public Receita Federal database, organized and free. Plus State Registration (IE) from the official SEFAZ source.
Platform
Everything a CNPJ reveals, in a single platform
Receita Federal registry data, State Registration (IE) from SEFAZ, sanctions, federal tax debt and installment plans in the same lookup, plus company lists for prospecting. Through the API or the portal, no coding required.
Brazil's complete registry
Every CNPJ in Brazil, always up to date
Figures from the official Federal Revenue registry.
On average, 469,265 new companies and 258,011 closures per month (last 12 months).
Each dot groups the active companies in a square about 65 km wide. The stronger the dot, the more companies.
Companies opened per month
465,926 in September 2026
Last 12 full months.
Companies closed per month
253,162 in September 2026
Last 12 full months.
How it works
Three steps, no sign-up
Enter the CNPJ
Paste or type the 14 digits. We format it automatically.
We check the database
We look up the official public data published by Brazil's Federal Revenue Service.
Get it organized
Status, activities and registration data ready to read and copy.
Use cases
From a CNPJ to a decision, in a single flow
Pick your use case and see what goes in, where the data comes from and what comes out.
Customer and supplier onboarding
Before approving a customer or supplier, one lookup returns the registration, the State Registration and the risk data.
In
- Customer or supplier CNPJ
- 98.765.432/0001-98
GET /{cnpj}?incluir=ie
Official sources
- Receita Federal
- SEFAZ
- CGU and IBAMA
- PGFN
- Receita (installments)
Out
- Registration status
- State Registration by state
- Sanctions and embargoes
- Federal tax debt and installments
- JSON ready for your system
Risk data on paid plans. IE uses IE quota or credits.
Prospecting
Start from criteria, not from a CNPJ: build the segment in the portal and take the list with you.
In
- Activity (CNAE)
- City, radius or map area
- Size, Simples and contact
Segmentation
Official sources
- Receita Federal
- CGU and IBAMA
- PGFN
Out
- How many companies are in the segment
- Density map
- Excel or CSV list
- Monthly alert of new companies by city and activity
Segmentation and export from the Advanced plan.
Accounting
Check your whole client base at once, with one response item per client.
In
- Client CNPJs
- Up to 20 per call
POST /consulta/lote
Official sources
- Receita Federal
- CGU and IBAMA
- PGFN
- Receita (installments)
Out
- Full registration of each client
- Registration status and whether it is under Simples or MEI
- Sanctions, tax debt and installments
- In the same order as sent
Batch lookup on paid plans. You can also check the client base in Excel or Google Sheets, no code needed.
Integration
One authenticated call and a JSON with stable fields for your ERP, CRM or app.
In
- Your ERP, CRM or app
- API key in the header
GET /{cnpj}
Official sources
- Receita Federal
- CGU and IBAMA
- PGFN
- Receita (installments)
Out
- Registration data
RazaoSocial - Partners
QSA - Sanctions and embargoes
Sancoes - Federal tax debt
DividaAtiva - Installments
ParcelamentosRFB
Ready-made examples in Python, Node.js, PHP, C#, Go and Java.
Features
Built for teams that rely on trustworthy data
Each feature in action, with sample data. The real numbers come in your lookup.
Risk in the same lookup
Sanctions (CGU and IBAMA), federal tax debt and installments next to the registration, each block with its source and date. On paid plans.
See how it worksState Registration (IE)
Any company's State Registration straight from the official source (SEFAZ), by state or nationwide - the state-level data the federal base doesn't provide.
See IE lookupLists for prospecting
Filter by activity, city, size and contact, see how many companies there are and export to Excel or CSV.
See company listsRadius and map area
Build the list within a radius from a CEP or inside an area drawn on the map.
See the step by stepAPI for integration
A JSON with stable fields, partners and the risk blocks. Ready-made examples in six languages.
See the docsOfficial sources
Every data point with its source and date
Each data point comes from the official source that publishes it, with its date.
Receita Federal
Registration of every CNPJ in the country: status, activities, partners and address.
Batch of October 2026
SEFAZ
State Registration looked up straight at each state's SEFAZ.
Live lookup, 26 of 27 states
CGU and IBAMA
Sanctions (CEIS, CNEP, CEPIM and leniency agreements) and environmental embargoes.
Updated on Oct 28, 2026
PGFN
Federal tax debt in collection, from PGFN open data.
Published on Oct 21, 2026
Receita Federal (installments)
Active installment plans with the Receita: MEI, Simples Nacional, ordinary, special and public-body plans.
Published on Oct 27, 2026
For developers
Integrate CNPJ lookup in minutes
A simple REST API, with JSON responses and high quota-based volume to integrate CNPJ data straight into your system.
- Test without an account Use the test key on the sample CNPJs: one with a sanction, tax debt and installments, another with no records.
- Call GET /{cnpj} One authenticated call, in any language. Ready-made examples in six languages, plus curl.
- Use your own key Create a free account and look up any CNPJ, within your plan quota.
cnpj_teste_exemplos
Answers for the fictitious CNPJs 98765432000198 and 99999999000191, without using quota.
curl
curl https://api.cnpjapi.com.br/98765432000198 \
-H "Authorization: Bearer cnpj_teste_exemplos"
Python
import requests
r = requests.get(
"https://api.cnpjapi.com.br/98765432000198",
headers={"Authorization": "Bearer cnpj_teste_exemplos"},
)
empresa = r.json()
print(empresa["RazaoSocial"], empresa["SituacaoCadastral"]["Descricao"])
Node.js
const r = await fetch("https://api.cnpjapi.com.br/98765432000198", {
headers: { Authorization: "Bearer cnpj_teste_exemplos" },
});
const empresa = await r.json();
console.log(empresa.RazaoSocial, empresa.SituacaoCadastral.Descricao);
PHP
$ch = curl_init('https://api.cnpjapi.com.br/98765432000198');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer cnpj_teste_exemplos'],
]);
$empresa = json_decode(curl_exec($ch), true);
echo $empresa['RazaoSocial'];
C#
using System.Text.Json;
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("Authorization", "Bearer cnpj_teste_exemplos");
var json = await http.GetStringAsync("https://api.cnpjapi.com.br/98765432000198");
using var doc = JsonDocument.Parse(json);
Console.WriteLine(doc.RootElement.GetProperty("RazaoSocial").GetString());
Go
req, _ := http.NewRequest("GET", "https://api.cnpjapi.com.br/98765432000198", nil)
req.Header.Set("Authorization", "Bearer cnpj_teste_exemplos")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
var empresa struct{ RazaoSocial string }
json.NewDecoder(resp.Body).Decode(&empresa)
Java
var req = HttpRequest.newBuilder(URI.create("https://api.cnpjapi.com.br/98765432000198"))
.header("Authorization", "Bearer cnpj_teste_exemplos")
.build();
var resp = HttpClient.newHttpClient().send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(resp.body());
Response (JSON, trimmed)
{
"CNPJ": "98.765.432/0001-98",
"RazaoSocial": "EMPRESA EXEMPLO COM REGISTROS LTDA",
"SituacaoCadastral": { "Codigo": "02", "Descricao": "Ativa", ... },
"QSA": [ ... ],
"Sancoes": { "PossuiRegistros": true, "Itens": [ ... ] },
"DividaAtiva": { "ConstavaEmCobranca": true, ... },
"ParcelamentosRFB": { "ConstavaParcelamentoAtivo": true, ... }
}
Comparison
More than a lookup per document
What changes when the lookup comes with the whole database, the risk data and the State Registration in one place.
| Feature | CNPJ API | Pay-per-document lookup |
|---|---|---|
| CNPJ lookup by API | Yes, and in batch on paid plans | Yes |
| Full Receita database to filter and export lists | From Advanced | Outside the per-document model |
| Sanctions, tax debt and installments in the response | On paid plans, at no extra cost | Depends on the service |
| State Registration straight from SEFAZ | Yes, in 26 of 27 states | Depends on the service |
| Map and radius from a CEP for prospecting | From Advanced | Outside the per-document model |
| Billing | Free or flat plan, with a monthly allowance | Per lookup |
Capability comparison, without naming services or prices.
Solutions
Built for your kind of business
See how each segment uses the lookup, the lists and the State Registration.
Pricing
Start free, grow when you need to
- CNPJ lookup in the public database
- Up to 10 lookups/min
- 300 lookups/day
- 5,000 lookups/month
- 1 user
- 50 State Registration lookups/month
- Everything in Free
- 100,000 lookups/month
- Up to 30 lookups/min
- 1,000 name & partner searches/month
- 2 users
- 500 State Registration lookups/month
- Sanctions and embargoes (CGU and IBAMA) in every lookup
- Federal tax debt (PGFN registry, with the extraction date)
- Active installment plans with Receita Federal (monthly data, with the publication date)
- Everything in Pro
- 250,000 lookups/month
- Up to 60 lookups/min
- 5,000 name & partner searches/month
- List exports (10,000 rows/month + add-on credits)
- Analytics segmentation
- 3 users
- 2,000 State Registration lookups/month
- Lists with sanctions and federal tax debt filters and columns
- Everything in Advanced
- 500,000 lookups/month
- Up to 100 lookups/min
- 20,000 name & partner searches/month
- List exports (50,000 rows/month + add-on credits)
- 5 users
- 5,000 State Registration lookups/month
- Custom limits
- SLA and dedicated support
- Custom billing
Frequently asked questions
Everything you need to know before looking up a CNPJ.
What is CNPJ API?
CNPJ API is a service to look up company data by CNPJ, straight from Brazil's public Receita Federal database. You can look it up in several ways: here on the site, no sign-up; inside the platform, with your account at app.cnpjapi.com.br; through the REST API (JSON response, including a ReceitaWS-compatible format) to integrate with your system; or with no code, in Excel, Google Sheets and automation tools. Beyond the CNPJ registration, it looks up State Registration (IE) from the official SEFAZ source and does batch lookups. It is operated by Guidi Sistemas.
How do I look up a CNPJ?
There are three ways: on the site, typing the CNPJ in the search box and seeing the result instantly; in the platform, signing in to your account at app.cnpjapi.com.br; or through the API, with a GET request passing the CNPJ and your key (JSON response, ready to integrate).
Is the lookup free?
Yes. Looking up a CNPJ on the site is free and needs no sign-up. For API use there is a free plan with a monthly quota; paid plans raise the lookup limit and the per-minute rate.
Do you issue invoices?
Yes. For customers in Brazil, we issue a service invoice (NFS-e) for paid plan payments and credit purchases. The invoice is issued within 7 calendar days after the payment is confirmed, using the tax details in your account (Conta > Dados fiscais, in the platform), and sent by e-mail. If you need it sooner, or have other invoicing needs, write to financeiro@cnpjapi.com.br. On the Scale plan (on request), invoicing follows the terms set in the contract.
What data does the lookup return?
Legal name, trade name, registration status, legal nature, primary and secondary CNAE activities, address, contact (phone and e-mail), ownership (QSA), Simples Nacional and MEI opt-in, share capital, opening date and the tax regime reported in the ECF.
Where does the data come from?
Straight from the official public Receita Federal database. State Registration (IE) comes from the official state tax authorities (SEFAZ), the federal tax debt from the open data PGFN publishes every quarter (with the extraction month in every lookup), and active installment plans with Receita Federal from the data it publishes every month (with the publication date in every lookup).
How do I request the removal of a CNPJ from the lookup?
If you want a CNPJ to stop appearing in the public lookup, or personal data shown in the result (for example, of a partner) to be reviewed, write to lgpd@guidisistemas.com.br. The data comes from the public Receita Federal database and generally refers to legal entities; we assess each request under Brazil's data protection law (LGPD, Law No. 13.709/2018) and our Privacy Policy. In some cases the request may not be granted when there is a legal basis for processing.
How do I use the API in my application?
Create a free account, generate your API key and make authenticated REST requests. The documentation has per-language examples and the limits of each plan.
Do I need to know how to code? Can I use it in Excel or Google Sheets?
You do not need to code. You can look up CNPJ directly in Excel (Power Query) and Google Sheets (a =CNPJ() function), and in automation tools like Make and Power Automate. There are step-by-step guides and a ready-to-copy template spreadsheet.
Can I look up several CNPJs at once?
Yes. On paid plans, batch lookup resolves up to 20 CNPJs per call. Without a paid plan, the default is one lookup per CNPJ, respecting the per-minute limit.
Can I migrate from ReceitaWS?
Yes. CNPJ API offers a ReceitaWS-compatible response format: in most cases you only change the API address and use your key, with no need to rewrite your integration.
Does CNPJ API look up State Registration (IE)?
Yes. Beyond the CNPJ, you can look up a company's State Registration (Inscrição Estadual) from the official state tax authorities (SEFAZ), by state or in a nationwide sweep. IE lookup requires an account.
How recent is the federal tax debt information?
PGFN publishes the federal tax debt registry every quarter; on paid plans, we show the extraction month and the publication date in every lookup. Between two publications, the information can be up to about 4 months behind.
The company already paid or set up an installment plan. Why does it still show?
Because PGFN's data is from a date before the payment or the installment plan; the status updates in the next quarterly publication. The current status can be checked in PGFN's Dívida Aberta, and a review of an entry is requested in REGULARIZE.
Does a federal tax debt in an installment plan count as under collection?
No. Entries in an installment plan, guaranteed, suspended by court decision or under negotiation are listed separately, in regular status, and do not count as under collection.
If the company is not in the registry, does that mean it has no debt?
No. It means the company was not under collection in that month's extraction. Later entries do not show, and the data does not include debts not yet registered in the federal tax debt registry.
How recent is the installment plan information?
Receita Federal publishes the active installment plan data every month, between the 20th and the 31st; on paid plans, we show the publication date in every lookup. The data can be up to about two months old.
Does having an installment plan with Receita Federal mean the company is irregular?
Not necessarily. An installment plan kept up to date does not, by itself, prevent the "positive with effects of negative" certificate (certidão positiva com efeitos de negativa). The data also does not say whether any installment is overdue.
If the company is not in the installment plan data, does that mean it owes nothing to Receita Federal?
No. It means the company had no active installment plan in that publication's data. Debts not in installments, not yet declared or already in the federal tax debt registry are not in this data.
How does an installment plan with Receita Federal differ from the federal tax debt registry?
The federal tax debt registry holds debts that PGFN has already registered for collection (for taxes administered by Receita Federal, after it refers them). An installment plan with Receita Federal comes before that. Installment plans for debts already in the registry show in the federal tax debt block, in regular status.
Does the lookup replace the tax clearance certificate?
No. For that, request the tax clearance certificate (certidão de regularidade fiscal) through the official channels.