## DETRAN / ES / Veículo
Consulta cadastro do veículo no Departamento Estadual de Trânsito (DETRAN) do Espírito Santo (ES).Se você deseja utilizar uma única API para consultar restrições de veículos em DETRANs de todos os estados do Brasil, recomendamos utilizar a API Detran / Restrições (Unificada).


### Site URL
- https://publicodetran.es.gov.br/ConsultaVeiculo/NovoConsultaVeiculoES.asp

### Request
POST endpoint: `https://api.infosimples.com/api/v2/consultas/detran/es/veiculo`



| Parameter     | Description                                                                                                                                                                                                                                                                |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token*        | The token that will authenticate and authorize the request.                                                                                                                                                                                                                |
| login_cpf**   | Este parâmetro é necessário caso o login no GOV.BR seja feito com CPF e senha. Deve ser informado o CPF para fazer login no GOV.BR.                                                                                                                                        |
| login_senha** | Este parâmetro é necessário caso o login no GOV.BR seja feito com CPF e senha. Deve ser informada a senha para fazer login no GOV.BR.                                                                                                                                      |
| pkcs12_cert** | Este parâmetro é necessário caso o login no GOV.BR seja feito com certificado digital. Conteúdo do arquivo do certificado digital A1 encriptado seguindo <a href="https://api.infosimples.com/consultas/docs/certificados#criptografia">as instruções de criptografia</a>. |
| pkcs12_pass** | Este parâmetro é necessário caso o login no GOV.BR seja feito com certificado digital. Senha do certificado digital A1 encriptada seguindo <a href="https://api.infosimples.com/consultas/docs/certificados#criptografia">as instruções de criptografia</a>.               |
| placa*        | License plate of the vehicle to be queried.                                                                                                                                                                                                                                |
| renavam*      | RENAVAM of the vehicle to be queried.                                                                                                                                                                                                                                      |

> * Required parameter.

> ** Optional parameter. Sometimes it is necessary to set at least one of the optional parameters for the service to work properly.


### Response examples (OK)
```json
{
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": {
    "api_version": "v2",
    "api_version_full": "2.2.34-20260219170552",
    "product": "Consultas",
    "service": "detran/es/veiculo",
    "parameters": {
      "login_cpf_md5": "e379c59a3573be16480533ae3f53ea1b",
      "login_senha_md5": "e379c59a3573be16480533ae3f53ea1b",
      "placa": "AAA1111",
      "renavam": "1111111111"
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.2",
    "requested_at": "2026-02-23T16:41:46.000-03:00",
    "elapsed_time_in_milliseconds": 515,
    "remote_ip": "111.111.111.111",
    "signature": "bjTjCFc4cl5RhGBWkUhWYvJWeVwTjJrcTzP5NFSwwzoVJegX3zJK5bEQDWo3mP/pnwLNHVQvf2h9DfUxhqVj8Prpiy13QNOfkOiF3w=="
  },
  "data_count": 1,
  "data": [
    {
      "ano_fabricacao": "2015 ",
      "ano_modelo": " 2016",
      "ano_ultimo_licenciamento": "Último Exercício Licenciado",
      "averbacao_judicial": "Exemplo de Averbação",
      "carroceria": "JIPE",
      "categoria": "1 - Particular",
      "combustivel": "16 - Alcool-Gasol",
      "cor": "10 - PRATA",
      "data_aquisicao": "12/12/2019",
      "debitos": [
        {
          "descricao": "Exemplo de descrição",
          "vencimento": "01/04/2026",
          "nominal": "R$ 1.563,72",
          "corrigido": "R$ 1.563,72",
          "desconto": "R$ 234,56",
          "juros": "R$ 0,00",
          "multa": "R$ 0,00",
          "atual": "R$ 1.329,16",
          "normalizado_nominal": 1563.72,
          "normalizado_corrigido": 1563.72,
          "normalizado_desconto": 234.56,
          "normalizado_juros": 0.0,
          "normalizado_multa": 0.0,
          "normalizado_atual": 1329.16
        }
      ],
      "especie": "Exemplo de espécie",
      "gravame": "Exemplo de Gravame",
      "impedimentos": "Transferido",
      "indicativo_clonagem": "Exemplo de Indicativo",
      "informacoes_contrato_aditivo": "Exemplo de Informações",
      "infracoes": [
        {
          "numero_auto": "Exemplo de Texto",
          "descricao": "Exemplo de descrição",
          "local": "Avenida Paulista, 1636"
        }
      ],
      "lugares": "5",
      "marca_modelo": "114826 - TOYOTA/COROLLA XEI20FLEX (Nacional)",
      "multas": [
        {
          "numero_auto": "Exemplo de Texto",
          "status": "Em Aberto",
          "descricao": "Exemplo de descrição",
          "codigo_renainf": "",
          "local": "Avenida Paulista, 1636",
          "data_hora": "11/11/1111 11:11",
          "municipio": "SAO PAULO / SP"
        }
      ],
      "municipio": "SAO PAULO / SP",
      "origem": "CADASTRO",
      "placa": "AAA1111",
      "placa_anterior": "V.NOVO /SP",
      "potencia": "154",
      "processos": [
        {
          "numero": "1111111111",
          "passos": [
            {
              "situacao": "Abertura",
              "data": "11/11/2011",
              "ciretran": "Exemplo de Ciretran",
              "motivo": "-"
            }
          ]
        }
      ],
      "proprietario": "Nome de Exemplo",
      "proprietario_anterior": "Exemplo de Proprietário",
      "recadastrado_detran": "Exemplo de Recadastrado",
      "recursos": [
        {
          "processo": "1111111-11.1111.1.11.1111",
          "numero_protocolo": "UF-1234567-0123456789ABCDEF0123456789ABCDEF",
          "numero_auto": "Exemplo de Texto",
          "detalhes": "Exemplo de Texto",
          "resultado": "500.00"
        }
      ],
      "renavam": "1111111111",
      "restricoes": "Sem gravame",
      "situacao": "Em Circulação",
      "tipo": "AUTOMOVEL",
      "ultimo_crlv": "Exemplo de Último CRLV",
      "site_receipt": "https://www.exemplo.com/exemplo-de-url"
    }
  ],
  "site_receipts": [
    "https://www.exemplo.com/exemplo-de-url"
  ]
}
```


