Voltar ao blog
Guias e Tutoriais2026-03-15·10 min de leitura

Guia definitivo: extrair dados do Google Maps com JavaScript

Por Ibrahim DemolCEO IBLeadAtualizado em 15 de março de 2026

Google Maps não é apenas uma ferramenta de navegação. É uma enorme base de dados comerciais: nome, endereço, telefone, nota, avaliações, horários, site — tudo está lá, ficha por ficha. Este guia definitivo para extrair dados do Google Maps com JavaScript mostra como aproveitar essa mina de informações, quer você saiba programar ou não.


Por que extrair dados do Google Maps?

Antes de falarmos de código, vamos à pergunta: por que fazer scraping do Google Maps?

As razões variam de acordo com as empresas. Aqui estão as mais comuns.

Gerar leads qualificados

Esse é o uso número um. Uma agência web procura restaurantes sem site. Um fornecedor de software mira consultórios médicos de uma região. Um prestador de serviços de RH prospecta pequenas e médias empresas com menos de 50 funcionários.

O Google Maps dá acesso a milhares de fichas por setor e por área geográfica. Extrair esses dados é construir uma lista de prospects qualificados em poucos minutos — sem comprar uma base de dados.

Analisar a concorrência

Fazer scraping não serve apenas para prospecção. Uma rede de restaurantes pode analisar as notas, as avaliações e a densidade de concorrentes em uma área antes de abrir um novo ponto de venda.

Quantos restaurantes existem em um raio de 2 km? Qual é a média de suas notas? Quantas avaliações eles têm? Esses dados orientam decisões estratégicas concretas.

Identificar novas áreas de mercado

Uma empresa que deseja se expandir geograficamente pode mapear a demanda potencial antes de investir. Extrair os dados do Google Maps de uma cidade ou região fornece uma imagem clara do tecido econômico local.


Compreender os fundamentos da API do Google Maps

A API do Google Maps é o ponto de entrada oficial para acessar os dados do Google Maps de forma programática. Ela oferece vários serviços úteis para a extração de dados.

Obter uma chave API

Para começar, você precisa criar uma conta na Google Cloud Platform. Em seguida, ative a API Maps JavaScript em seu projeto. O Google gera uma chave API única — é essa chave que autoriza suas requisições.

Sem a chave API, nenhuma requisição passa. Com uma chave, você pode chamar os diferentes serviços da API a partir do seu código JavaScript.

Os principais serviços disponíveis

A API do Google Maps oferece vários serviços utilizáveis em JavaScript:

  • Geocoding: converte um endereço em coordenadas GPS (latitude, longitude)
  • Places: pesquisa estabelecimentos por tipo e por área geográfica
  • Directions: calcula rotas entre dois pontos
  • Distance Matrix: mede distâncias e tempos de trajeto entre vários pontos

Para a extração de dados comerciais, os serviços Geocoding e Places são os mais úteis.


Exemplos práticos de extração de dados com JavaScript

Aqui estão três exemplos práticos para extrair dados do Google Maps com JavaScript.

1. Converter um endereço em coordenadas GPS (Geocoding)

O serviço Geocoding transforma um endereço textual em coordenadas geográficas. Útil para geolocalizar prospects ou pontos de venda.

var geocoder = new google.maps.Geocoder();

geocoder.geocode(
  { address: '10 Rue de la Paix, Paris' },
  function(results, status) {
    if (status === 'OK') {
      var latitude = results[0].geometry.location.lat();
      var longitude = results[0].geometry.location.lng();
      console.log("Latitude : " + latitude + ", Longitude : " + longitude);
    } else {
      console.log("Geocoding falhou : " + status);
    }
  }
);

Esse código retorna as coordenadas GPS de um endereço em Paris. Você pode iterar sobre uma lista de endereços para geolocalizar um arquivo inteiro.

2. Encontrar estabelecimentos próximos a um local (Places API)

O serviço nearbySearch pesquisa estabelecimentos em um raio dado ao redor de um ponto geográfico. Esse é o coração da extração de dados para prospecção.

var placesService = new google.maps.places.PlacesService(map);

var request = {
  location: new google.maps.LatLng(48.8566, 2.3522), // Paris
  radius: 5000, // 5 km de raio
  type: ['restaurant']
};

