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.

Documentação

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.

Em construção
POST /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.

Crítico

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.

Atenção

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.

Atenção

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.

12

Campo que a origem não informou volta null — nunca 0 nem string vazia. Um zero inventado vira "nada consta" num laudo.

data[] object
12 campos
status string

Veredito lido do documento emitido: negativa, positiva com efeito de negativa, ou positiva.

tipo_documento string

O que a prefeitura de fato emitiu. Nem toda origem emite "negativa" — algumas só têm "positiva com efeitos de negativa".

contribuinte string null

Nome do contribuinte como consta no cadastro municipal. Pode divergir do seu — confira antes de arquivar.

endereco string null

Endereço no cadastro municipal, quando o PDF traz.

certidao_codigo string null

Número de controle da certidão.

chave_autenticidade string null

Chave que valida o documento no portal da prefeitura. É a prova de autenticidade, e volta no corpo — não só dentro do PDF.

url_validacao string null

Endereço onde a chave é conferida.

emissao_data date null

Emissão, em ISO-8601.

data_validade date null

Validade declarada no documento, em ISO-8601. É o que alimenta o alerta de vencimento.

municipio string

Município que emitiu.

uf string(2)

UF do município emissor.

consultado_em datetime

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.

Falar com a gente →