Sobre esta API
Cadastro do veículo a partir da placa: marca, modelo, versão, ano de fabricação e ano-modelo, cor, combustível, categoria, município e UF de registro e o indicador de roubo ou furto — com o preço na tabela FIPE do mês na mesma resposta.
Envie a placa em plate, no padrão antigo (ABC1234) ou Mercosul (ABC1D23), com ou sem hífen. Placa fora do padrão volta 400 e não é cobrada.
Placa válida sem cadastro volta com found: false e é cobrada: a consulta foi feita. Não traz dados do proprietário, chassi nem RENAVAM.
Cadastro de veículos e tabela FIPE · Atualização: tempo real
Requisição
GET /api/v1/vehicle/plateAutenticação HTTP Basic: public_key:secret_key em Base64. Guarde a chave secreta no servidor.
| Cabeçalho | Descrição |
|---|---|
AuthorizationObrigatório | Chave de API em Basic: public_key:secret_key em Base64. |
X-Project-IdOpcional | Projeto que recebe a chamada. Sem ele, vale o projeto padrão da conta. |
Idempotency-KeyOpcional | Repetir a mesma chave em até 24 horas devolve a resposta anterior, sem executar nem cobrar de novo. |
Parâmetros
| Campo | Tipo e local | Descrição |
|---|---|---|
plateObrigatório | stringquery | Padrão antigo ou Mercosul, com ou sem hífen. Exemplo: |
curl --request GET 'https://api.apifordevs.com/api/v1/vehicle/plate?plate=ABC1D23' \
--user "afd_live_pk_...:$AFD_SECRET_KEY" \
--header "X-Project-Id: $AFD_PROJECT_ID"
import os
import requests
response = requests.request(
"GET",
"https://api.apifordevs.com/api/v1/vehicle/plate?plate=ABC1D23",
auth=("afd_live_pk_...", os.environ["AFD_SECRET_KEY"]),
headers={"X-Project-Id": os.environ["AFD_PROJECT_ID"]},
timeout=30,
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.apifordevs.com/api/v1/vehicle/plate?plate=ABC1D23", {
method: "GET",
headers: {
Authorization: "Basic " + Buffer.from(
"afd_live_pk_...:" + process.env.AFD_SECRET_KEY
).toString("base64"),
"X-Project-Id": process.env.AFD_PROJECT_ID,
},
signal: AbortSignal.timeout(30000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
console.log(await response.json());
Campos de resposta
Campos e tipos publicados no catálogo desta API.
- Encontrado
foundboolean - Placa
platestring - Veículo
vehicleobject - Marca
vehicle.brandstring - Modelo
vehicle.modelstring - Versão
vehicle.versionstring - Ano de fabricação
vehicle.manufacture_yearinteger - Ano-modelo
vehicle.model_yearinteger - Cor
vehicle.colorstring - Combustível
vehicle.fuelstring - Categoria
vehicle.categorystring - Município
vehicle.citystring
- UF
vehicle.statestring - Registro de roubo ou furto
vehicle.theft_recordboolean - Registro ativo de roubo ou furto na data da consulta.
- Código FIPE
vehicle.fipe_codestring - Tabela FIPE
fipeobject - Tipo de veículo
fipe.vehicle_typestring - Código FIPE
fipe.fipe_codestring - Marca
fipe.brandstring - Modelo
fipe.modelstring - Ano-modelo
fipe.model_yearinteger - Zero km
fipe.zero_kmboolean - Combustível
fipe.fuelstring - Sigla do combustível
fipe.fuel_acronymstring - Preço
fipe.pricestring - Valor como a tabela FIPE publica:
R$ 50.000,00. - Preço (decimal)
fipe.price_valuestring - O mesmo valor em decimal com ponto:
50000.00. - Mês de referência
fipe.reference_monthstring - Mês de referência da tabela FIPE que respondeu.
Exemplo de resposta
{
"success": true,
"code": 200,
"code_message": "A requisição foi processada com sucesso.",
"errors": [],
"header": null,
"data_count": 1,
"data": [
{
"found": true,
"plate": "ABC1D23",
"vehicle": {
"brand": "FIAT",
"model": "ARGO",
"version": "1.0 6V FLEX",
"manufacture_year": 2018,
"model_year": 2018,
"color": "PRATA",
"fuel": "FLEX",
"category": "AUTOMOVEL",
"city": "SAO PAULO",
"state": "SP",
"theft_record": false,
"fipe_code": "001509-1"
},
"fipe": {
"vehicle_type": "cars",
"fipe_code": "001509-1",
"brand": "Fiat",
"model": "ARGO 1.0 6V Flex",
"model_year": 2018,
"zero_km": false,
"fuel": "Flex",
"fuel_acronym": "F",
"price": "R$ 48.093,00",
"price_value": "48093.00",
"reference_month": "outubro de 2026"
}
}
]
}
Respostas e cobrança
| HTTP | Descrição | Cobrança |
|---|---|---|
200 | Sucesso. Placa sem cadastro também é 200, com found: false, e é cobrada. | Sujeita à cobrança |
400
| Placa fora do padrão antigo ou Mercosul. Não é cobrada. | Sem cobrança |
401
| Credencial ausente, inválida ou revogada. | Sem cobrança |
402
| Saldo insuficiente ou limite de gasto diário atingido. | Sem cobrança |
403
| E-mail da conta não verificado, chave sem escopo para o serviço, IP fora da allowlist do projeto ou chave de teste sem dev_mode=true. | Sem cobrança |
409
| Requisição com a mesma Idempotency-Key ainda em andamento. | Sem cobrança |
422
| Parâmetro obrigatório ausente ou fora do formato, ou Idempotency-Key repetida com outro conteúdo. | Sem cobrança |
429
| Limite de requisições por minuto da chave atingido. | Sem cobrança |
500
| Falha interna. | Sem cobrança |
503
| Serviço desativado (service_unavailable), ou a consulta da placa não respondeu a tempo (upstream_error). Não é cobrada; com upstream_error, pode ser repetida. | Sem cobrança |
Casos de uso
Cotação de seguro pela placa
O cliente digita a placa e a cotação já sai com modelo, ano e valor FIPE, sem formulário de marca e modelo.
Antifraude em compra e venda
Conferir se o anúncio bate com o cadastro da placa e se há registro de roubo ou furto antes de fechar negócio.
Garantia de crédito
Avaliar o veículo dado em garantia pelo preço FIPE do mês.