Tabela FIPE: valor por marca, modelo ou código
Valor FIPE do mês (ou de um mês passado) por marca, modelo e ano, ou direto pelo código FIPE, com histórico opcional.
POST
https://api.zapcarconsulta.com.br/v1/fipe/tabelaCobra saldoIdempotency-KeySíncronoSandbox
O valor da Tabela FIPE por código FIPE (ou por marca + modelo, com os códigos das listas gratuitas) e ano. Síncrono, como a FIPE por placa: sem id, sem polling, sem PDF. Com historico: true, a resposta traz os últimos meses, sem custo adicional.
Informação:
Preço: R$ 0,10 por requisição
Serviço
fipe-tabela em GET /v1/servicos, com estorno automático se falhar ou não houver valor. Aceita Idempotency-Key; o replay devolve o mesmo 200.valor é o texto como a FIPE publica; valor_numerico é o mesmo número, para cálculo. Se a fonte não devolver o histórico pedido, historico vem null e o valor é entregue e cobrado normalmente.
Pedido
curl -X POST "https://api.zapcarconsulta.com.br/v1/fipe/tabela" \
-H "Authorization: Bearer $ZAPCAR_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: pedido-9f2c-fipe-tabela" \
-d '{"tipo":"carros","codigo_fipe":"005340-6","ano":"2014-3","historico":true}'Resposta
{
"id": "c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"servico": "fipe-tabela",
"tipo": "carros",
"referencia": null,
"veiculo": {
"codigo_fipe": "005340-6",
"marca": "VW - VolksWagen",
"modelo": "AMAROK High.CD 2.0 16V TDI 4x4 Dies. Aut",
"ano_modelo": 2014,
"ano": "2014-3",
"combustivel": "Diesel",
"sigla_combustivel": "D"
},
"valor": "R$ 85.179,00",
"valor_numerico": 85179,
"mes_referencia": "setembro de 2026",
"historico": [
{ "valor": "R$ 85.179,00", "valor_numerico": 85179, "mes_referencia": "setembro de 2026", "referencia": "337" },
{ "valor": "R$ 85.608,00", "valor_numerico": 85608, "mes_referencia": "agosto de 2026", "referencia": "336" }
],
"valor_cobrado": 0.10,
"saldo_restante": 464.66
}Requisição
Cabeçalhos
AuthorizationstringobrigatórioSua chave no formato
Bearer zc_live_… (produção) ou Bearer zc_test_… (teste). O cabeçalho X-API-Key também é aceito. Ver Autenticação.Exemplo: Bearer zc_test_…
Idempotency-KeystringopcionalIdentificador SEU desta operação (8–255 caracteres). Repetir a requisição com a mesma chave e o mesmo corpo devolve a resposta original SEM cobrar de novo: a proteção contra cobrança dupla em retry de rede. Validade de 30 dias. Cada nova tentativa de uma consulta que falhou precisa de uma chave NOVA.
Exemplo: pedido-erp-984281
Corpo (JSON)
tipostringobrigatórioValores:
carrosmotoscaminhoesanostringobrigatórioCódigo do ano das listas ("2014-3"). 32000 = zero km.
Exemplo: 2014-3
codigo_fipestringopcionalCódigo FIPE (000000-0). Se vier, marca e modelo são ignorados.
Exemplo: 005340-6
marcastringopcionalCódigo da marca (de /marcas). Exigido sem codigo_fipe.
Exemplo: 59
modelostringopcionalCódigo do modelo (de /modelos). Exigido sem codigo_fipe.
Exemplo: 5940
referenciastringopcionalCódigo do mês (de /referencias). Ausente = vigente.
Exemplo: 337
historicobooleanopcionaltrue = inclui os últimos meses em
historico (o valor do mês pedido continua em valor).Respostas
- 200Valor FIPE do veículo.Corpo: FipeTabelaResponse
- 400
- 401Chave ausente, inválida ou revogada.Corpo: ApiError
- 402Saldo insuficiente. Nada foi criado nem cobrado; a resposta traz o saldo atual.Corpo: ApiError
- 404Não encontrado, ou não pertence a esta conta (um id de outro cliente responde 404, nunca o dado).Corpo: ApiError
- 409Conflito: requisição idêntica (mesma Idempotency-Key) ainda em processamento (espere alguns segundos e repita, não crie outra consulta; ou, em atpve,
aceite_atpve.versaodiferente da vigente (AVISO_ATPVE_DESATUALIZADO)) busque o aviso em GET /public/avisos/atpve, mostre ao usuário e reenvie.Corpo: ApiError - 422Pedido compreendido mas não processável: serviço indisponível para a conta, Idempotency-Key reusada com outro payload, ou atpve sem a declaração
aceite_atpve.Corpo: ApiError - 429Rate limit excedido. Respeite o header
Retry-After(segundos) antes de repetir. Não consome saldo.Corpo: ApiError - 500Falha interna inesperada. É transitória (
retryable: true); informe orequest_idao suporte se persistir.Corpo: ApiError - 502A fonte respondeu com erro (FIPE). Transitório: nada foi cobrado, o valor já foi estornado.Corpo: ApiError
- 503Fornecedor temporariamente indisponível (circuito aberto). Transitório.Corpo: ApiError
Cabeçalhos da resposta
RateLimit-Limitintegerpode não virTeto de requisições da janela de 60s (120 em produção; 60 com chave de teste, em contador separado).
RateLimit-Remainingintegerpode não virRequisições restantes na janela atual.
RateLimit-Resetintegerpode não virSegundos até a janela zerar.
X-Request-Idstring (uuid)pode não virId de correlação desta requisição. Informe ao suporte para localizar a chamada nos logs.
Falhas e estorno
| HTTP | Código | Quando acontece |
|---|---|---|
| 400 | VALIDATION_ERROR | tipo ou ano inválidos, ou faltou codigo_fipe e também marca + modelo. Nada é cobrado. |
| 402 | SALDO_INSUFICIENTE | Saldo menor que o preço. Nada é cobrado. |
| 404 | FIPE_NAO_DISPONIVEL | A combinação (código, ano, mês) não existe na tabela. Valor estornado. |
| 502 | FIPE_ERRO | Falha ao consultar a fonte. Valor estornado. |
| 503 | FIPE_INDISPONIVEL | Fonte temporariamente fora (ou cota diária esgotada). Valor estornado. |
Informação:
No sandbox o valor é fictício e não há débito. O código FIPE escolhe o cenário:
000404-0 devolve FIPE_NAO_DISPONIVEL e 000503-0 devolve FIPE_INDISPONIVEL.