API REST para consulta de preços de veículos na tabela FIPE com rotas simplificadas e intuitivas.
- Clone o repositório
git clone https://github.com/alequizao/API-FIPE.git
cd API-FIPE
- Instale as dependências
npm install
- Configure as variáveis de ambiente
cp .env.example .env
Edite o arquivo .env
com suas configurações:
- PORT: Porta onde a API vai rodar (default: 3456)
- FIPE_API_URL: URL da API FIPE
- Inicie o servidor
npm run dev # para desenvolvimento
npm start # para produção
GET /api/mes # Lista todos os meses
GET /api/mes=319 # Consulta um mês específico
Exemplo de resposta:
[
{
"Codigo": 319,
"Mes": "janeiro/2024"
}
]
GET /api/mes=319&tipo # Lista todos os tipos
GET /api/mes=319&tipo=2 # Consulta tipo específico (2 = Moto)
Exemplo de resposta:
[
{ "codigo": 1, "nome": "Carro" },
{ "codigo": 2, "nome": "Moto" },
{ "codigo": 3, "nome": "Caminhão" }
]
GET /api/mes=319&tipo=2/marca # Lista todas as marcas
GET /api/mes=319&tipo=2/marca=80 # Consulta marca específica (80 = Honda)
GET /api/mes=319&tipo=2/marca=80/modelo # Lista todos os modelos
GET /api/mes=319&tipo=2/marca=80/modelo=8071 # Consulta modelo específico
GET /api/mes=319&tipo=2/marca=80/modelo=8071/ano # Lista todos os anos
GET /api/mes=319&tipo=2/marca=80/modelo=8071/ano=2020-1 # Consulta ano específico
GET /api/mes=319&tipo=2/marca=80/modelo=8071/ano=2020-1/anomodelo=2020/combustivel=1
Exemplo de resposta:
{
"Valor": "R$ 13.345,00",
"Marca": "Honda",
"Modelo": "CG 160",
"AnoModelo": 2020,
"Combustivel": "Gasolina",
"CodigoFipe": "811008-9",
"MesReferencia": "janeiro/2024",
"DataConsulta": "quinta-feira, 1 de fevereiro de 2024 21:47"
}
- Máximo de 10.000 requisições por IP a cada 15 minutos
- Cache de 1 hora para consultas repetidas
- Respostas em formato JSON
- Códigos de status HTTP padrão
- Node.js
- Express
- Axios
- Helmet (Segurança)
- Compression
- CORS
- Rate Limiting
- Cache em memória
- 1: Carro
- 2: Moto
- 3: Caminhão
- 1: Gasolina
- 2: Álcool
- 3: Diesel
- 4: Flex
- Faça o fork do projeto
- Crie sua feature branch (
git checkout -b feature/AmazingFeature
) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature'
) - Push para a branch (
git push origin feature/AmazingFeature
) - Abra um Pull Request
Este projeto está sob a licença ISC.