Google Maps es el directorio más grande de empresas locales, lo que lo convierte en una fuente principal para la generación de leads B2B. Una canalización de clientes potenciales que extrae datos de Maps, los enriquece con información de reseñas y sitios web, y califica a los clientes potenciales según su calidad, produce un flujo constante de prospectos calificados. Este tutorial muestra cómo crear un canal de clientes potenciales automatizado de Google Maps utilizando la API de Scavio. Consultará empresas locales por categoría y ubicación, enriquecerá cada cliente potencial con datos de búsqueda adicionales y exportará clientes potenciales calificados listos para su divulgación.
Requisitos previos
- Python 3.8+ instalado
- solicita biblioteca instalada
- Una clave API de Scavio de scavio.dev
- Segmentar categorías de empresas y ubicaciones
Guia paso a paso
Paso 1: Consulta Google Maps para empresas
Busque empresas por categoría y ubicación para crear la lista inicial de clientes potenciales.
import os, requests, json
API_KEY = os.environ["SCAVIO_API_KEY"]
def find_businesses(category, location):
query = f"{category} in {location}"
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": query, "type": "maps"})
return resp.json().get("local_results", [])Paso 2: Enriquezca los clientes potenciales con datos del sitio web
Busque cada empresa para encontrar contexto adicional como sitio web, perfiles sociales y menciones recientes.
def enrich_lead(business_name, location):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": f"{business_name} {location}"})
results = resp.json().get("organic_results", [])[:3]
websites = [r.get("link","") for r in results if business_name.lower() in r.get("title","").lower()]
return {"website": websites[0] if websites else None,
"mentions": len(results)}Paso 3: Calificar y clasificar clientes potenciales
Aplique una fórmula de puntuación basada en calificaciones, reseñas y presencia en la web.
def score_lead(business, enrichment):
rating = float(business.get("rating", 0))
reviews = int(business.get("reviews", 0))
has_website = 1 if enrichment.get("website") else 0
score = (rating / 5.0) * 40 + min(reviews / 50, 1.0) * 30 + has_website * 30
return round(score, 1)Paso 4: Construir y exportar el oleoducto
Ejecute el proceso completo para una categoría y exporte clientes potenciales puntuados.
def lead_pipeline(category, location, min_score=40):
businesses = find_businesses(category, location)
leads = []
for b in businesses:
enrichment = enrich_lead(b.get("title",""), location)
s = score_lead(b, enrichment)
if s >= min_score:
leads.append({
"name": b.get("title",""), "phone": b.get("phone",""),
"address": b.get("address",""), "rating": b.get("rating",""),
"reviews": b.get("reviews",0), "website": enrichment.get("website",""),
"score": s,
})
leads.sort(key=lambda x: x["score"], reverse=True)
with open("leads_pipeline.json", "w") as f:
json.dump(leads, f, indent=2)
print(f"Exported {len(leads)} leads")
return leads
lead_pipeline("dentists", "Los Angeles CA")Ejemplo en Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def leads(category, location):
resp = requests.post("https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": f"{category} in {location}", "type": "maps"})
for b in resp.json().get("local_results", [])[:5]:
print(f"{b['title']} | {b.get('rating','N/A')} | {b.get('phone','N/A')}")
leads("dentists", "Los Angeles CA")Ejemplo en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function leads(category, location) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: category+" in "+location, type: "maps"})
});
const results = (await r.json()).local_results || [];
results.slice(0,5).forEach(b =>
console.log(b.title, b.rating, b.phone)
);
}
leads("dentists", "Los Angeles CA");Salida esperada
An automated lead pipeline that extracts Google Maps businesses, enriches with website data, scores by quality, and exports ranked leads for outreach.