Guia

Scraping do Google Maps: como extrair os perfis de uma pesquisa

Nome, categoria, endereço, site, nota, número de avaliações, horário de funcionamento: uma pesquisa no Google Maps reúne uma grande quantidade de informações sobre um mercado local. Veja como coletá-las corretamente.

Principais pontos
  • A API oficial da Google Maps Platform não reproduz o ranking exibido no Google Maps: é preciso coletá-lo.
  • Cada perfil vem com sua posição, nome, categoria, endereço, site, nota, número de avaliações e CID.
  • Usos: monitoramento de SEO local, acompanhamento da concorrência e pesquisa de mercado, cidade por cidade.

Scraping do Google Maps ou API oficial?

A primeira confusão a desfazer: a API oficial da Google Maps Platform serve para exibir mapas, calcular rotas ou geocodificar endereços dentro de um aplicativo. A busca de lugares dela até retorna empresas, mas não na ordem que um usuário vê em uma pesquisa no Google Maps feita a partir de um local específico.

Fazer scraping do Google Maps é coletar a lista de perfis retornada por uma pesquisa (“restaurante”, “encanador”, “academia”) a partir de um local específico, na ordem em que o Google os exibe. São esses os dados usados no SEO local e na pesquisa de mercado.

Os dados disponíveis para cada perfil

CampoConteúdo
rank_type, rank_serpA posição do perfil nos resultados
titleO nome da empresa
cidO ID do Google do perfil, estável ao longo do tempo
typeA categoria, por exemplo Restaurante
addressO endereço
websiteO site
rating, reviewsA nota média (máximo 5) e o número de avaliações
status_label, status_detailO status de funcionamento e seu detalhe, como o horário de funcionamento
commentO trecho exibido no perfil
imagesAs imagens do perfil

O CID é valioso: ele permite acompanhar o mesmo perfil de um levantamento para outro, mesmo que o nome ou o endereço mude.

A API retorna a nota, o número de avaliações e o trecho exibido, mas não o texto completo de cada avaliação.

A localização muda tudo

Uma pesquisa no Google Maps depende do lugar de onde é feita. “Encanador” pesquisado no centro de uma cidade e na periferia não retorna os mesmos perfis na mesma ordem. O parâmetro geolocation situa a pesquisa na cidade que você escolher, ou em uma posição GPS precisa com zoom opcional (-23.5505,-46.6333,16z). Falamos disso em SERPs geolocalizadas.

Exemplo de chamada

curl
curl -X POST 'https://api.semscraper.com/v1/serp' \
  -H 'Authorization: Bearer API_KEY' \
  -H 'Content-Type: application/json' \
  -d '[{"search_engine": "google_maps", "keyword": "restaurante", "depth": 1, "location": "br", "language": "pt", "geolocation": "Rio de Janeiro, State of Rio de Janeiro, Brazil"}]'

A mesma requisição do Google Search, com search_engine definido como google_maps. O preço também é o mesmo: € 0,30 a cada 1.000 pesquisas com profundidade 1.

Três usos concretos

Monitorar o seu SEO local

Registre toda semana a posição dos seus perfis nas suas palavras-chave, cidade por cidade. Quando um perfil cai, muitas vezes é sinal de que um concorrente está acumulando avaliações, ou de que a categoria foi mal escolhida.

Acompanhar a concorrência local

Compare a nota, o número de avaliações e a categoria das empresas ao seu redor nos resultados. A diferença de avaliações em relação aos três primeiros dá uma meta.

Estudar um mercado

Cruzando uma categoria com uma lista de cidades, você obtém um mapeamento das empresas visíveis, com endereço e site: densidade da concorrência, regiões pouco atendidas, redes presentes.

Google Maps ou pacote local?

O pacote local, o bloco com alguns perfis exibido nos resultados normais do Google, não é a mesma coisa que uma pesquisa no Google Maps. Ele é retornado pela API do Google Search, com nota, número de avaliações e faixa de preço. A API do Google Maps retorna os perfis da própria pesquisa no Maps. As duas se complementam: o pacote local mede a visibilidade no Google, o Maps mede a posição no mapa.

Teste com suas próprias palavras-chave

1.000 SERPs grátis, sem cartão de crédito.