| name | apify-prospects-locaux |
| description | Use when you want a ready-to-call list of local businesses (by trade + city) with their contact details - phone, website and email. Search term + location -> CSV of prospects with contacts. |
Constituer une liste de prospects locaux avec contacts
Objectif & quand
One-shot : tu prospectes une zone (une ville, un quartier) sur un métier donné (agences marketing, restaurants, cabinets comptables...) et tu veux une liste prête à appeler ou à emailer. Google Maps recense ces établissements publiquement ; cet Actor les extrait et va chercher l'email sur leur site à ta place. Tu récupères un tableau : nom, catégorie, adresse, téléphone, site, email, note.
Prérequis
- Compte Apify +
APIFY_TOKEN (gratuit pour démarrer).
- MCP Apify configuré (
CONNECTING-MCP.md).
Actor utilisé
lukaskrivka/google-maps-with-contact-details (https://apify.com/lukaskrivka/google-maps-with-contact-details) - scrape Google Maps et enrichit chaque établissement avec ses contacts (email, réseaux sociaux) trouvés sur son site web.
Config (config.example.yaml)
| Champ | Rôle |
|---|
searchStringsArray | métier(s) recherché(s), comme dans la barre Google Maps (ex : agence marketing) |
locationQuery | zone géographique en texte libre (ex : Lyon, France) - une seule zone par run |
maxCrawledPlacesPerSearch | nombre max d'établissements par terme (borne le coût) |
scrapeContacts | va chercher l'email + les réseaux sociaux sur le site de chaque établissement |
language | langue des résultats (fr) |
Procédure (via MCP)
- Choisir le métier (
searchStringsArray) et la ville (locationQuery). Vérifier la zone sur https://nominatim.openstreetmap.org si besoin.
- Demander au MCP Apify de lancer l'Actor
lukaskrivka/google-maps-with-contact-details avec l'input de config.example.yaml (tool call-actor).
- Récupérer les items du dataset (
get-dataset-items).
- Mettre en forme : une ligne par établissement (colonnes ci-dessous). L'email se trouve dans le champ
emails (liste) - prendre le premier.
Si le MCP ne fait pas l'action
Fallback via lib/apify_helpers.py :
from lib import apify_helpers as a
places = a.run_actor("lukaskrivka/google-maps-with-contact-details", {
"searchStringsArray": ["agence marketing"],
"locationQuery": "Lyon, France",
"maxCrawledPlacesPerSearch": 50,
"scrapeContacts": True,
"language": "fr",
})
Ou lancer l'Actor depuis la console Apify (bouton Start) avec le même input.
Livrable
CSV : name, category, address, phone, website, email, rating, reviews_count, maps_url.
Coût & limites
Pay-per-result : ~$0.005 / établissement + ~$0.0025 / établissement pour l'enrichissement contacts (email). 50 prospects avec email ≈ $0.38. Le champ maxCrawledPlacesPerSearch borne la dépense. Données publiques (Google Maps + sites web) ; l'email est une donnée personnelle, à n'exploiter qu'avec un motif légitime (RGPD).
Exemple
examples/prospects-locaux.csv (données fictives, schéma réel).