placesService.nearbySearch(request, function(results, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    results.forEach(function(place) {
      console.log(
        "Nome : " + place.name +
        ", Endereço : " + place.vicinity +
        ", Nota : " + place.rating
      );
    });
  }
});

Esse código lista os restaurantes em um raio de 5 km ao redor de Paris, com seu nome, endereço e nota no Google.

Atenção: nearbySearch retorna no máximo 20 resultados por requisição. Você pode paginar até 3 páginas, ou seja, 60 resultados no máximo por pesquisa. Para cobrir uma cidade inteira, é necessário dividir a área em várias subáreas e multiplicar as requisições.

3. Recuperar os detalhes de um estabelecimento (Place Details)

nearbySearch fornece informações básicas. Para acessar o número de telefone, o site, os horários e as avaliações, é necessário chamar getDetails em cada place_id.

var request = {
  placeId: 'ChIJD7fiBh9u5kcRYJSMaMOCCwQ', // Place ID do estabelecimento
  fields: ['name', 'formatted_address', 'formatted_phone_number',
           'website', 'rating', 'reviews', 'opening_hours']
};

placesService.getDetails(request, function(place, status) {
  if (status === google.maps.places.PlacesServiceStatus.OK) {
    console.log("Nome : " + place.name);
    console.log("Telefone : " + place.formatted_phone_number);
    console.log("Site : " + place.website);
    console.log("Nota : " + place.rating);
  }
});

Cada chamada para getDetails consome um crédito API. Em milhares de estabelecimentos, a conta pode subir rapidamente.

4. Acompanhar os movimentos em um mapa

Outro uso: escutar as mudanças de posição em um mapa interativo. Útil para aplicações de rastreamento ou mapeamento dinâmico.

google.maps.event.addListener(map, 'center_changed', function() {
  var center = map.getCenter();
  console.log(
    "Centro : Latitude=" + center.lat() +
    ", Longitude=" + center.lng()
  );
});

Esse código exibe as coordenadas do centro do mapa a cada movimento do usuário.


Limitações e restrições da API do Google Maps

A API do Google Maps é poderosa, mas impõe restrições importantes que você deve conhecer antes de começar.

Os limites e a cobrança

O Google cobra pela API Places conforme o uso. Aqui estão as tarifas indicativas (em USD, tarifas do Google):

  • Nearby Search: 0,032 $ por requisição
  • Place Details: 0,017 $ por requisição (campos básicos) a 0,085 $ (campos avançados)
  • Geocoding: 0,005 $ por requisição

Para extrair 10.000 estabelecimentos com seus detalhes completos, o custo pode ultrapassar 500 $. O Google oferece um crédito mensal de 200 $, mas ele se esgota rapidamente em volumes grandes.

O limite de 120 resultados

nearbySearch retorna 20 resultados por página, com um máximo de 3 páginas, ou seja, 60 resultados por requisição. Para cobrir uma cidade inteira, é necessário multiplicar os pontos de pesquisa e as requisições. Isso é viável, mas complexo de implementar corretamente.

Gerenciamento de erros

Ultrapassar o limite gera erros OVER_QUERY_LIMIT. O aplicativo para ou retorna dados incompletos. É necessário implementar um gerenciamento de erros robusto: retry com backoff exponencial, cache de resultados já obtidos, paginação correta.

Os termos de uso

Os termos de uso do Google Maps proíbem explicitamente o armazenamento permanente dos dados Places (exceto exceções). Extrair dados para revendê-los ou redistribuí-los viola os termos de uso. Use os dados para seu uso interno — prospecção, análise, monitoramento da concorrência.


Otimizar suas requisições API para reduzir custos

Algumas boas práticas para limitar a conta.

Solicite apenas os campos necessários. A API Places cobra de forma diferente dependendo dos campos solicitados. Se você não precisa das avaliações ou fotos, não as inclua no parâmetro fields.

Armazene os resultados em cache. Se você consultar a mesma área várias vezes, armazene os resultados em uma base de dados local. Evite requisições redundantes.

Divida inteligentemente as áreas. Para cobrir uma grande cidade, use uma grade de pontos espaçados de 2-3 km em vez de partir de um único ponto central. Você maximiza a cobertura sem ultrapassar os 60 resultados por requisição.

