Debitado do seu saldo a cada chamada cobrada. Autenticação pelo header X-API-Key. Veja como obter a chave.
Consulta o Cadastro Técnico Federal (CTF/APP) do IBAMA e informa se a pessoa
física ou jurídica possui Certificado de Regularidade válido — o documento que
atesta o cumprimento das obrigações cadastrais e de prestação de informações
ambientais junto ao órgão.
É exigido em processos licitatórios, na aprovação de financiamentos em bancos
públicos, na obtenção de licenças estaduais e em certificações ambientais.
Quando há certificado, vem {"listaCategorias": [{"categoria", "detalhe"}], "observacaoCategoria": "<mensagem do órgão>"}.
Quando não há, vem null e a mensagem do órgão fica em observacao.
{
"type": "object",
"properties": {
"uf": {
"type": [
"string",
"null"
],
"description": "Unidade Federativa (estado)."
},
"cep": {
"type": [
"string",
"null"
],
"description": "Código de Endereçamento Postal."
},
"bairro": {
"type": [
"string",
"null"
],
"description": "Bairro do endereço."
},
"numero": {
"type": [
"number",
"null"
],
"description": "Número do endereço."
},
"documento": {
"type": [
"string",
"null"
],
"description": "Número do CPF ou CNPJ."
},
"municipio": {
"type": [
"string",
"null"
],
"description": "Município ou cidade."
},
"atividades": {
"type": [
"object",
"null"
],
"properties": {
"listaAtividades": {
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"description": "Lista de atividades."
},
"observacaoAtividade": {
"type": [
"string",
"null"
],
"description": "Observações sobre as atividades."
}
},
"description": "Dados de atividades relacionadas ao registro."
},
"categorias": {
"type": [
"object",
"null"
],
"properties": {
"listaCategorias": {
"type": [
"array",
"null"
],
"items": {
"type": "object",
"properties": {
"detalhe": {
"type": [
"string",
"null"
],
"description": "Detalhes da categoria."
},
"categoria": {
"type": [
"string",
"null"
],
"description": "Nome da categoria."
}
}
},
"description": "Lista de categorias."
},
"observacaoCategoria": {
"type": [
"string",
"null"
],
"description": "Observações sobre as categorias."
}
},
"description": "Dados de categorias relacionadas ao registro."
},
"logradouro": {
"type": [
"string",
"null"
],
"description": "Nome da rua, avenida ou via pública."
},
"observacao": {
"type": [
"string",
"null"
],
"description": "Observação geral sobre o registro."
},
"complemento": {
"type": [
"string",
"null"
],
"description": "Complemento do endereço."
},
"dataEmissao": {
"type": [
"string",
"null"
],
"description": "Data de emissão do certificado no formato dd/MM/yyyy HH:mm:ss."
},
"dataAbertura": {
"type": [
"string",
"null"
],
"description": "Data de abertura da entidade no formato dd/MM/yyyy HH:mm:ss."
},
"dataConsulta": {
"type": [
"string",
"null"
],
"description": "Data da consulta no formato dd/MM/yyyy HH:mm:ss."
},
"dataValidade": {
"type": [
"string",
"null"
],
"description": "Data de validade do certificado no formato dd/MM/yyyy HH:mm:ss."
},
"nomeFantasia": {
"type": [
"string",
"null"
],
"description": "Nome fantasia da entidade."
},
"numeroRegistro": {
"type": [
"string",
"null"
],
"description": "Número de identificação do registro."
},
"nomeEmpresarial": {
"type": [
"string",
"null"
],
"description": "Nome ou razão social da entidade."
},
"constaCertificado": {
"type": [
"boolean",
"null"
],
"format": "bool",
"description": "Indica se existe certificado válido para a entidade."
}
}
}
Códigos de erro
Código
Mensagem
Quando acontece
400
Requisição Inválida
a requisição está incorreta ou os parâmetros são inválidos.
401
Não Autenticado
o usuário não forneceu as credenciais corretas para acessar o recurso.
403
Não Autorizado
o servidor recebeu a requisição, mas se negou a autorizá-la por conta de saldo indisponível.
404
Não Encontrado
o servidor não encontrou uma representação atual do recurso solicitado.
408
Tempo Esgotado
o servidor não conseguiu retornar a requisição no prazo estabelecido.
500
Falha ao Realizar Consulta
o servidor não conseguiu processar a requisição com sucesso. Por favor, entre em contato com o nosso suporte.
503
Consulta em Manutenção
a consulta requisitada está em manutenção. Por favor, entre em contato com o nosso suporte.
Como ler o resultado
constaCertificado: true → a pessoa possui Certificado de Regularidade emitido e
válido até dataValidade.
constaCertificado: false → não possui. A explicação do órgão vem em
observacao, e normalmente é a ausência de inscrição ativa no CTF ou o
descumprimento de obrigações cadastrais. Note que não ter certificado não é o
mesmo que ter irregularidade ambiental — muitas atividades sequer exigem
inscrição no CTF.
Quando nada consta
Se a fonte não encontra registro algum para o documento, a resposta não traz os
campos acima. Ela vem no formato curto de negativa:
{"consta":false,"mensagem":"Nada consta para os parâmetros informados.","parametros":{"cnpj":"00000000000191"}}
Trate consta: false como o "nada consta" definitivo. Não assuma que os demais
campos existem sempre — teste a presença antes de ler. Medido em 27/07/2026: esse é
o formato de 15 em 20 consultas deste endpoint.
O certificado do CTF/APP não dispensa licenças, autorizações e alvarás de
outros entes, nem habilita o transporte de produtos florestais e faunísticos.
A consulta aceita CPF ou CNPJ; enviar os dois é erro de parâmetro.
Quando a certidão não é emitida
Quando a fonte oficial não localiza o titular do documento informado, a certidão não é emitida e a consulta responde:
Esse retorno não significa regularidade ambiental — significa que a fonte não conseguiu identificar o titular e, portanto, não emitiu o documento. A consulta é cobrada normalmente, pois a fonte foi efetivamente acionada e cobra por essa tentativa.
Integrar
OpenAPI (JSON) ↗ — importe a URL
no Postman ou no Insomnia para gerar a coleção com todos os endpoints. Também dá para consultar
pelo chat: conecte via MCP. Esta página em Markdown.