Aperçu
Cibler les entreprises d'abord hors ligne (plombiers, entrepreneurs, restaurants) qui ont un profil Google Business mais pas de site web. Extraire les informations de contact des données structurées SERP, qualifier par nombre d'avis et note, produire une liste de prospection.
Déclencheur
Traitement par lots hebdomadaire ou à la demande
Planification
Par lots hebdomadaires
Étapes du workflow
Créer des requêtes locales
Combiner type de service + ville : 'plumber in Austin TX', 'electrician near me Dallas'. Une requête par paire niche+ville.
Rechercher via l'endpoint Google de Scavio
POST /api/v1/search avec platform=google pour chaque requête. Analyser les résultats du pack local.
Filtrer les entreprises sans site web
Vérifier si le résultat a une URL de site web. Conserver uniquement ceux avec téléphone/adresse mais sans site.
Qualifier par avis
Filtrer : note >= 4.0, nombre d'avis >= 10. Ce sont des entreprises établies susceptibles de convertir.
Exporter en CSV
Colonnes : nom de l'entreprise, téléphone, adresse, note, nombre d'avis, catégorie, ville.
Implémentation Python
import requests, csv, os
key = os.environ["SCAVIO_API_KEY"]
queries = ["plumber in Austin TX", "electrician in Dallas TX"]
leads = []
for q in queries:
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": key},
json={"query": q, "platform": "google", "limit": 20})
for r in resp.json().get("results", []):
if r.get("phone") and not r.get("website"):
leads.append({"name": r["title"], "phone": r["phone"],
"address": r.get("address", ""), "rating": r.get("rating", "")})
with open("leads.csv", "w", newline="") as f:
w = csv.DictWriter(f, fieldnames=["name", "phone", "address", "rating"])
w.writeheader()
w.writerows(leads)
print(f"Found {len(leads)} offline leads")Implémentation JavaScript
const queries = ["plumber in Austin TX", "electrician in Dallas TX"];
const leads = [];
for (const q of queries) {
const resp = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ query: q, platform: "google", limit: 20 })
});
for (const r of (await resp.json()).results) {
if (r.phone && !r.website) leads.push({ name: r.title, phone: r.phone });
}
}
console.log(`Found ${leads.length} offline leads`);Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA