Guida

Scraping di Google Maps: estrarre le schede di una ricerca

Nome, categoria, indirizzo, sito web, valutazione, numero di recensioni, orari di apertura: una ricerca su Google Maps contiene moltissime informazioni su un mercato locale. Ecco come raccoglierle correttamente.

In sintesi
  • L’API ufficiale di Google Maps Platform non riproduce l’ordine mostrato in Google Maps: bisogna raccoglierlo.
  • Ogni scheda arriva con posizione, nome, categoria, indirizzo, sito web, valutazione, numero di recensioni e CID.
  • Usi: monitoraggio della SEO locale, analisi dei concorrenti e ricerche di mercato, città per città.

Scraping di Google Maps o API ufficiale?

Il primo equivoco da chiarire: l’API ufficiale di Google Maps Platform serve a mostrare mappe, calcolare percorsi o geocodificare indirizzi all’interno di un’applicazione. La sua ricerca di luoghi restituisce sì delle attività, ma non nell’ordine che vede chi fa una ricerca su Google Maps da un determinato luogo.

Fare scraping di Google Maps significa raccogliere l’elenco delle schede restituite da una ricerca (“ristorante”, “idraulico”, “palestra”) da un determinato luogo, nell’ordine in cui Google le mostra. Sono i dati che servono per la SEO locale e le ricerche di mercato.

I dati disponibili per ogni scheda

CampoContenuto
rank_type, rank_serpLa posizione della scheda nei risultati
titleIl nome dell’attività
cidL’ID Google della scheda, stabile nel tempo
typeLa categoria, ad es. Ristorante
addressL’indirizzo postale
websiteIl sito web
rating, reviewsLa valutazione media su 5 e il numero di recensioni
status_label, status_detailLo stato di apertura e il relativo dettaglio, come gli orari
commentL’estratto mostrato sulla scheda
imagesLe immagini della scheda

Il CID è prezioso: permette di seguire la stessa scheda da una rilevazione all’altra, anche se cambia nome o indirizzo.

L’API restituisce la valutazione, il numero di recensioni e l’estratto mostrato, non il testo completo di ogni recensione.

La località cambia tutto

Una ricerca su Google Maps dipende dal luogo da cui viene fatta. “Idraulico” cercato dal centro di una città e dalla sua periferia non restituisce le stesse schede nello stesso ordine. Il parametro geolocation colloca la ricerca nella città che scegli, oppure su una posizione GPS precisa con zoom facoltativo (43.7102,7.2620,16z). Ne parliamo in SERP geolocalizzate.

Esempio di chiamata

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": "ristorante", "depth": 1, "location": "it", "language": "it", "geolocation": "Milan, Lombardy, Italy"}]'

La stessa richiesta di Google Search, con search_engine impostato su google_maps. Anche il prezzo è lo stesso: 0,30 € ogni 1.000 ricerche a profondità 1.

Tre usi concreti

Monitorare la tua SEO locale

Registra ogni settimana la posizione delle tue schede sulle tue parole chiave, città per città. Una scheda che perde posizioni spesso significa che un concorrente sta accumulando recensioni, oppure che la categoria è scelta male.

Tenere d’occhio i concorrenti locali

Confronta valutazione, numero di recensioni e categoria delle attività intorno a te nei risultati. Il divario di recensioni con i primi tre ti dà un obiettivo.

Studiare un mercato

Incrociando una categoria con un elenco di città, ottieni un censimento delle attività visibili, con indirizzo e sito web: densità della concorrenza, zone poco servite, catene presenti.

Google Maps o local pack?

Il local pack, il blocco di poche schede mostrato nei normali risultati di Google, non è la stessa cosa di una ricerca su Google Maps. Viene restituito dall’API Google Search, con valutazione, numero di recensioni e fascia di prezzo. L’API Google Maps restituisce le schede della ricerca su Maps vera e propria. I due si completano: il local pack misura la visibilità in Google, Maps misura la posizione sulla mappa.

Provalo sulle tue parole chiave

1.000 SERP gratuite, senza carta di credito.