# Tabela Fipe — Valor de Veículo

> Devolve o valor de referencia da Tabela Fipe (preco medio de veiculos) a partir de marca, modelo e ano-modelo — sem precisar de placa. A tabela consultada e sempre a do mes corrente. Cobre carros, motos e caminhoes; quando nao ha correspondencia segura de versao, o valor vem nulo com o motivo, em vez de um numero chutado.

- **Consulta:** `fipe-veiculo`
- **Categoria:** Veicular
- **Preço:** R$ 0,43 por consulta
- **Endpoint:** `GET https://app.fontedata.com/api/v1/consulta/fipe-veiculo`
- **Autenticação:** header `X-API-Key`
- **Página:** https://fontedata.com/docs/veicular/fipe-veiculo

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Informando **marca, modelo e ano-modelo**, esta consulta devolve o **valor de referência da Tabela Fipe** — o preço médio de mercado publicado pela Fundação Instituto de Pesquisas Econômicas, que é a referência usada no Brasil para compra e venda, seguro, financiamento e cálculo de IPVA.
>
> A tabela consultada é **sempre a do mês corrente**. O campo `mesReferencia` diz explicitamente de qual mês é o preço, para que nunca haja dúvida sobre a atualidade do número.
>
> Não é necessário ter a placa nem o documento do proprietário: esta consulta precifica um modelo, não um veículo específico. Se você tem a placa e quer a ficha cadastral do veículo **com** o valor Fipe na mesma chamada, use a **Consulta Veicular**.

## Requisição

### cURL

```bash
curl -H "X-API-Key: SUA_CHAVE" \
  "https://app.fontedata.com/api/v1/consulta/fipe-veiculo?marca=CITROEN&modelo=C3+GLX+14+FLEX&anoModelo=2011&tipo=AUTOMOVEL&combustivel=ALCOOL%2FGASOLINA&cilindrada=1360"
```

### Python

```python
import requests

resp = requests.get(
    "https://app.fontedata.com/api/v1/consulta/fipe-veiculo",
    params={"marca": "CITROEN", "modelo": "C3 GLX 14 FLEX", "anoModelo": "2011", "tipo": "AUTOMOVEL", "combustivel": "ALCOOL/GASOLINA", "cilindrada": "1360"},
    headers={"X-API-Key": "SUA_CHAVE"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
```

### Node.js

```javascript
const url = new URL("https://app.fontedata.com/api/v1/consulta/fipe-veiculo");

url.search = new URLSearchParams({
  "marca": "CITROEN",
  "modelo": "C3 GLX 14 FLEX",
  "anoModelo": "2011",
  "tipo": "AUTOMOVEL",
  "combustivel": "ALCOOL/GASOLINA",
  "cilindrada": "1360"
}).toString();

const resp = await fetch(url, {
  method: "GET",
  headers: { "X-API-Key": "SUA_CHAVE" }
});

if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());
```

## Parâmetros

| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| `marca` | texto | sim | Marca/montadora do veiculo (ex.: 'CITROEN', 'HONDA', 'VW'). Aceita a grafia do DENATRAN/BIN, sem acento; a marca 'I' (importado) e resolvida a partir do proprio modelo. | `CITROEN` |
| `modelo` | texto | sim | Modelo/versao do veiculo. Aceita tanto o nome comercial completo ('C3 GLX 1.4 Flex') quanto a abreviacao do DENATRAN/BIN ('C3 GLX 14 FLEX', 'HB2010TA EVOLUTI'). | `C3 GLX 14 FLEX` |
| `anoModelo` | texto | sim | Ano-modelo do veiculo, 4 digitos (ex.: '2011'). | `2011` |
| `tipo` | texto | não | Tipo do veiculo (ex.: 'AUTOMOVEL', 'CAMIONETA', 'MOTOCICLETA', 'CAMINHAO', 'ONIBUS', 'REBOQUE'). Opcional, mas MUITO recomendado: sem ele a busca precisa varrer carro, moto e caminhao. Tipos que a Fipe nao tabela (reboque/semirreboque) sao respondidos na hora, sem tocar a fonte. | `AUTOMOVEL` |
| `combustivel` | texto | não | Combustivel (ex.: 'GASOLINA', 'ALCOOL/GASOLINA', 'DIESEL'). Opcional. Estreita os candidatos; a busca cobre mais de um codigo de combustivel porque a Fipe arquiva o mesmo modelo flex sob codigos diferentes. | `ALCOOL/GASOLINA` |
| `cilindrada` | texto | não | Cilindrada do motor em cm3 (ex.: '1360', '1449', '125'). Opcional, e o desempate mais forte que existe entre versoes homonimas — comparado com tolerancia, porque o nome comercial nao e o arredondamento da cilindrada (1449 cm3 e vendido como '1.5'). | `1360` |

