Scraper Google Maps avec Apify pour la prospection locale
Google Maps est la plus grosse base de données gratuite de commerces et de TPE en France : restaurants, artisans, cabinets, garages, coiffeurs, avocats. Apify te permet de la scraper massivement (nom, adresse, téléphone, site web, horaires, avis) pour environ 0,50$ pour 1 000 lieux. Ce guide te montre quel acteur choisir, comment cibler une zone géographique avec précision, comment enrichir ensuite avec les emails via un deuxième scrape, et comment construire un pipeline de prospection locale qui génère 1 000 prospects qualifiés par jour pour moins de 3$.
L'outil
Apify : 0,50$ pour 1 000 lieux Google Maps
Plan gratuit : 5$ de crédits par mois, soit déjà 10 000 lieux scrapés.
Essayer Apify gratuitement →Pourquoi Google Maps est une mine d'or pour la prospection B2B locale
Si tu vends un service aux artisans, restaurateurs, professions libérales ou commerçants, Google Maps est littéralement ta base de données de prospects. Chaque fiche contient le nom, l'adresse, le téléphone, souvent le site web, les horaires, la catégorie et les avis. C'est de la donnée structurée, fraiche, et massivement sous-exploitée par les services de prospection traditionnels qui préfèrent bosser sur LinkedIn B2B.
Le problème, c'est que l'API Google Places est chère et limitée : environ 17$ pour 1 000 Place Details, avec des quotas journaliers agressifs. Apify contourne l'API officielle en scrapant directement l'interface Maps, et divise le coût par 30 pour un dataset souvent plus riche (avis individuels, photos, etc.).
C'est l'outil que j'utilise pour alimenter mes pipelines de prospection géolocalisée, couplé avec n8n pour l'orchestration et Claude pour la personnalisation des messages.
L'acteur à utiliser : compass/google-maps-extractor
Parmi la dizaine d'acteurs Google Maps disponibles dans l'Apify Store,
celui que j'utilise en production est
compass/google-maps-extractor. Raisons : maintenance
active (patch rapide quand Google change le DOM), output ultra complet
(incluant les avis individuels), et un tarif de 0,50$ pour 1 000 lieux
qui reste imbattable.
Les inputs importants
- searchStringsArray : les mots-clés de recherche (ex : "restaurant italien", "coiffeur", "avocat droit du travail").
- locationQuery : la zone géographique (ex : "Paris 11", "Lyon", "Bordeaux métropole").
- maxCrawledPlacesPerSearch : plafonne le nombre de lieux par recherche (Google limite techniquement autour de 120 par query).
- language :
frpour la France. - scrapeReviews + maxReviews : active l'extraction des avis individuels (utile pour la veille réputation ou la personnalisation de cold emails).
Stratégie pour couvrir une ville entière
Google limite le nombre de résultats par requête autour de 120 lieux. Pour scraper tous les coiffeurs de Paris, tu dois découper géographiquement :
- Décompose la ville en zones de 2-3 km (arrondissements à Paris, quartiers ailleurs).
-
Lance une recherche par zone avec
locationQueryprécis. -
Déduplique ensuite sur
placeIddans ton pipeline (même lieu peut apparaître dans deux zones adjacentes).
Alternative plus rapide : passer des coordonnées GPS + rayon
via customGeolocation. Tu peux scripter ça dans
Claude Code :
"génère une grille de points espacés de 2 km
couvrant Paris intra-muros au format JSON Apify".
Enrichir avec les emails : l'étape manquante
Google Maps n'expose pas les emails. Pour passer du numéro de téléphone à une campagne cold email, il faut enrichir. Deux approches qui marchent :
-
Scraper les sites web renvoyés par Google
Maps avec un second acteur Apify
(
apify/website-content-crawler) et extraire les emails via regex. Coût additionnel : environ 1-2$ pour 1 000 sites. - Enrichir via Dropcontact ou Hunter à partir du nom d'entreprise + domaine. Plus cher mais taux de match plus élevé sur les TPE.
Mon pipeline typique : Apify Google Maps (500 lieux) → Apify Website Crawler sur les sites renvoyés (500 sites) → extraction email par regex → validation via Bouncer → import CRM. Total : environ 1,20$ pour 500 leads emailables.
Cas d'usage concrets de prospection locale
- Agence SEO local : scraper tous les professionnels d'une ville + leur site web, détecter ceux sans site ou avec un site HS, proposer une refonte.
- Consultant Avis Google : scraper les commerces avec note < 4 et moins de 20 avis, proposer un audit réputation.
- SaaS caisse / rendez-vous : scraper les catégories pertinentes (coiffeurs, restaurants, cabinets), croiser avec l'absence de site de réservation en ligne, cold call ciblé.
- Photographe : scraper les hôtels, restaurants et boutiques d'une zone touristique, proposer des shootings récurrents pour leurs réseaux.
Pour chaque cas, la qualification ciblée fait la différence. C'est ce type de pipeline qu'on construit ensemble dans LE LABO IA.
RGPD et prospection locale : les règles à respecter
En France, la CNIL distingue le B2B (numéros et emails professionnels génériques du type contact@) du B2C. Pour la prospection B2B sur base d'intérêt légitime, tu peux utiliser ces données sans consentement préalable, à condition de :
- Informer la personne dès le premier contact de la source et de ses droits.
- Proposer un opt-out simple (lien dans l'email, mention claire en cas d'appel).
- Ne pas conserver les données au-delà de la durée utile.
Les emails nominatifs (prenom.nom@...) sont soumis à des règles plus strictes. Priorise les emails génériques pour l'outbound initial.
Passe à l'action avec LE LABO IA
Apprends à construire un système de prospection locale automatisé qui génère des rendez-vous qualifiés. +110 entrepreneurs accompagnés.
Découvrir le programme →Questions fréquentes
L'acteur compass/google-maps-extractor coûte environ 0,50$ pour 1 000 lieux. Avec le plan gratuit (5$/mois), tu scrapes déjà 10 000 commerces gratuitement.
Nom, adresse, téléphone, site web, catégorie, horaires, note moyenne, nombre d'avis, avis individuels, photos, GPS, réseaux sociaux. L'email n'est généralement pas sur Maps : il faut enrichir.
Scraper des professionnels (adresse, téléphone d'entreprise) relève de l'intérêt légitime B2B. Attention aux avis individuels qui contiennent des données personnelles.
Utilise locationQuery avec une ville ou un quartier, ou customGeolocation avec latitude/longitude/rayon. Découpe les grandes villes en zones de 2-3 km car Google limite ~120 résultats par recherche.