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-municipal-direta, calculado sobre o alvo real e sem cobrar.
Prefeituras municipais (WebCidadão)
CND Municipal — direto na prefeitura
Certidão de débitos municipais emitida no sistema da própria prefeitura, com PDF e chave de autenticidade.
/v1/consultas/cnd-municipal-direta
v1
Tempo típico
não medido
A partir de
R$ 1,00
por consulta, varia por UF
Visão geral
Emite a certidão de débitos de um CPF ou CNPJ direto no sistema da prefeitura, sem intermediário. O documento é da ORIGEM: PDF com número de controle, chave de autenticidade e QR de validação no portal municipal.
A origem é pública e gratuita. O preço cobre a automação do formulário, a resolução do captcha, o parsing do PDF e o arquivamento — não o dado.
Atenção: A cobertura é a lista abaixo, e só ela. Cada município é uma instalação diferente do mesmo sistema, e só entra na lista depois de medido de ponta a ponta.
Antes de começar
1 crítico · 2 de atenção
Cada item aqui saiu de um caso real que custou dinheiro. Ler isto é mais barato do que descobrir depois.
Cobertura é lista fechada, e cresce por município
Esta API não atende "qualquer prefeitura". Ela atende as instalações de WebCidadão que foram medidas de ponta a ponta, uma a uma — a lista está publicada nesta página.
Município fora da lista é recusado ANTES de qualquer cobrança. Nunca substituímos por cidade vizinha: uma certidão da prefeitura errada é um documento válido e inútil.
Precisa de uma cidade que não está aqui? Fale com a gente. Se ela roda WebCidadão, entrar é configuração, não desenvolvimento.
O comprovante é da prefeitura, não nosso
Diferente das fontes que só raspam tela, aqui a origem EMITE documento de verdade. O que você recebe é o PDF dela, com número de controle e chave conferível no portal municipal — e é isso que o torna oponível a terceiro.
Guarde chave_autenticidade junto com o arquivo. É por ela que qualquer um confirma que o documento não foi adulterado.
Captcha não resolvido não é "nada consta"
O formulário é protegido por reCAPTCHA e cada consulta gasta uma resolução paga nossa. Quando ela falha, a resposta é indisponibilidade e o pedido é retentável — nunca sucesso com resultado vazio.
Isso importa para quem integra: um "não achamos débito" que na verdade era captcha quebrado viraria certidão negativa fabricada. Por isso o caminho falha fechado.
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.
municipio
string
obrigatório
Município da certidão. Precisa estar na cobertura publicada — fora dela a consulta é recusada sem cobrar, em vez de emitir a certidão de outra cidade.
uf
string(2)
obrigatório
UF do município. Desambigua os homônimos, que em nome de cidade brasileira são a regra.
curl -X POST https://api.oficialdata.com.br/v1/consultas/cnd-municipal-direta \
-H "Authorization: Bearer SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cpf_cnpj": "12345678000190",
"municipio": "Piumhi",
"uf": "MG"
}'
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[]:
12 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 emitido: negativa, positiva com efeito de negativa, ou positiva.
O que a prefeitura de fato emitiu. Nem toda origem emite "negativa" — algumas só têm "positiva com efeitos de negativa".
Nome do contribuinte como consta no cadastro municipal. Pode divergir do seu — confira antes de arquivar.
Endereço no cadastro municipal, quando o PDF traz.
Número de controle da certidão.
Chave que valida o documento no portal da prefeitura. É a prova de autenticidade, e volta no corpo — não só dentro do PDF.
Endereço onde a chave é conferida.
Emissão, em ISO-8601.
Validade declarada no documento, em ISO-8601. É o que alimenta o alerta de vencimento.
Município que emitiu.
UF do município emissor.
Quando nós 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.