- 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
| Campo | Contenuto |
|---|---|
rank_type, rank_serp | La posizione della scheda nei risultati |
title | Il nome dell’attività |
cid | L’ID Google della scheda, stabile nel tempo |
type | La categoria, ad es. Ristorante |
address | L’indirizzo postale |
website | Il sito web |
rating, reviews | La valutazione media su 5 e il numero di recensioni |
status_label, status_detail | Lo stato di apertura e il relativo dettaglio, come gli orari |
comment | L’estratto mostrato sulla scheda |
images | Le immagini della scheda |
Il CID è prezioso: permette di seguire la stessa scheda da una rilevazione all’altra, anche se cambia nome o indirizzo.
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 -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.
