Confira o preço antes de iniciar a pesquisa. Envie POST /v1/orcamento/cnd-estadual-mg com os dados que deseja pesquisar. O orçamento informa o valor e a disponibilidade, 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
Preço a definir
—
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
Cobrança, idempotência e leitura do resultado. Leia antes da primeira chamada.
Custa dinheiro se você ignorar 1
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.
Vale saber antes de integrar 1
"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.
Contexto 1
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
Autentique com token no cabeçalho. Parâmetro obrigatório ausente é recusado com
422, antes de qualquer cobrança.
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. Trate
null como dado ausente, não como zero.
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. Leia as colunas Estorna e Retenta antes de integrar: nem toda falha devolve o dinheiro.
| 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 |
Estorno:
erro_participante é a única
classe que não devolve o dinheiro — nela a origem
respondeu recusando os dados do pedido. Corrija o alvo antes de repetir.
fatal é falha nossa e sempre estorna.
Permanentes: não retente 602 e 603. A fonte sai do ar na hora e a nossa equipe é avisada.
Limites e desempenho
Números medidos em produção. "Não medido" é falta de amostra — nenhum valor aqui é estimativa.
Tempo típico
não medido
p95
não medido
Teto por hora
—
Timeout máximo
—
De onde vem o tempo: cerca de 85% dos ~s típicos é a origem varrendo os cartórios. Dimensione o seu timeout por esse número e não conte com redução.
Sobre o teto: a origem exige sessão única por conta, então os pedidos são serializados. É limite técnico, não cota comercial: acima dele a fila cresce e paralelizar do seu lado não acelera. Para volume maior, combine antes.
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.
Vai integrar?
Diga o volume que você espera e em quais UFs. A ordem de liberação segue a demanda.