## Resposta

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> | Campo | Descrição |
> |---|---|
> | `valor` | Valor Fipe, formatado como a fonte publica (ex.: `R$ 23.241,00`). |
> | `valorNumerico` | O mesmo valor em número (`23241.0`), para cálculo direto. |
> | `codigoFipe` | Código Fipe do modelo (`011072-8`). Serve para reconferir na fonte oficial e para acompanhar o mesmo modelo mês a mês. |
> | `mesReferencia` | Mês/ano da tabela consultada (`julho de 2026`). |
> | `anoModelo` | Ano-modelo a que o preço se refere. |
> | `combustivel` | Combustível da versão precificada, na nomenclatura da Fipe. |
> | `modeloFipe` | Nome completo da versão precificada, na nomenclatura da Fipe. |
> | `marcaFipe` | Marca na nomenclatura da Fipe. |
> | `status` | Frase explicando o desfecho — em especial, **por que** o valor veio nulo. |
>
> **Todas as chaves estão sempre presentes.** Ausência de dado é afirmada com `null`, nunca com chave faltando.

### Exemplo de resposta

```json
{
  "valor": "string",
  "status": "string",
  "anoModelo": "number",
  "marcaFipe": "string",
  "codigoFipe": "string",
  "modeloFipe": "string",
  "combustivel": "string",
  "mesReferencia": "string",
  "valorNumerico": "number"
}
```

### Schema da resposta

```json
{
  "type": "object",
  "properties": {
    "valor": {
      "type": [
        "string",
        "null"
      ],
      "description": "Valor Fipe formatado exatamente como a fonte oficial escreve, em reais (ex.: 'R$ 23.241,00'). Null quando a Fipe nao publica preco para este veiculo/ano ou quando nao foi possivel identificar a versao com seguranca — ver `status`."
    },
    "status": {
      "type": [
        "string",
        "null"
      ],
      "description": "Frase em portugues explicando o desfecho da consulta. Com valor: 'Valor Fipe do mes corrente para o modelo identificado.'. Sem valor, diz POR QUE: tipo de veiculo que a Fipe nao tabela (reboque/semirreboque), ano indisponivel para o modelo, motorizacao sem correspondencia, ou versao nao identificavel com seguranca. Nunca null numa resposta bem-sucedida."
    },
    "anoModelo": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Ano-modelo ao qual o preco se refere (ex.: 2011). Null quando nao houve valor."
    },
    "marcaFipe": {
      "type": [
        "string",
        "null"
      ],
      "description": "Marca como a Fipe a nomeia (ex.: 'Citroen'), que pode diferir da grafia do DENATRAN informada na consulta. Null quando nao houve valor."
    },
    "codigoFipe": {
      "type": [
        "string",
        "null"
      ],
      "description": "Codigo Fipe do modelo, no formato oficial 'NNNNNN-N' (ex.: '011072-8'). E a chave que permite reconferir o preco na fonte oficial e acompanhar o mesmo modelo mes a mes. Null quando nao houve valor."
    },
    "modeloFipe": {
      "type": [
        "string",
        "null"
      ],
      "description": "Nome COMPLETO que a Fipe da a versao precificada (ex.: 'C3 GLX 1.4/ GLX Sonora 1.4 Flex 8V 5p'). Existe para auditoria: e com ele que se confere que o preco e do veiculo consultado e nao de uma versao parente. Null quando nao houve valor."
    },
    "combustivel": {
      "type": [
        "string",
        "null"
      ],
      "description": "Combustivel da versao precificada, como a Fipe o nomeia (ex.: 'Gasolina', 'Alcool', 'Diesel'). Null quando nao houve valor."
    },
    "mesReferencia": {
      "type": [
        "string",
        "null"
      ],
      "description": "Rotulo da tabela de referencia como a Fipe o publica, em portugues (ex.: 'julho de 2026'). E o campo que diz de QUAL mes e o preco. Null quando nao houve valor."
    },
    "valorNumerico": {
      "type": [
        "number",
        "null"
      ],
      "description": "O mesmo valor em numero, para calculo direto sem parse (ex.: 23241.0). Null sempre que `valor` for null."
    }
  },
  "description": "Valor de referencia da Tabela Fipe (preco medio de veiculos) para o veiculo identificado por marca, modelo e ano-modelo. A tabela e sempre a do MES CORRENTE. Todas as chaves estao SEMPRE presentes: quando nao ha valor seguro, elas vem nulas e `status` explica o motivo — ausencia de dado nunca vira chave faltando."
}
```