Use a paginação corretamente. nearbySearch retorna um next_page_token quando há mais resultados. Espere 2 segundos antes de chamar a próxima página — o Google impõe esse intervalo.


Quando a API não é suficiente: a alternativa sem código

Codificar um scraper do Google Maps em JavaScript leva tempo. Gerenciar limites, paginação, erros, armazenamento — é um projeto por si só. E a conta da API pode se tornar significativa em grandes volumes.

Para equipes comerciais e de marketing que desejam leads do Google Maps sem escrever uma linha de código, o IBLead é uma alternativa direta.

O IBLead é uma base de dados pré-indexada de mais de 50 milhões de empresas provenientes do Google Maps, cobrindo 37 países. Tudo já está extraído e indexado — você filtra por cidade, setor, nota no Google, número de avaliações, tecnologias do site, e exporta em CSV em 2 minutos.

Sem API para configurar. Sem limites para gerenciar. Sem código para manter.

A base é atualizada toda semana. A exportação é instantânea — os dados já estão lá, não há necessidade de esperar um scrape.

Cada ficha contém mais de 50 campos: nome, endereço, telefone, email, site, nota no Google, número de avaliações, horários, coordenadas GPS, redes sociais e as tecnologias detectadas no site (mais de 160 tecnologias reconhecidas — WordPress, Shopify, Google Ads, Mailchimp, etc.).

Por 44€ por 10.000 leads, ou seja, 0,004€ por contato, é uma opção concreta para equipes que prospectam em volume.

créditos gratuitos — 200 créditos inclusos


FAQ — Perguntas frequentes

O uso da API oficial do Google Maps é legal dentro dos termos de uso do Google. No entanto, fazer scraping diretamente do HTML do Google Maps (sem passar pela API) viola os termos de uso e pode resultar no bloqueio do seu IP ou em ações legais. Para uso comercial, a API oficial ou uma base de dados pré-indexada como o IBLead são as opções em conformidade.

Qual é o limite de resultados da API do Google Maps Places?

A API nearbySearch retorna 20 resultados por página, com um máximo de 3 páginas, ou seja, 60 resultados por requisição. Para contornar esse limite, é necessário multiplicar os pontos de pesquisa em uma área geográfica e agregar os resultados. Essa é a principal restrição técnica para extrair dados em grande escala.

Quanto custa a API do Google Maps para extrair dados?

O Google oferece um crédito mensal de 200 $ (cerca de 185 €). Além disso, as tarifas variam: cerca de 0,032 $ por requisição Nearby Search e 0,017 $ a 0,085 $ por requisição Place Details. Para 10.000 estabelecimentos com detalhes completos, o custo pode ultrapassar 500 $. As soluções pré-indexadas como o IBLead costumam ser mais baratas em grandes volumes.

É possível extrair as avaliações do Google Maps via API?

Sim, a API Place Details retorna até 5 avaliações por estabelecimento. Para acessar mais avaliações, é necessário recorrer a outros métodos. O IBLead extrai até 500 avaliações por ficha — texto completo, nota, data e autor — o que nenhum concorrente direto oferece.

Qual é a diferença entre a API do Google Maps e uma ferramenta como o IBLead?

A API do Google Maps é um serviço em tempo real: você envia uma requisição, o Google retorna os dados do momento. É flexível, mas caro e limitado em volume. O IBLead é uma base pré-indexada: os dados já estão extraídos, filtrados e prontos para exportação. Sem código, sem limites, exportação instantânea. As duas abordagens atendem a necessidades diferentes — a API para aplicações dinâmicas, o IBLead para prospecção comercial em volume.


Extrair dados do Google Maps com JavaScript é totalmente viável. A API oficial fornece acesso a dados confiáveis, com exemplos de código claros e uma documentação completa. Mas ela tem suas limitações: limites, custos, complexidade de paginação, condições de uso rigorosas.

Para desenvolvedores que constroem aplicações de mapeamento ou ferramentas internas, a API continua sendo a melhor opção. Para equipes comerciais que desejam listas de prospects qualificados rapidamente, uma base pré-indexada como o IBLead é mais direta e menos custosa em grande escala.

créditos gratuitos — 200 créditos inclusos

Pronto para começar?

Aceda a todas as empresas do Google Maps, enriquecidas com emails e dados legais.

Experimente o IBLead gratuitamente