---
title: "Does the CNPJ exist and is it active ($0.001 via x402)"
method: GET
path: "/v1/cnpj/situacao/{cnpj}"
---

# Does the CNPJ exist and is it active ($0.001 via x402)

`GET /v1/cnpj/situacao/{cnpj}`

## Request

- Base URL: `https://api.brazilayer.com`
- URL: `https://api.brazilayer.com/v1/cnpj/situacao/{cnpj}`
- Auth: none declared

## Path parameters

- `cnpj` string, required

## Response `200`

Existence and registration status (a non-existent CNPJ still returns 200, with existe=false)

- object
  - `cnpj` string
  - `existe` boolean
  - `situacao_cadastral` object, nullable
    - `codigo` string
    - `descricao` string, nullable
    - `data` string, nullable
  - `matriz_filial` string, nullable
  - `uf` string, nullable
  - `fonte` Fonte: Data source and reference month
    - `base` 'RFB/CNPJ'
    - `referencia` string, nullable: YYYY-MM

## Other responses

- `400`: Error envelope: { erro: { codigo, mensagem } }
- `402`: x402 payment required. The `payment-required` response header carries base64 JSON with accepted payment options (scheme "exact", USDC on Base, amount in 6-decimal units, payTo address). Sign an EIP-3009 authorization and retry with the `payment-signature` header. x402 client libraries automate this. If you are not using an x402 client, read the JSON body instead: it states the price and links the free sample of this dataset plus the free tools.

---

[API](https://skmtc.dev/brazilayer/apis/brazilayer-brazilian-company-data-cnpj.md) · [All operations](https://skmtc.dev/brazilayer/apis/brazilayer-brazilian-company-data-cnpj/llms.txt) · [OpenAPI document](https://skmtc.dev/brazilayer/apis/brazilayer-brazilian-company-data-cnpj/revisions/609368003291?raw)
