Pular para o conteúdo
ZapCar
Developersv1

Tabela FIPE por placa

Valores FIPE do veículo pela placa, na mesma resposta: sem id, sem polling e sem PDF.

POST/v1/fipe
Cobra saldoIdempotency-KeySíncronoSandbox

Os valores da Tabela FIPE do veículo a partir da placa. Ao contrário das consultas, este endpoint é síncrono: a resposta vem na mesma chamada, sem id para acompanhar, sem polling e sem PDF.

Informação:

Preço: R$ 0,25 por requisição

Debitado do saldo e estornado automaticamente se a consulta falhar ou se o veículo não tiver FIPE: você só paga quando recebe os dados. O preço vigente também vem em GET /v1/servicos (serviço fipe). No Portal do Cliente a FIPE é gratuita; na API é cobrada.

Exemplo ilustrativo: os valores do exemplo ao lado não são cotação real.

Pedido
curl -X POST "https://api.zapcarconsulta.com.br/v1/fipe" \
  -H "Authorization: Bearer $ZAPCAR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-erp-984281-fipe" \
  -d '{"placa":"ABC1D23"}'
Resposta
{
  "id": "6f1c2e2a-1b3d-4a9e-8f7c-2a1b3c4d5e6f",
  "servico": "fipe",
  "placa": "ABC1D23",
  "veiculo": { "marca": "VW", "modelo": "CROSSFOX", "ano_modelo": "2007" },
  "fipe": [
    {
      "codigo_fipe": "005225-6",
      "marca": "VW - Volkswagen",
      "modelo": "CROSSFOX 1.6 Mi Total Flex 8V",
      "ano_modelo": "2007",
      "combustivel": "Gasolina",
      "sigla_combustivel": "G",
      "valor": "R$ 26.799,00",
      "mes_referencia": "setembro de 2026",
      "referencia_fipe": 337,
      "score": 101,
      "codigo_marca": "60",
      "codigo_modelo": "2398",
      "tipo_modelo": 1,
      "fonte_valor": "fipe",
      "historico": [
        { "valor": "R$ 26.799,00", "valor_numerico": 26799, "mes_referencia": "setembro de 2026", "referencia": "337" },
        { "valor": "R$ 27.100,00", "valor_numerico": 27100, "mes_referencia": "agosto de 2026", "referencia": "336" }
      ]
    }
  ],
  "valor_cobrado": 0.25,
  "saldo_restante": 464.76
}

Requisição

Cabeçalhos

Authorizationstringobrigatório
Sua 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-Keystringopcional
Identificador 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)

placastringobrigatório
Com ou sem hífen.

Exemplo: ABC1D23

Respostas

  • 200
    Valores FIPE da placa.Corpo: FipeResponse
  • 400
    Pedido inválido. Nada foi criado nem cobrado. codigo diz o que corrigir.Corpo: ApiError
  • 401
    Chave ausente, inválida ou revogada.Corpo: ApiError
  • 402
    Saldo insuficiente. Nada foi criado nem cobrado; a resposta traz o saldo atual.Corpo: ApiError
  • 404
    Não encontrado, ou não pertence a esta conta (um id de outro cliente responde 404, nunca o dado).Corpo: ApiError
  • 409
    Conflito: 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.versao diferente da vigente (AVISO_ATPVE_DESATUALIZADO)) busque o aviso em GET /public/avisos/atpve, mostre ao usuário e reenvie.Corpo: ApiError
  • 422
    Pedido 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
  • 429
    Rate limit excedido. Respeite o header Retry-After (segundos) antes de repetir. Não consome saldo.Corpo: ApiError
  • 500
    Falha interna inesperada. É transitória (retryable: true); informe o request_id ao suporte se persistir.Corpo: ApiError
  • 502
    A fonte respondeu com erro (FIPE). Transitório: nada foi cobrado, o valor já foi estornado.Corpo: ApiError
  • 503
    Fornecedor temporariamente indisponível (circuito aberto). Transitório.Corpo: ApiError

Cabeçalhos da resposta

RateLimit-Limitintegerpode não vir
Teto de requisições da janela de 60s (120 em produção; 60 com chave de teste, em contador separado).
RateLimit-Remainingintegerpode não vir
Requisições restantes na janela atual.
RateLimit-Resetintegerpode não vir
Segundos até a janela zerar.
X-Request-Idstring (uuid)pode não vir
Id de correlação desta requisição. Informe ao suporte para localizar a chamada nos logs.

Lendo a resposta

fipe é uma lista: pode trazer mais de uma correspondência, e o score indica a precisão (maior é melhor). Escolha a de maior score quando houver várias.

O valor e o mes_referencia de cada item são os da referência FIPE vigente, e historico traz os últimos meses (do mais recente para o mais antigo). fonte_valor diz de onde veio o valor: "fipe" é o normal; "placas" significa que a fonte do valor atual falhou e o item ficou com o valor da base de identificação, que pode ser de um mês antigo. Nesse caso historico vem null.

Falhas e estorno

HTTPCódigoQuando acontece
402SALDO_INSUFICIENTESaldo menor que o preço. Nada é cobrado.
404FIPE_NAO_DISPONIVELPlaca válida, mas sem FIPE correspondente. Valor estornado.
502FIPE_ERROFalha ao consultar a fonte. Valor estornado.
503FIPE_INDISPONIVELFonte temporariamente fora. Valor estornado.
Informação:
No sandbox, TST0404 devolve 404 FIPE_NAO_DISPONIVEL, TST0503 devolve 503 FIPE_INDISPONIVEL e qualquer outra placa devolve um valor fictício, sem débito.