## Códigos de erro

| Código | Mensagem | Quando acontece |
|---|---|---|
| `400` | Parametros invalidos para esta consulta. | `marca`, `modelo` ou `anoModelo` ausente, ou `anoModelo` fora do formato de 4 digitos. |
| `401` | Chave de API ausente ou invalida. | Header X-API-Key nao enviado ou nao reconhecido. |
| `403` | Saldo insuficiente ou acesso negado a este endpoint. | Conta sem saldo para cobrir a consulta ou sem permissao no catalogo da marca. |
| `404` | Nenhum registro encontrado. | NAO ocorre nesta consulta. Veiculo sem valor na Tabela Fipe e resposta 200 com `valor: null` e o motivo em `status` — nunca 404. |
| `408` | A consulta excedeu o tempo limite. Tente novamente. | A fonte (Fipe) nao respondeu dentro do orcamento de tempo da consulta. |
| `500` | Erro ao processar a consulta. Tente novamente em instantes. | Falha inesperada ao consultar a fonte (Fipe indisponivel). |

## Quando o valor vem nulo (e por que isso é proposital)

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Um valor de veículo errado é pior que um valor ausente: é número que orienta compra, venda e indenização. Por isso esta consulta **só emite preço quando identifica a versão com folga**; havendo dúvida entre versões de preços diferentes, ela devolve `valor: null` e diz o motivo em `status`, em vez de escolher no chute.
>
> Os desfechos sem valor, todos com **HTTP 200**:
>
> - **Tipo não tabelado.** A Fipe cobre carro, moto e caminhão. **Reboque e semirreboque não têm Tabela Fipe** e nunca terão — não é falha da consulta, é como a fonte funciona.
> - **Ano indisponível.** O modelo existe na Fipe, mas não naquele ano-modelo.
> - **Versão não identificada com segurança.** Há candidatos plausíveis com preços diferentes e nenhum se destaca o suficiente. Informar `tipo`, `combustivel` e `cilindrada` reduz muito esse caso.
> - **Motorização sem correspondência.** Nenhuma versão da Fipe bate com a cilindrada informada.

## Observações

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - O `modeloFipe` existe para **auditoria**: compare-o com o veículo que você consultou para confirmar que o preço é da versão certa, e não de uma parente.
> - A Tabela Fipe é atualizada mensalmente. Preços de meses anteriores não são consultáveis por este endpoint.
> - A Fipe publica **preço médio de mercado**, não avaliação individual: estado de conservação, quilometragem, opcionais e histórico do veículo não entram no número.

## Fonte

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> O dado vem **direto da Fipe** (fonte oficial e gratuita), sem intermediário e sempre da tabela do mês corrente.

---

Página em HTML: https://fontedata.com/docs/veicular/fipe-veiculo
Catálogo completo: https://fontedata.com/docs
OpenAPI (JSON): https://app.fontedata.com/api/v1/openapi.json
Conectar via MCP: https://fontedata.com/docs/mcp
