Os preços desta página são de tabela, sem assinatura — plano reduz o valor por consulta, e fonte de repasse cobra o emolumento da UF do alvo. O número que vale é o do POST /v1/orcamento/cnd-estadual-mg, calculado sobre o alvo real e sem cobrar.
Secretaria de Estado de Fazenda de Minas Gerais (SEFAZ-MG)
CND Estadual — Minas Gerais
Certidão de Débitos Tributários da SEFAZ-MG para CPF ou CNPJ, com o PDF oficial do estado.
Site oficial da fonte ↗/v1/consultas/cnd-estadual-mg
v1
Tempo típico
não medido
A partir de
R$ 1,00
por consulta, varia por UF
Visão geral
Emite a CDT — Certidão de Débitos Tributários — da Secretaria de Fazenda de Minas Gerais para pessoa física ou jurídica, e devolve o PDF oficial junto com o veredito já lido.
A origem é pública e gratuita, mas exige autenticação por certificado digital. Quem entra no portal é a NOSSA credencial — você não precisa ter, nem enviar, certificado nenhum.
É o caminho que existe: a mesma certidão pelos dois endpoints do provedor está indisponível.
Antes de começar
1 crítico · 1 de atenção · 1 de contexto
Cada item aqui saiu de um caso real que custou dinheiro. Ler isto é mais barato do que descobrir depois.
Um estado só, e de propósito
Esta API é Minas Gerais. Não existe parâmetro de UF, e não existe fallback para outro estado: cada SEFAZ é um sistema diferente, com login diferente.
CND estadual de outras UFs sai pelo caminho revendido, que é outro produto no catálogo.
"Positiva com efeitos de negativa" não é negativa
Existe débito, e ele está com exigibilidade suspensa — parcelado, garantido ou discutido. O documento serve para quase tudo que uma negativa serve, mas o texto é outro e há contratante que recusa.
Por isso status e tipo_documento são campos separados. Ler só o primeiro perde a distinção que decide se o edital aceita.
O certificado é nosso, não seu
O acesso ao portal é feito com o certificado A1 da OficialData no handshake TLS. Você não envia certificado, não configura mTLS e não precisa ter procuração eletrônica.
O que isso significa na prática: a disponibilidade desta fonte depende da validade do NOSSO certificado. Ele expirar é indisponibilidade, e é retentável.
Requisição
Autenticação por token no cabeçalho. Parâmetro obrigatório que falta é recusado antes de qualquer cobrança — não vira consulta paga que volta vazia.
cpf_cnpj
string
obrigatório
CPF (11 dígitos) ou CNPJ (14 dígitos) do contribuinte. Com ou sem máscara.
curl -X POST https://api.oficialdata.com.br/v1/consultas/cnd-estadual-mg \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cpf_cnpj": "12345678000190"
}'
O HTTP é sempre 200 quando a requisição chegou.
O resultado real está em code, no corpo — trate
code, nunca o status.
Resposta
Dentro de data[]:
10 campos em 1 blocos.
Campo que a origem não informou volta null —
nunca 0 nem string vazia. Um zero inventado
vira "nada consta" num laudo.
data[]
object
Veredito lido do documento: negativa, positiva com efeito de negativa, ou positiva.
O que a SEFAZ de fato emitiu — a certidão pode sair como "positiva com efeitos de negativa", que não é a mesma coisa que negativa.
Nome como consta no cadastro estadual.
Inscrição estadual do contribuinte, quando existe. Ausência não é erro: PF e empresa sem IE em MG simplesmente não têm.
Débitos discriminados, quando a certidão é positiva.
Código de controle para conferência no portal da SEFAZ.
Emissão, em ISO-8601.
Validade declarada, em ISO-8601.
Sempre MG — esta API é de um estado só.
Quando consultamos a origem, em ISO-8601.
Códigos de erro
O mesmo mapa que o motor usa em produção. As colunas de estorno e retentativa fazem parte do contrato: nem toda falha devolve o dinheiro, e você tem direito de saber quais antes de integrar.
| Classe | Códigos | Significa | Estorna | Retenta |
|---|---|---|---|---|
sucesso |
200 | A origem respondeu e entregou. | — | — |
nao_encontrado |
612 | A origem respondeu: nada consta para este alvo. | Não | Não |
indeterminado |
611 | A origem não conseguiu emitir pela internet. Não é irregularidade. | Não | Não |
erro_participante |
608 619 620 | A origem recusou os DADOS do pedido. | Não | Sim |
retry |
600 605 609 610 613 614 615 618 | Instabilidade momentânea da origem ou do transporte. | Sim | Sim |
fatal |
601 602 603 604 606 607 617 621 622 | Defeito de integração — nosso, não seu. | Sim | Não |
A pegadinha do estorno:
erro_participante é a única
classe que não devolve o dinheiro — nela a
origem respondeu, recusando os dados do pedido. Falha nossa é
fatal e sempre estorna.
Permanentes: 602 e 603 não se curam sozinhos — não vale retentar. A fonte sai do ar na hora e um humano é avisado.
Preço por UF
É emolumento de cartório, fixado por lei estadual. Orçar antes de disparar em lote não é boa prática, é requisito.
Mais barata
R$ 1,00
MG
Mediana
R$ 1,00
1 UFs vendáveis
Mais cara
R$ 1,00
MG — 1,0× a mais barata
Estes são os preços da sua conta. O valor é o emolumento do cartório mais a nossa margem, e a margem varia conforme o seu plano — planos maiores pagam menos por consulta.
MG
1,00
Limites e desempenho
Números medidos em produção. Onde está "não medido", é porque não medimos — e um número chutado aqui viraria SLA que ninguém verificou.
Tempo típico
não medido
p95
não medido
Teto por hora
—
Timeout máximo
—
De onde vem o tempo: dos ~s típicos, cerca de 85% é a origem varrendo os cartórios. Essa parte é intocável — não há otimização nossa que a reduza.
Sobre o teto: a origem exige sessão única por conta, então as corridas são serializadas. O número acima é o limite real de uma conta, não uma cota comercial. Volume acima disso exige combinar antes — não adianta paralelizar do seu lado.
Versionamento
O contrato de resposta é v1,
e a versão viaja em header.api_version
em toda resposta.
- Campo novo opcional pode entrar a qualquer momento e não muda a versão. Seu parser precisa ignorar campo que não conhece.
- Remover campo, renomear campo ou mudar tipo é versão nova, publicada em paralelo, com prazo de desligamento anunciado da anterior.
- Nunca alteramos o significado de um campo existente mantendo o nome. Se o significado muda, o nome muda junto.
Quer ser dos primeiros a integrar?
A ordem de liberação segue a demanda real. Diga o volume que você espera e em quais UFs.