CNPJ.ws (public) API
- Status
- Working
- API key
- Not needed
- Browser calls
- Runs in the browser
- Latency
- 296 ms
- Docs
- docs.cnpj.ws ↗
Build snapshot, not live. One verifier run on , from the machine that built this site. How we check
Example request
GEThttps://publica.cnpj.ws/cnpj/00000000000191
Sent from your browser straight to publica.cnpj.ws. No proxy: this site never sees the request or the answer.
Copy the request
curl -s 'https://publica.cnpj.ws/cnpj/00000000000191'const res = await fetch("https://publica.cnpj.ws/cnpj/00000000000191");
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://publica.cnpj.ws/cnpj/00000000000191", timeout=10)
res.raise_for_status()
print(res.json())Response stored by the verifier
This is what publica.cnpj.ws answered when the verifier sent the request above on : HTTP 200, application/json. Arrays are cut to two items and long strings are shortened. It comes from the build snapshot.
{
"cnpj_raiz": "00000000",
"razao_social": "BANCO DO BRASIL SA",
"capital_social": "120000000000.00",
"responsavel_federativo": "",
"atualizado_em": "2026-09-12T03:00:00.000Z",
"porte": {
"id": "05",
"descricao": "Demais"
},
"natureza_juridica": {
"id": "2038",
"descricao": "Sociedade de Economia Mista"
},
"qualificacao_do_responsavel": {
"id": 10,
"descricao": "Diretor "
},
"socios": [
{
"cpf_cnpj_socio": "***058029**",
"nome": "JULIO CESAR VEZZARO",
"tipo": "Pessoa Física",
"data_entrada": "2023-07-20",
"cpf_representante_legal": "***000000**",
"nome_representante": null,
"faixa_etaria": "41 a 50 anos",
"atualizado_em": "2026-09-12T03:00:00.000Z",
"pais_id": "1058",
"qualificacao_socio": {
"id": 10,
"descricao": "Diretor "
},
"qualificacao_representante": null,
"pais": {
"id": "1058",
"iso2": "BR",
"iso3": "BRA",
"nome": "Brasil",
"comex_id": "105"
}
},
{
"cpf_cnpj_socio": "***263598**",
"nome": "MARCELO HENRIQUE GOMES DA SILVA",
"tipo": "Pessoa Física",
"data
…Availability
Up 1 of 1 day checked · 30-day window
What counts as up for this API: an answer within five seconds, a 2xx status, and the JSON body must contain the field "razao_social".
Last check: — passed, HTTP 200 in 296 ms.
The check runs from our infrastructure, not from where you are. If you need certainty, send the request yourself above. How the verifier works.
Questions
Does the CNPJ.ws (public) API need an API key?
No. The sample request on this page was answered without a key, token or account. Note: The public endpoint allows three requests per minute.
Can I call the CNPJ.ws (public) API from the browser?
Yes. publica.cnpj.ws answered our verifier with an Access-Control-Allow-Origin header on Oct 3, 2026, so a fetch call from a web page can read the response.
Is the CNPJ.ws (public) API working?
At the check on Oct 3, 2026 it returned HTTP 200 with the expected data in 296 ms. The status at the top of this page shows the most recent result we have.