API de Consulta a Tabela FIPE

Nesta última semana em algumas horas livres desenvolvi uma nova API que pretendo utilizar em alguns projetos futuros. Esta API tem por objetivo facilitar o acesso aos dados disponibilizados pela Fundação Instituto de Pesquisas Econômicas – FIPE  relacionando os preços médios de veículos no mercado nacional.

Como a FIPE não fornece nenhuma ferramenta para este acesso facilitado, criei este wrapper que utiliza os resultados fornecidos de forma aberta na página da FIPE e os transforma em um retorno JSON simplificado.

O endereço de acesso a API é:

http://fipeapi.appspot.com/

Por exemplo, se você quiser consultar a listagem de marcas de carros nacional da Tabela FIPE, utilize esta requisição abaixo:

GET: http://fipeapi.appspot.com/api/1/carros/marcas.json

Todos os dados disponibilizados nesta API de consulta simples, são de propriedade da Fundação Instituto de Pesquisas Econômicas – FIPE, só estou dando uma ajudinha na consulta 😉

UPDATE 10/08/2015:

Nos últimos dias fizemos uma série de atualizações na API, aprimoramos vários recursos de consulta e também trouxemos de volta o suporte aos códigos FIPE na consulta de veículos.

159 ideias sobre “API de Consulta a Tabela FIPE

  1. Parabéns pelo material, muito bom mesmo. Gostaria de saber mais como você fez a parte do wrapper para retorno dos resultados, tem algum artigo/ material?

    • Olá Diego, na verdade eu não segui nenhum material não… o conceito é muito simples simular uma requisição a página da FIPE, obter o código html por trás da página e desmonta-lo. Depois de “desmonta-lo” eu filtro os dados que eu preciso porque eu sei aonde eles estão no site da FIPE.
      Caso a FIPE mude de site, a API para de funcionar porque o processamento do HTML tem que ser reajustado…

      • Entendi, então o serviço esta no ar enquanto a estrutura estiver da mesma maneira, legal cara. Obrigado pela resposta e parabéns denovo

        Abraço

  2. Boa noite Lucas,

    Gostei muito da sua API e pretendo usar ela para um trabalho de faculdade.
    Muito obrigado por desenvolver a mesma, você só poderia dar uma olhada nas tabelas de Veiculo em diante? Está dando page not found.

  3. Lucas, pelo que pesquisei a sua é uma das únicas API que faz isso, vc não pretende abrir o código no GitHub incluir função de doações para manter a API e tals, preciso de uma API que faça isso.
    Ela ainda continua com o problema de erro 500? pq se ea possuir limites eu não posso usar dessa forma.

    Obrigado!

    • Boa tarde Brandão,

      Já andei pensando sobre isso, até algumas pessoas já solicitaram o código fonte. Ocorre que eu não fiz a API pensando em ser um modelo de código para comunidade, o código dela não esta nada bonito ou bem documentado.

      Quanto a estabilidade da ferramenta, andei melhorando o sistema de cache das requisições no ultimo update e melhorou bastante, agora ela aguenta bem mais acessos.

      • Amigo, esse fonte seria muito legal para todos! Conheço alguns amigos que estão precisando de um serviço como esse e estão pensando em usar seu serviço. Creio que se disponibilizasse o fonte, você teria mais o problema de consumo, já que cada um poderia utilizar a partir de seu próprio servidor. Por favor reflita. =)

  4. Boa noite, gostaria de saber se é possível importar esses dados para SQL ou criar uma api que faz isso automaticamente, eu sei que existe um script que importa para SQL, funcionou alguns dias e depois não funcionou mais, alguma sugestão?

    Obrigado

  5. Eu estava usando suas apis para buscar as cotações fipe dos veículos (foi a melhor coisa que encontrei na internet). Fiz até um programinha que atualiza minhas tabelas no sqlserver. Estava tudo indo bem até que começou a dar o erro 503 (over quota).

    Eu preciso muito dessas cotações para meu sistema. Será possível eu abrir uma conta no google paga (para não ter esse problema de cota) e você implantar essas apis pra mim nela. Quanto você cobraria pelo serviço?

  6. Cara excelente, parabéns pelo trabalho. Mas, importante, você tem a PERMISSÃO para disponibilizar os dados dessa forma? Pergunto respeitosamente pois me interessei em utilizar a API e ia ser complicado se ela deixasse de funcionar por questões legais, etc. No mais, parabéns e obrigado!

    • Não posso lhe afirmar Tiago.

      Tentei um contato com o pessoal da FIPE por e-mail mas nunca me deram retorno.

      É aquilo que eu sempre afirmei aqui nos comentários, eu não recomendo ninguém ficar baixando todo o banco e criando histórico, eu mesmo não faço isso.

      O que eu criei com essa API é uma consulta rápida e simplificada sempre em tempo real. Teoricamente é só um atalho, não estou roubando nenhum dado para mim, nem arquivando, nem comercializando.

  7. Pingback: Buscando dados JSON no Java$("#Develop").append("code");

  8. Olá Lucas,

    Primeiramente parabéns pela API.
    Estive fazendo alguns testes para utilizar a API em um dos meus projetos, porém verifiquei que o retorno da lista de veículos dos CAMINHÕES não está funcionando.

    Fiz a seguinte sequencia de testes:
    1) Primeiro executei a URL abaixo para retornar todas as marcas de Caminhões. Nesta URL funcionou corretamente:
    http://fipeapi.appspot.com/api/1/caminhoes/marcas.json

    2) Segundo conforme orientação busquei o código 102 de uma das marcas de caminhões. Nesta URL não retornou os dados corretos.
    http://fipeapi.appspot.com/api/1/caminhoes/veiculos/102.json

    Mensagem: {request: ‘http://fipeapi.appspot.com/api/1/caminhoes/veiculos/102.json’, error: ‘Could not complete your request’, details: ”}

    Estou fazendo corretament a busca?

    Muito obrigado,
    Att,
    Thober Detofeno

    • Ta correto Thober,

      E pelo o que eu pude testar aqui os retornos também estão OK.

      Já tentasse novamente? Quem sabe na hora que tu testou tinha alguma instabilidade no site da Fipe, já que a tabela é puxada em tempo real de lá…

      • Lucas, Muito obrigado pelo retorno.

        A sua API é muito boa porém dá muita mensagem que “Over Quota”, que acaba não passando credibilidade para o uso.

        A sua ideia foi muito boa, acabei fazendo o mesmo utilizando como base um código que encontrei na WEB.

        Muito obrigado e sucesso
        Thober

    • Lucimar,

      Como já mencionado diversas vezes, a API está hospedada em um serviço gratuito do Google, essa mensagem que dizer que algum usuário andou utilizando de mais a API, provavelmente para “baixar” toda a tabela FIPE e deve ter esgotado os limites diários.

      A idéia da API não é servir de backup, nem para baixar a tabela inteira e sim consultas simples e rápidas em tempo real.

  9. Cara tô recebendo uma mensagem do tipo:
    {request: ‘http://fipeapi.appspot.com/api/1/carros/veiculo/21/001267-0/1980274.json’, error: ‘Could not complete your request’, details: ”}

    isso direto no browser, poderia me dizer se ainda está disponibilizando a API?
    engraçado que as url`s que rodei antes até chegar nessa rodaram tranquilo.

    Abraço, deixo aqui registrado que uso muito sua API, sua ideia foi fantástica, meus parabéns!!!

  10. Olá Lucas, gostaria de saber se você poderia disponibilizar seus Scripts, ou até mesmo vender, pois estou desenvolvendo uma solução e preciso desse serviço e ter segurança que ele sempre esteja online.

    • Frederico,

      O exemplo tende a ficar datado, porque a cada mês os códigos de referência dos veículos mudam… porque uma nova tabela é gerada.

      Se quiseres testar o procedimento vá desde a primeira etapa e sempre atualize os códigos.

  11. Lucas,

    Parabéns pela API, sou um tanto quanto leigo em desenvolvimento mas gostaria de usar a API.

    Será que você poderia postar um exemplo simples de um form com drop-downs montados com base nos retornos ?

    Abraços,

  12. bom dia Lucas, assim como muitos parabenizo pela API e tbem estou na busca de consultar estes dados pra desenvolvimento do meu TCC, fera to iniciando os teste e na busca pelas marcas tudo ok, ja quando inicio buscando pelas IDs hora funciona e hora retorna “request:” e tal, ou seja, nao funfa…motos e caminhoes dificilmente consigo o retorno da consulta ja carros ate é mais estavel… como eu programo para desktop nao domino este universo que é prog. web entende… logo n sei se estas situaçao da API retornar o valor e nao retornar teria como ficar mais acertiva… se pode so me dar um retorno se isso tem como ficar mais estavel ou se é tipo minha conexao, internet, firewall sei lá, pque hora funciona e hora nao entende… desculpe encomodar com esta duvida ok, é q a API atenderia exatamente para o que preciso…

    • Bom dia Alessandro,

      A estabilidade ou não da API depende do servidor gratuito que o Google fornece o qual estou hospedando a mesma. Este servidor tem limitações diárias e de concorrência de acessos, infelizmente. Como não ganho nada com essa API, não tenho como investir em um servidor pago só para ela.

      Eu fiz a mesma para meu próprio uso em outros questões, como eu uso com moderação e só consulto ela quando preciso (tem usuários que ficam pendurados o dia inteiro fazendo consultas) comigo raramente ela falha.

      Abraços!

      • Entendo Lucas, tbem de certa forma faria consultas esporádicas msmo… fiz agora mais intensamente nos teste de leitura do retorno e de que forma formatarei os dados que preciso, mais amigo de qualquer forma, força ai… quando eu crescer quero manjar que nem vc…rs… abraço…

  13. Boa Tarde Lucas, eu estou desenvolvendo um software para uma empresa de seguros e gostaria de ter acesso as marcas, modelos de veiculos, preço dentre outras coisas.
    Você sabe me informar se tem alguma outra forma de eu conseguir estes dados, seja fazendo uma requisição online pelo site deles?

  14. Boa tarde Lucas!

    Excelente API, parabéns pelo trabalho!

    Estou com problemas em consultas em modelos de Motos e Caminhões.

    Buscando caminhões pela marca “AGRALE”, por exemplo:

    http://fipeapi.appspot.com/api/1/caminhoes/veiculos/102.json

    Ou, por exemplo, uma busca de motos pela marca BMW:

    http://fipeapi.appspot.com/api/1/motos/veiculos/67.json

    Essas duas consultas estão me retornando o seguinte erro:

    {request: ‘http://fipeapi.appspot.com/api/1/motos/veiculos/67.json’, error: ‘Could not complete your request’, details: ”}

    O que devo fazer? As consultas de modelos de carros funcionam….

    Muito Obrigado.

  15. Tenho um formulário de pedido de cotação, que tem os campos (marca, ano e modelo). Nesse caso, posso aproveitar esse sistema no formulário de pedido de cotação? Se puder, o que tenho que fazer?

    Grande abraço e parabéns pelo sistema.

    Paulo Passic

  16. Fala Lucas, tudo bem com você?
    Parabéns pela api, fácil simples e elegante, eu só tenho um dúvida.
    Como você considerei criar um engine que utiliza o frontend da fipe para
    coletar os dados, porém notei que sua api exibe mais campos que os disponíveis pela /default.aspx da fipe.

    Por exemplo, quando busco marcas no frontend da fipe tenho ID e Name, já pela sua API você puxa fipe_name, id, key, name, order.

    De onde você retira esses campos extras?

    Abs

    • Rodrigo,

      Na verdade eu tomei algumas “liberdades” de acordo com umas necessidades da API e criei uns campos a mais. O fipe_name é o nome original da FIPE, o name em algumas marcas eu dou um upgrade, tipo “GM” para “Chevrolet” e coisas assim. O campo order eu usei para listar as marcas mais conhecidas do Brasil primeiro, e o campo key é usado para fazer as buscas de carros, usando keys.

      Abraços!

  17. Olá Lucas, primeiramente gostaria de parabeniza-lo por esta API, show de bola e me ajuda muito.

    Como já foi bem falado anteriormente vc utiliza os serviços gratuitos do Google e por este motivo as vezes ocorre erro 503. Bom mas esta semana verifiquei que ao carregar os detalhes do veículo ele ta dando erro 500 (Erro interno do Servidor), este erro só ocorre no detalhamento do veículo, como por exemplo na requisição http://fipeapi.appspot.com/api/1/carros/veiculo/21/001223-8/2422995.json se fizermos uma requisição de marcas e veículos funciona normalmente.

    Não sei se você já chegou a verificar esta situação ou se o problema esta no servidor.

    Bom desde já agradeço pelas horas disponibilizadas para desenvolver esta API e por disponibiliza-la para todos.

    Um grande abraço.

  18. Olá, bom dia!

    Trabalho em uma consultoria de recrutamento e seleção e estamos com algumas oportunidades para a área de TI em Blumenau/SC. Dentre elas, destacamos:

    – Analista da Qualidade (Testes)
    – Programador C#
    – Programador JAVA
    – Programador Delphi
    – Arquiteto de Informação/UX Designer

    Interessados encaminhar cv para atendimento@keeptalent.com.br ou candidatar-se através do site http://www.keeptalent.com.br

  19. Parabéns pelo serviço Lucas…
    Não estou conseguindo pegar um modelo de caminhão… de qualquer marca. Quando tento http://fipeapi.appspot.com/api/1/caminhoes/veiculos/103.json o retorno é {“request”: “http://fipeapi.appspot.com/api/1/caminhoes/veiculos/103.json”, “error”: “Could not complete your request”, “details”: “No result found in fipe site”}.
    Deve ter mudado alguma coisa no HTML deles que precisaria ajustar?

  20. Ola Lucas, tudo bem?

    Primeiramente parabéns pela API, muito funcional e útil ela.
    Gostaria da sua ajuda, não sei se devido a mudança do site da fipe observei que no método que você lista os modelos na coluna id que trazia o código da fipe está trazendo outro valor o qual não conseguimos casar na busca pelo modelo.

    http://fipeapi.appspot.com/api/1/carros/veiculos/21.json
    fipe_marca”: “Fiat”, “name”: “147 C/ Cl”, “marca”: “FIAT”, “key”: “147-437”, “id”: “437”

    Abraços.

  21. Olá Lucas, parabéns pela API.

    Eu preciso muito ter os códigos fipes na consulta, porém não é mais enviado. Esses código não estão mais na página.
    Gostaria de saber qual linguagem,framework ou biblioteca vc usa? Eu gostaria muito de fazer consultas por código fipe, que eu já tenho armazenado, mas não sei como fazê-la. É muito importante para o meu sistema ter os valores dos veículos atualizados todos os meses, e o código fipe é o que mantém tudo isso.

    Enfim, desde já agradeço.

  22. Oi Lucas,
    Achei seu site como referencia para buscar marcas e modelos na tabela Fipe e é muito bom.

    E sobre a dúvida do Sandro o codigo FIPE não mudou, se você for verificar na tabela FIPE esse carro do exemplo.

    http://www2.fipe.org.br/pt-br/indices/veiculos/carro/fiat/3-2015/001124-0/1987/g/pvlwqqlk6rc

    Vai ver que o codigo fipe do site não mudou!

    Ele devem ter alterado o nome da coluda do codigo ou algum nome no qual o seu robo não esta conseguindo achar o codigo fipe deles.

    é possivel esse ajuste? Desde já grato.

  23. Olá Lucas, Boa Tarde!

    A Fipe mudou seu site e consequentemente deve ter alterado a forma que a pesquisa esta sendo feita. Todas pesquisas que estou realizando utilizando a API esta trazendo o mês de referencia Fevereiro/2015.

    Existe alguma alteração ou a forma que estou fazendo a pesquisa que esta incorreta?

    Segue a forma que estou fazendo as consultas:
    GET http://fipeapi.appspot.com/api/1/carros/marcas.json
    GET http://fipeapi.appspot.com/api/1/carros/veiculos/7.json
    GET http://fipeapi.appspot.com/api/1/carros/veiculo/7/5923.json
    GET http://fipeapi.appspot.com/api/1/carros/veiculo/7/5923/2015-1.json

    Desde já, obrigado!

  24. Para utilizar a Tabela FIPE no meu site tenho que pagar R$3200,00 por mês.
    Com seu API eu teria acesso a ela sem pagar. è isso?
    Isso não pode criar um conflito?

    • Olá Bruna,

      Não temos nenhum banco de dados em nossa mão, apenas somos um “atalho” para o site publico da Fipe, todas as informações são puxadas em tempo real do site deles, nada fica conosco.

      Se a fipe mudar o site deles ou tirar o site deles do ar, nosso sistema para de funcionar. Nosso único objetivo com a API é criar uma consulta mais limpa ao site da FIPE.

      Nós sempre recomendamos os desenvolvedores a criar uma cópia de seus próprios dados, por segurança.

  25. De quanto em quanto tempo ela faz a busca no site da FIPE e monta as páginas? Estou monitorando uma url dessa API e percebi que tem várias atualizações durante o dia.

    • Bom dia Jefferson,

      A API é apenas um “atalho” para o site da Fipe, um espelho, não fazemos qualquer tipo de backup, copia ou sincronização.

      Se você percebeu que as páginas se mudaram, é porque o próprio site da Fipe mudou, já que fizemos um proxy direto do que esta publicado no site deles, com apenas poucos minutos de cache para evitar sobrecargas.

      De qualquer forma, o principal objetivo do API, que é obter o preço dos veículos, estes mudam apenas uma vez por mês.

      • Bacana! É que eu estou tentando monitorar a adição de uma nova moto, aí eu monitoro uma url através do followthatpage.com, mas talvez não esteja funcionando como eu imaginei, e como vc disse que atualizam apenas uma vez por mês, acho então que só em agosto. Valeu!

  26. Boa tarde Lucas.
    Parabéns pelo projeto.

    Estou utilizando no referido site, mas estou tendo o problema do erro 500 já comentado. Percebi também que algumas marcas não estão sendo listadas, como a infiniti, por exemplo. Sabe dizer por quê?

  27. Olá Lucas, primeiramente parabéns pelo excelente trabalho aqui apresentado, realmente muito útil… como tenho pouco conhecimento na técnica de scrapping, gostaria de me sugerisse algo que eu pudesse estudar, para então realizar coisas desse tipo o qual você fez com o site da fipe… Por exemplo, não faço a mínima ideia de como “simular” o envio do formulário… desde já meu muito obrigado

  28. Olá Lucas, bom dia.

    Muito interessante seu projeto. Acredito que vem ajudando muita gente, inclusive eu. Tenho um projeto de um sistema de controle de frotas e utilizo seu projeto para realizar consultas e cadastro no meu. Mas, uma coisa deixa a desejar, não no seu projeto, mas sim no site de FIPE é o fato de mudar o ID de correlação entre as informações. No entanto, para “driblar” este problema, embora não seja o modo mais correto, eu simplesmente fiz o seguinte:

    Criei uma base de dados chamado FIPE onde criei também algumas tabelas. Depois copiei os dados da tabela FIPE para esta base de dados e assim eu tenho todos os dados no meu servidor – claro que a cada ano eu faça as atualizações por conta de novos veículos que surgem no mercado e são atualizados pela FIPE – em seguida, para buscar o valor atualizado da FIPE sem a necessidade de buscar pelo ID – que muda sempre – eu faço uma consulta parametrizada com os dados: Marca, Tipo do Veículo (Nome) e Ano. Assim eu consigo filtrar os dados do veículo que desejo e pegar todas as informações que desejo, inclusive o preço atualizado.

    Pelo menos, até o momento, resolvi o meu problema. rsssss

    Abraços e parabéns por sua iniciativa.

  29. Lucas, boa noite!
    Com essa API eu consigo fazer uma busca direta pelo codigo FIPE?

    Vi que na API tem varias opções mas nenhuma dessas, preciso passar o codigo fipe para consultar o preço.

    Abraço, parabens pelo trabalho?!

    Já pensou em disponibilizar o codigo para podermos aperfeiçoar?

    Luis Gustavo

  30. Boa tarde!

    Eu estou tentando utilizar sua API em uma aplicação com angularjs e quando faço uma request GET, da erro no cors.

    No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘http://localhost:8100’ is therefore not allowed access.

    Seu server está preparado para trabalhar com cors?

    Obrigado!

  31. Rapaz,

    Excelente aplicação, está de parabéns.

    Porém, tenho uma dúvida, você tem um limite de “calls” diários? Pois provavelmente irei fazer bastante aqui.

    • A aplicação está hospedada no Google App Engine, e atualmente esta usando o plano grátis.

      Existe um limite diário no plano gratis, não da para precisar, mas quando o pessoal usa de mais, a aplicação fica fora do ar até resetar o contador diário.

  32. Muito util, testei aqui via navegador e esta 100%, vai ser muito util, seria bom se vc disponibilizasse o source, assim nao ficaríamos presor ao limite diario.

    Parabéns pelo projeto e obrigado!

  33. Lucas, bom dia!
    Rapaz, preciso de sua ajuda. Preciso criar meu próprio banco de dados, para que eu possa fazer a consulta OFF LINE, no meu sistema. Tenho enfrentado problemas desde estar em lugares sem acesso a internet até OVER QUOTA da API quando chega a noite, e aí, fico na mão.
    Acontece que se eu rodar um sistema para consultar e salvar dados da FIPE, com certeza eu extrapolaria a cota da API rapidamente no dia e, lesaria muito colegas. Ou seja, sem chances!
    Você tem algum banco já pronto, para me vender ou tem alguma sugestão?
    Qualquer coisa, deixo meu whats: (12)98173-8679

    • Bom dia Alexandre,

      Não temos nenhum banco e nem poderíamos vender o mesmo (já que a FIPE ganha dinheiro com isso). A API é apenas uma atalho mais limpo e leve para as consultas feitas pelo site da FIPE.

      Abraços!

  34. Boa tarde Lucas, precisaria apenas os tipos de veículos (carros, motos, caminhões, etc…), anos, fabricantes e modelos, sem os preços
    Não entendo de programação, teria como me ajudar?
    Obg.

  35. Olá Lucas,
    parabéns pela iniciativa. Estou gostando de brincar com o Json e sua api me parece bem útil.
    Mas em meus testes não estou conseguindo o retorno correto quando o veículo tem uma variação.
    Por ex: o veículo Ford F-1000 CD/Blazer 3.6 combustível Álcool, que busco com a url “http://fipeapi.appspot.com/api/1/carros/veiculo/22/723/1995-2.json”. Esta consulta me retorna os mesmos dados do id 1995-1. Preciso fazer alguma coisa pra me retornar os valores corretos?
    Abraço.

  36. Boa noite pessoal! Sou totalmente leiga no assunto, alias nem sei como achei esse site kkkk. Tenho um excel com marcas/modelos de carros, como usar essa API? Alguém poderia me ajudar? Ficaria muito grata!

    • Olá Lucas,

      Parabéns pela sua API, muito boa, atende justamente a necessidade.

      Olá Diana,

      desenvolvi uma solução que não é uma API, porém pode te ajudar:
      https://github.com/StefanYohansson/fipe-extractor

      Ela faz uma série de consultas no site da FIPE e exporta arquivos de banco de dados (JSON e SQL).

      No momento, você precisa de conhecimento no assunto para importar essas tabelas para um banco, porém estou trabalhando em uma pasta de exemplo onde vou deixar sempre uma versão do banco atualizada e uma mini aplicação para consulta como a disponível no site da própria tabela FIPE.

  37. Bom dia Lucas.
    Gostaria de entender como você fez as aquisições ou faz as aquisições dos dados da FIPE.
    Existem algum serviço deles para obter os dados, precisa solicitar algo para eles?
    Att,

  38. Bom dia Lucas Ferreira, sou graduando em engenharia da computação na UNIVASF e como trabalho de TCC queria desenvolver uma ferramenta em python que funcionasse como sua API (realizando buscaras na tabela e baixando o conteúdo das buscas), mas não tenho muita experiência com python ou com essas coisas, então gostaria de saber se você poderia me dar uma ajuda, meu email é genivalrm@gmail.com

  39. Olá!
    Primeiramente, parabéns pela iniciativa!

    gostei bastante da API, mas senti falta de um parâmetro, o “Mês de Referência”. gostaria de montar um gráfico e a FIPE já tem o histórico pronto mês a mês, só não plota…

    Mais uma vez parabéns!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *