Guide ultime : extraire des données Google Maps avec JavaScript
Google Maps n'est pas qu'un outil de navigation. C'est une base de données commerciale massive : nom, adresse, téléphone, note, avis, horaires, site web — tout est là, fiche par fiche. Ce guide ultime pour extraire des données de Google Maps avec JavaScript te montre comment exploiter cette mine d'informations, que tu saches coder ou non.
Pourquoi extraire des données de Google Maps ?
Avant de parler de code, posons la question : pourquoi scraper Google Maps ?
Les raisons varient selon les entreprises. Voici les plus courantes.
Générer des leads ciblés
C'est l'usage numéro un. Une agence web cherche des restaurants sans site web. Un fournisseur de logiciels cible les cabinets médicaux d'une région. Un prestataire RH prospecte les PME de moins de 50 salariés.
Google Maps donne accès à des milliers de fiches par secteur et par zone géographique. Extraire ces données, c'est construire une liste de prospects qualifiés en quelques minutes — sans acheter de base de données.
Analyser la concurrence
Scraper ne sert pas uniquement à prospecter. Une chaîne de restauration peut analyser les notes, les avis et la densité de concurrents dans une zone avant d'ouvrir un nouveau point de vente.
Combien de restaurants dans un rayon de 2 km ? Quelle est leur note moyenne ? Combien d'avis ont-ils ? Ces données orientent des décisions stratégiques concrètes.
Identifier de nouvelles zones de chalandise
Une entreprise qui veut s'étendre géographiquement peut cartographier la demande potentielle avant d'investir. Extraire les données Google Maps d'une ville ou d'une région donne une image claire du tissu économique local.
Comprendre les bases de l'API Google Maps
L'API Google Maps est le point d'entrée officiel pour accéder aux données de Google Maps de façon programmatique. Elle propose plusieurs services utiles pour l'extraction de données.
Obtenir une clé API
Pour commencer, tu dois créer un compte sur Google Cloud Platform. Ensuite, active l'API Maps JavaScript dans ton projet. Google génère une clé API unique — c'est cette clé qui autorise tes requêtes.
Sans clé API, aucune requête ne passe. Avec une clé, tu peux appeler les différents services de l'API depuis ton code JavaScript.
Les principaux services disponibles
L'API Google Maps propose plusieurs services exploitables en JavaScript :
- Geocoding : convertit une adresse en coordonnées GPS (latitude, longitude)
- Places : recherche des établissements par type et par zone géographique
- Directions : calcule des itinéraires entre deux points
- Distance Matrix : mesure les distances et temps de trajet entre plusieurs points
Pour l'extraction de données commerciales, les services Geocoding et Places sont les plus utiles.
Exemples concrets d'extraction de données avec JavaScript
Voici trois exemples pratiques pour extraire des données de Google Maps avec JavaScript.
1. Convertir une adresse en coordonnées GPS (Geocoding)
Le service Geocoding transforme une adresse textuelle en coordonnées géographiques. Utile pour géolocaliser des prospects ou des points de vente.
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 échoué : " + status);
}
}
);
Ce code retourne les coordonnées GPS d'une adresse parisienne. Tu peux boucler sur une liste d'adresses pour géolocaliser un fichier entier.
2. Trouver des établissements proches d'un lieu (Places API)
Le service nearbySearch recherche des établissements dans un rayon donné autour d'un point géographique. C'est le cœur de l'extraction de données pour la prospection.
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 rayon
type: ['restaurant']
};
placesService.nearbySearch(request, function(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
results.forEach(function(place) {
console.log(
"Nom : " + place.name +
", Adresse : " + place.vicinity +
", Note : " + place.rating
);
});
}
});
Ce code liste les restaurants dans un rayon de 5 km autour de Paris, avec leur nom, adresse et note Google.
Attention : nearbySearch retourne au maximum 20 résultats par requête. Tu peux paginer jusqu'à 3 pages, soit 60 résultats maximum par recherche. Pour couvrir une ville entière, il faut découper la zone en plusieurs sous-zones et multiplier les requêtes.
3. Récupérer les détails d'un établissement (Place Details)
nearbySearch donne des informations basiques. Pour accéder au numéro de téléphone, au site web, aux horaires et aux avis, il faut appeler getDetails sur chaque place_id.
var request = {
placeId: 'ChIJD7fiBh9u5kcRYJSMaMOCCwQ', // Place ID de l'établissement
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("Nom : " + place.name);
console.log("Téléphone : " + place.formatted_phone_number);
console.log("Site web : " + place.website);
console.log("Note : " + place.rating);
}
});
Chaque appel à getDetails consomme un crédit API. Sur des milliers d'établissements, la facture monte vite.
4. Suivre les déplacements sur une carte
Un autre usage : écouter les changements de position sur une carte interactive. Utile pour des applications de suivi ou de cartographie dynamique.
google.maps.event.addListener(map, 'center_changed', function() {
var center = map.getCenter();
console.log(
"Centre : Latitude=" + center.lat() +
", Longitude=" + center.lng()
);
});
Ce code affiche les coordonnées du centre de la carte à chaque déplacement de l'utilisateur.
Les limites et contraintes de l'API Google Maps
L'API Google Maps est puissante, mais elle impose des contraintes importantes à connaître avant de se lancer.
Les quotas et la facturation
Google facture l'API Places à l'usage. Voici les tarifs indicatifs (en USD, tarifs Google) :
- Nearby Search : 0,032 $ par requête
- Place Details : 0,017 $ par requête (champs de base) à 0,085 $ (champs avancés)
- Geocoding : 0,005 $ par requête
Pour extraire 10 000 établissements avec leurs détails complets, le coût peut dépasser 500 $. Google offre un crédit mensuel de 200 $, mais il s'épuise rapidement sur des volumes importants.
La limite des 120 résultats
nearbySearch retourne 20 résultats par page, avec 3 pages maximum : soit 60 résultats par requête. Pour couvrir une ville entière, il faut multiplier les points de recherche et les requêtes. C'est faisable, mais complexe à implémenter correctement.
La gestion des erreurs
Dépasser le quota déclenche des erreurs OVER_QUERY_LIMIT. L'application s'arrête ou retourne des données incomplètes. Il faut implémenter une gestion des erreurs robuste : retry avec backoff exponentiel, mise en cache des résultats déjà obtenus, pagination correcte.
Les conditions d'utilisation
Les CGU de Google Maps interdisent explicitement de stocker les données Places de façon permanente (sauf exceptions). Extraire des données pour les revendre ou les redistribuer viole les conditions d'utilisation. Utilise les données pour ton usage interne — prospection, analyse, veille concurrentielle.
Optimiser ses requêtes API pour réduire les coûts
Quelques bonnes pratiques pour limiter la facture.
Ne demande que les champs nécessaires. L'API Places facture différemment selon les champs demandés. Si tu n'as pas besoin des avis ou des photos, ne les inclus pas dans le paramètre fields.
Mets en cache les résultats. Si tu interroges la même zone plusieurs fois, stocke les résultats en base de données locale. Évite les requêtes redondantes.
Découpe intelligemment les zones. Pour couvrir une grande ville, utilise une grille de points espacés de 2-3 km plutôt que de partir d'un seul point central. Tu maximises la couverture sans dépasser les 60 résultats par requête.
Utilise la pagination correctement. nearbySearch retourne un next_page_token quand il y a plus de résultats. Attends 2 secondes avant d'appeler la page suivante — Google impose ce délai.
Quand l'API ne suffit pas : l'alternative sans code
Coder un scraper Google Maps en JavaScript prend du temps. Gérer les quotas, la pagination, les erreurs, le stockage — c'est un projet en soi. Et la facture API peut devenir significative sur de gros volumes.
Pour les équipes commerciales et marketing qui veulent des leads Google Maps sans écrire une ligne de code, IBLead est une alternative directe.
IBLead est une base de données pré-indexée de 50M+ entreprises issues de Google Maps, couvrant 37 pays. Tout est déjà extrait et indexé — tu filtres par ville, secteur, note Google, nombre d'avis, technologies du site web, et tu exportes en CSV en 2 minutes.
Pas d'API à configurer. Pas de quota à gérer. Pas de code à maintenir.
La base est mise à jour chaque semaine. L'export est instantané — les données sont déjà là, pas besoin d'attendre un scrape.
Chaque fiche contient 50+ champs : nom, adresse, téléphone, email, site web, note Google, nombre d'avis, horaires, coordonnées GPS, réseaux sociaux, et les technologies détectées sur le site web (160+ technologies reconnues — WordPress, Shopify, Google Ads, Mailchimp, etc.).
Pour 44€ pour 10 000 leads, soit 0,004€ par contact, c'est une option concrète pour les équipes qui prospectent à volume.
Commencez gratuitement — 200 crédits, sans carte
FAQ — Questions fréquentes
Est-ce légal de scraper Google Maps ?
L'utilisation de l'API officielle Google Maps est légale dans le cadre des conditions d'utilisation de Google. En revanche, scraper directement le HTML de Google Maps (sans passer par l'API) viole les CGU et peut entraîner le blocage de ton IP ou des poursuites. Pour un usage commercial, l'API officielle ou une base de données pré-indexée comme IBLead sont les options conformes.
Quelle est la limite de résultats de l'API Google Maps Places ?
L'API nearbySearch retourne 20 résultats par page, avec un maximum de 3 pages, soit 60 résultats par requête. Pour contourner cette limite, il faut multiplier les points de recherche sur une zone géographique et agréger les résultats. C'est la principale contrainte technique pour extraire des données à grande échelle.
Combien coûte l'API Google Maps pour extraire des données ?
Google offre un crédit mensuel de 200 $ (environ 185 €). Au-delà, les tarifs varient : environ 0,032 $ par requête Nearby Search et 0,017 $ à 0,085 $ par requête Place Details. Pour 10 000 établissements avec détails complets, le coût peut dépasser 500 $. Les solutions pré-indexées comme IBLead sont souvent moins chères sur de gros volumes.
Peut-on extraire les avis Google Maps via l'API ?
Oui, l'API Place Details retourne jusqu'à 5 avis par établissement. Pour accéder à plus d'avis, il faut passer par d'autres méthodes. IBLead extrait jusqu'à 500 avis par fiche — texte complet, note, date et auteur — ce qu'aucun concurrent direct ne propose.
Quelle est la différence entre l'API Google Maps et un outil comme IBLead ?
L'API Google Maps est un service en temps réel : tu envoies une requête, Google retourne les données du moment. C'est flexible mais coûteux et limité en volume. IBLead est une base pré-indexée : les données sont déjà extraites, filtrées et prêtes à l'export. Pas de code, pas de quota, export instantané. Les deux approches répondent à des besoins différents — l'API pour des applications dynamiques, IBLead pour la prospection commerciale à volume.
Extraire des données de Google Maps avec JavaScript est tout à fait faisable. L'API officielle donne accès à des données fiables, avec des exemples de code clairs et une documentation complète. Mais elle a ses limites : quotas, coûts, complexité de la pagination, conditions d'utilisation strictes.
Pour les développeurs qui construisent des applications cartographiques ou des outils internes, l'API reste la bonne option. Pour les équipes commerciales qui veulent des listes de prospects qualifiés rapidement, une base pré-indexée comme IBLead est plus directe et moins coûteuse à grande échelle.
Prêt à commencer ?
Accédez à toutes les entreprises Google Maps, enrichies avec emails et données légales.
Essayer IBLead gratuitementArticles similaires
10 conseils éprouvés pour inciter les clients à laisser plus d'avis sur Google Maps
Découvrez 10 stratégies pratiques pour augmenter les avis sur Google Maps. Timing, incitations, QR codes et tactiques de réponse efficaces.
7 erreurs de cold email à éviter : exemples et modèles
Évitez ces 7 erreurs de cold email pour améliorer vos taux de réponse. Exemples réels, modèles AIDA et solutions éprouvées.
ABM Données Google Maps : Le Guide Stratégique Complet
Découvrez comment les données Google Maps pour le marketing basé sur les comptes génèrent 208 % de revenus supplémentaires.