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/cetesb-licenciamento, calculado sobre o alvo real e sem cobrar.
Companhia Ambiental do Estado de São Paulo (CETESB)
Licenciamento ambiental — CETESB
Solicitações e licenças ambientais de um CNPJ na CETESB, com as unidades e o andamento de cada processo.
Site oficial da fonte ↗/v1/consultas/cetesb-licenciamento
v1
Tempo típico
não medido
A partir de
R$ 1,00
por consulta, varia por UF
Visão geral
Responde "o que esta empresa tem em aberto na CETESB": solicitações de licenciamento, licenças emitidas e as unidades às quais elas pertencem, no estado de São Paulo.
É due diligence ambiental de verdade — a pergunta que a certidão negativa não responde. Uma empresa sem débito fiscal pode ter uma licença vencida, um processo parado ou uma unidade operando sem autorização.
A origem é pública e gratuita. O preço cobre a automação, o parsing das fichas e o arquivamento.
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.
Leitura parcial é declarada, não escondida
Quando fichas_indisponiveis é maior que zero, lemos menos do que a origem tinha. A lista devolvida está certa no que traz, mas não é o retrato completo — e um laudo que afirme "nada pendente" em cima de leitura parcial afirma o que ninguém apurou.
É o mesmo princípio da prova de alcance da Pesquisa Prévia: o número que separa "não existe" de "não conseguimos ver" tem de estar na resposta.
Não é certidão
A CETESB não emite documento por esta via. O que volta é a leitura estruturada das telas públicas dela, com a data em que foi feita.
Serve para investigar e para instruir — não para juntar como certidão negativa ambiental, que é outra coisa e a origem não emite aqui.
CNPJ, não CPF
O licenciamento é do empreendedor pessoa jurídica, e é assim que a fonte é vendida por padrão: alvo pessoa física é recusado na aplicabilidade, antes de cobrar.
Existe um gate interno que libera PF (advocacia.fontes_pf_liberadas) e ele está fechado. Enquanto estiver, integre contando com PJ.
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
CNPJ (14 dígitos) do empreendedor. Com ou sem máscara.
curl -X POST https://api.oficialdata.com.br/v1/consultas/cetesb-licenciamento \
-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[]:
8 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
SUCESSO, NAO_ENCONTRADO ou INDISPONIVEL. Alvo sem processo é RESPOSTA, não falha.
Quantas solicitações de licenciamento a origem devolveu para o CNPJ.
Quantas unidades (endereços/estabelecimentos) aparecem nessas solicitações.
Uma entrada por solicitação, com número, objeto, unidade e situação.
Atenção: Quantas fichas de detalhe a origem não abriu nesta execução. Maior que zero significa leitura PARCIAL — ver a nota.
Quantas fichas ficaram de fora por teto de leitura, para não martelar um servidor público gratuito.
Frase pronta para tela e laudo.
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
SP
Mediana
R$ 1,00
1 UFs vendáveis
Mais cara
R$ 1,00
SP — 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.
SP
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.