API REST, respostas em JSON, autenticação por chave. Base:
https://api.valordeveiculo.com
Envie a chave no header X-API-Key. O formato
Authorization: Bearer <chave> também funciona.
curl -H "X-API-Key: lx_live_..." \ 'https://api.valordeveiculo.com/v1/prices/001124-0?model_year=1987'
Gerado a partir do OpenAPI da versão em produção.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
Trinta dias por dia e por classe de status. A classe importa tanto quanto o total: 4xx concentrado num dia é integração quebrada, e o cliente descobria isso pela fatura em vez de pela tela.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
Faturas do cliente autenticado, com o Pix copia e cola quando em aberto.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
Devolve o Pix se ele já existe; senão, diz em quantos segundos tentar. A API **não** fala com o PSP: o container dela não está na rede com saída para a internet, de propósito -- é o que garante que uma falha aqui não vira uma chamada externa com a credencial de cobrança. Quem emite é o `billing-loop`, que tem egresso. O que fazia a espera doer não era a arquitetura, era o intervalo: 5 minutos entre passagens numa tela de pagamento. O loop passou a varrer as faturas em `draft` a cada 20 segundos (a consulta é um no-op quando não há nenhuma), então este endpoint só precisa dizer "volte a perguntar".
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
invoice_id |
path | sim | |
X-API-Key |
header | não | |
authorization |
header | não |
Prefixo, não a chave: o segredo existiu uma vez, na emissão.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
Emitir a nova ANTES de revogar a velha é o que torna a rotação segura: o cliente troca a chave no servidor dele com as duas valendo e só então revoga, sem janela de indisponibilidade.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
key_id |
path | sim | |
X-API-Key |
header | não | |
authorization |
header | não |
O que esta conta pode contratar, com o preço por mil de cada opção. Devolve os dois caminhos lado a lado de propósito: sem o preço por mil, o cliente não tem como ver que comprar avulso todo mês custa mais que subir de plano, e a decisão vira palpite.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
model_id |
path | sim | Identificador interno |
table |
query | não | Tabela de referência: código ('337') ou mês ('2026-09'). Padrão: a mais recente. |
X-API-Key |
header | não | |
authorization |
header | não |
Um código FIPE cobre vários anos-modelo do mesmo veículo; sem filtro, devolve todos os da tabela.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
fipe_code |
path | sim | Código FIPE do veículo, ex. '001124-0' |
model_year |
query | não | Filtra por ano do modelo; 32000 para zero km |
fuel |
query | não | Filtra por combustível: gasoline, alcohol ou diesel |
table |
query | não | Tabela de referência: código ('337') ou mês ('2026-09'). Padrão: a mais recente. |
X-API-Key |
header | não | |
authorization |
header | não |
Variação mês a mês dentro da janela de histórico do plano.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
fipe_code |
path | sim | Código FIPE do veículo, ex. '001124-0' |
model_year |
query | sim | Ano do modelo (obrigatório) |
fuel |
query | não | gasoline, alcohol ou diesel |
X-API-Key |
header | não | |
authorization |
header | não |
Sem parâmetros.
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
vehicle_type |
path | sim | Tipo de veículo |
table |
query | não | Tabela de referência: código ('337') ou mês ('2026-09'). Padrão: a mais recente. |
X-API-Key |
header | não | |
authorization |
header | não |
| Parâmetro | Onde | Obrigatório | Descrição |
|---|---|---|---|
brand_id |
path | sim | Identificador interno |
vehicle_type |
path | sim | Tipo de veículo |
table |
query | não | Tabela de referência: código ('337') ou mês ('2026-09'). Padrão: a mais recente. |
X-API-Key |
header | não | |
authorization |
header | não |
Toda resposta autenticada traz onde você está.
| Header | Significado |
|---|---|
X-Quota-Limit | Cota mensal do plano, ou unlimited |
X-Quota-Used | Requisições consumidas no mês |
X-Quota-Remaining | Quanto resta |
X-Quota-Reset | Segundos até a virada do mês |
X-RateLimit-Limit | Requisições por segundo do plano |
Sempre um envelope error com code
estável — trate pelo code, não pela mensagem.
{
"error": {
"code": "plan_history_limit",
"message": "a tabela 2024-01 está fora da janela de histórico do seu plano",
"docs": "https://valordeveiculo.com/docs/erros#plan_history_limit",
"requested_table": "2024-01",
"oldest_available": "2026-07"
}
}
| Status | code | Quando acontece |
|---|---|---|
| 401 | missing_key |
Nenhuma chave enviada |
| 401 | invalid_key |
Chave inexistente, malformada ou revogada |
| 403 | client_inactive |
Conta ou plano desativado |
| 402 | quota_exceeded |
Cota mensal esgotada |
| 402 | plan_history_limit |
Mês pedido fora da janela do plano |
| 429 | rate_limited |
Acima do limite de requisições por segundo |
| 404 | not_found |
Veículo ou tabela inexistente |
| 422 | invalid_parameter |
Valor inválido em um parâmetro |
| 503 | no_published_data |
Nenhuma tabela publicada ainda |
402 em vez de 404 quando o mês pedido existe mas está fora da janela do seu plano: o dado está lá, o plano não alcança.