Un post sur r/Entrepreneurs demandait comment trouver des clients qui n'ont pas encore de site web. La plupart des bases de données B2B les manquent par conception. Ce tutoriel présente le modèle Maps-record + presence-check.
Prérequis
- Python 3.10+
- Scavio API key
- Une source d'enregistrements Google Maps (Outscraper, Yelp, manuel)
Parcours
Étape 1: Extraire les enregistrements Maps pour la zone cible
Outscraper ou une source similaire en vrac.
# Example seed: 1,000 dental practices in Austin, TX from Outscraper.
# Each record has: name, address, phone, optional 'website' field.Étape 2: Filtrer là où le champ site web est vide ou obsolète
Filtre de premier passage.
candidates = [r for r in maps_records if not r.get('website')]Étape 3: Confirmer via une recherche Scavio
Si Google ne fait pas apparaître de domaine pour 'Business Name City TX', la présence est peu probable.
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def has_site(name, city):
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'"{name}" {city}'}).json()
domains = {o.get('link', '').split('/')[2] for o in r.get('organic_results', [])[:5] if 'link' in o}
return any(any(t in d for t in [name.lower().split()[0]]) for d in domains)Étape 4: Passage de signal Reddit
Optionnel : un fil mentionnant l'entreprise ?
def reddit_check(name):
return requests.post('https://api.scavio.dev/api/v1/reddit/search', headers=H, json={'query': name}).json()Étape 5: Produire une liste qualifiée sans site web
Introduire dans un outil de prospection.
# qualified = [c for c in candidates if not has_site(c['name'], c['city'])]
# Export to CSV; pipe to your outreach motion.Exemple Python
# 1,000 prospects checked at 1 query each = 1,000 credits = ~$4.30. Worth it for an agency selling website builds.Exemple JavaScript
// Same architecture in TS.Sortie attendue
Filtered list of businesses confirmed to lack a web presence. Higher conversion for agencies selling website builds because the segment is purpose-targeted.