### Preview file

The preview file (`site_receipts`) in the response JSON is **generated by the source (website/app)** that processed the automation.

### Code snippets


#### Python
```python
# Tested with: Python 3.10.19, Python 3.14.0
import requests
import base64
# pip install aes-bridge
import aes_bridge

url = 'https://api.infosimples.com/api/v2/consultas/detran/es/veiculo'
args = {
  "login_cpf":   "VALUE_OF_PARAMETER_LOGIN_CPF",
  "login_senha": "VALUE_OF_PARAMETER_LOGIN_SENHA",
  "pkcs12_cert": aes_bridge.encrypt(base64.b64encode(open("certificate.pfx", "rb").read()).decode(), "ENCRYPTION_KEY").decode("ascii").replace("+", "-").replace("/", "_").rstrip("="),
  "pkcs12_pass": aes_bridge.encrypt("CERTIFICATE_PASSWORD", "ENCRYPTION_KEY").decode("ascii").replace("+", "-").replace("/", "_").rstrip("="),
  "placa":       "VALUE_OF_PARAMETER_PLACA",
  "renavam":     "VALUE_OF_PARAMETER_RENAVAM",
  "token":       "WRITE_YOUR_TOKEN_HERE",
  "timeout":     "300"
}

response = requests.post(url, args)
response_json = response.json()
response.close()

if response_json['code'] == 200:
  print("Retorno com sucesso: ", response_json['data'])
elif response_json['code'] in range(600, 799):
  mensagem = "Resultado sem sucesso. Leia para saber mais: \n"
  mensagem += "Código: {} ({})\n".format(response_json['code'], response_json['code_message'])
  mensagem += "; ".join(response_json['errors'])
  print(mensagem)

print("Cabeçalho da consulta: ", response_json['header'])
print("URLs com arquivos de visualização (HTML/PDF): ", response_json['site_receipts'])
```


## We are here to help
Do you still need to figure something out? Reach us at [suporte@infosimples.com.br](mailto:suporte@infosimples.com.br) and our highly qualified support team will be happy to help.
