Confira o preço antes de iniciar a pesquisa. Envie POST /v1/orcamento/areas-contaminadas-sp com os dados que deseja pesquisar. O orçamento informa o valor e a disponibilidade, sem cobrar.

Documentação

Companhia Ambiental do Estado de São Paulo (CETESB)

Áreas contaminadas — São Paulo

Procura o consultado no cadastro estadual de áreas contaminadas e reabilitadas de São Paulo, por nome.

Site oficial da fonte ↗
Em construção
POST /v1/consultas/areas-contaminadas-sp v1

Tempo típico

não medido

Preço a definir

—

Visão geral

Responde "o nome desta pessoa ou empresa aparece no cadastro de áreas contaminadas de São Paulo?" — o passivo ambiental que nenhuma certidão negativa mostra e que muda o preço de um imóvel, de uma aquisição ou de uma garantia.

A resposta traz a classificação de cada área (em investigação, contaminada, em reabilitação, reabilitada), que é o que separa um problema aberto de um encerrado.

Atenção: A busca é por NOME porque a base não tem documento nenhum. O resultado é candidato por semelhança — quem confirma o vínculo é você, comparando endereço e razão social.

Antes de começar

Cobrança, idempotência e leitura do resultado. Leia antes da primeira chamada.

Custa dinheiro se você ignorar 2

A base não tem CNPJ. Isso é do contrato, não uma limitação nossa

O cadastro publicado pelo estado identifica a área e o responsável por NOME. Não há CPF nem CNPJ em campo nenhum — então não existe consulta por documento, e não existe certeza de que o "EMPRESA EXEMPLO LTDA" da base é o seu.

Trate cada retorno como candidato a conferir: compare endereço, município e razão social antes de afirmar qualquer coisa. Homônimo de razão social é comum, e um passivo ambiental atribuído a quem não é dono dele é uma acusação.

Nome muito curto é recusado sem cobrar — buscar por três letras devolveria meia base.

Ausência aqui não é certidão de área limpa

NAO_ENCONTRADO significa que o nome pesquisado não casou com nenhum registro do cadastro estadual. Não significa que o imóvel é limpo: a área pode estar cadastrada em nome do proprietário anterior, do operador, ou não ter sido investigada ainda.

Para o imóvel, a pergunta certa é por endereço — e essa a base responde mal.

Contexto 1

Só São Paulo

O cadastro é estadual. Passivo ambiental em outra UF não aparece aqui, e não há base nacional equivalente publicada em formato aberto.

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

Identifica o alvo do pedido (é a quem o resultado fica associado e quem é cobrado). O documento NÃO é usado na busca — a base de origem não tem esse campo.

nome string obrigatório

Atenção: O termo efetivamente pesquisado: razão social ou nome do consultado. Sem ele a consulta é recusada sem cobrar, porque não há por onde buscar.

curl -X POST https://api.oficialdata.com.br/v1/consultas/areas-contaminadas-sp \
  -H "Authorization: Bearer SEU_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "cpf_cnpj": "12345678000190",
    "nome": "EMPRESA EXEMPLO LTDA"
}'

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[]: 9 campos em 1 blocos.

9

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
9 campos
status_consulta string

SUCESSO, NAO_ENCONTRADO ou INDISPONIVEL. Nome sem ocorrência é resposta, não falha.

nome string

O termo que foi pesquisado, do jeito que foi para a origem. Confira: é o que explica o que voltou.

total_areas integer

Quantas áreas casaram com o nome.

total_registros integer

Quantos registros a origem devolveu, antes do agrupamento por área.

classificacoes object

Contagem por classificação (em investigação, contaminada, em reabilitação, reabilitada). É o resumo que decide se há problema ABERTO.

areas_detalhadas[] array

Uma entrada por área, com endereço, município, classificação e a atividade que gerou o passivo.

areas_omitidas integer

Áreas encontradas mas não detalhadas por teto de leitura. Maior que zero significa que a lista detalhada não é exaustiva.

mensagem string

Frase pronta para tela e laudo.

consultado_em datetime

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.

Falar com a gente →