ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Flujos de trabajo
  3. Google Maps Lead Scoring Pipeline
Flujo de trabajo

Google Maps Lead Scoring Pipeline

Search Google Maps for objetivo businesses, puntuacion by resena conteo y rating, salida un ranked lead lista. Python implementacion usando Scavio Google Maps search.

Comenzar gratisDocumentacion API

Resumen

Searches Google Maps for businesses coincidencia objetivo criterios (nicho + ubicacion), extrae resena conteo y rating, puntuaciones y ranks resultados, y salidas un lead lista sorted by puntuacion.

Desencadenador

Manual activar o programado semanal

Programación

Manual o semanal

Pasos del flujo de trabajo

1

Define search parametros

Set objetivo nicho (e.g., 'plumber'), objetivo city/region, minimo rating umbral, y minimo resena conteo for qualified leads.

2

Search Google Maps via SERP API

POST to Scavio search API con consulta '[nicho] in [city]' y plataforma: google. Extraer Google Maps pack resultados (business nombre, rating, resena conteo, address, sitio web, phone).

3

Filtrar by minimo criterios

Eliminar businesses below minimo rating (e.g., 3.5) o minimo resena conteo (e.g., 10 resenas). Estos indicate inactive o low-quality businesses.

4

Puntuacion cada lead

Puntuacion = (rating * 10) + log10(review_count + 1) * 20. Higher rating y mas resenas = higher puntuacion. Este surfaces active, reputable businesses.

5

Enriquecer con sitio web datos

For high-scoring leads con un sitio web URL, ejecutar un secondary search for '[business nombre] resenas' to recopilar additional context.

6

Salida ranked CSV

Escribir business_name, address, rating, review_count, puntuacion, sitio web, phone to un ranked CSV. Top 20 leads listo for outreach.

Implementacion en Python

Python
import requests
import csv
import math
from datetime import date

SCRAVIO_KEY = "YOUR_API_KEY"
NICHE = "plumber"
CITY = "Austin TX"
MIN_RATING = 3.5
MIN_REVIEWS = 10
OUTPUT_CSV = f"leads_{NICHE}_{CITY.replace(' ', '_')}_{date.today()}.csv"

def search_maps(niche: str, city: str) -> list:
    resp = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": SCRAVIO_KEY},
        json={"query": f"{niche} in {city}", "platform": "google", "include_local": True, "num": 20}
    )
    resp.raise_for_status()
    data = resp.json()
    # Google Maps pack results are in local_results field
    return data.get("local_results", data.get("results", []))

def score_lead(rating: float, review_count: int) -> float:
    rating_score = rating * 10
    review_score = math.log10(review_count + 1) * 20
    return round(rating_score + review_score, 2)

def run():
    results = search_maps(NICHE, CITY)
    leads = []
    for r in results:
        try:
            rating = float(r.get("rating", 0) or 0)
            reviews = int(r.get("reviews", r.get("review_count", 0)) or 0)
        except (ValueError, TypeError):
            continue
        if rating < MIN_RATING or reviews < MIN_REVIEWS:
            continue
        leads.append({
            "business_name": r.get("title", r.get("name", "")),
            "address": r.get("address", ""),
            "rating": rating,
            "review_count": reviews,
            "score": score_lead(rating, reviews),
            "website": r.get("website", ""),
            "phone": r.get("phone", "")
        })
    leads.sort(key=lambda x: x["score"], reverse=True)
    with open(OUTPUT_CSV, "w", newline="") as f:
        writer = csv.DictWriter(f, fieldnames=["business_name", "address", "rating", "review_count", "score", "website", "phone"])
        writer.writeheader()
        writer.writerows(leads)
    print(f"{len(leads)} qualified leads -> {OUTPUT_CSV}")
    for lead in leads[:5]:
        print(f"  {lead['score']:.1f} | {lead['business_name']} | {lead['rating']} stars | {lead['review_count']} reviews")

if __name__ == "__main__":
    run()

Implementacion en JavaScript

JavaScript
const fetch = require('node-fetch');
const fs = require('fs');
const { stringify } = require('csv-stringify/sync');

const SCRAVIO_KEY = 'YOUR_API_KEY';
const NICHE = 'plumber';
const CITY = 'Austin TX';
const MIN_RATING = 3.5;
const MIN_REVIEWS = 10;

async function searchMaps(niche, city) {
  const res = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': SCRAVIO_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query: `${niche} in ${city}`, platform: 'google', include_local: true, num: 20 })
  });
  const data = await res.json();
  return data.local_results || data.results || [];
}

function scoreLead(rating, reviewCount) {
  return Math.round((rating * 10 + Math.log10(reviewCount + 1) * 20) * 100) / 100;
}

async function run() {
  const results = await searchMaps(NICHE, CITY);
  const leads = results
    .map(r => ({
      business_name: r.title || r.name || '',
      address: r.address || '',
      rating: parseFloat(r.rating) || 0,
      review_count: parseInt(r.reviews || r.review_count) || 0,
      website: r.website || '',
      phone: r.phone || ''
    }))
    .filter(l => l.rating >= MIN_RATING && l.review_count >= MIN_REVIEWS)
    .map(l => ({ ...l, score: scoreLead(l.rating, l.review_count) }))
    .sort((a, b) => b.score - a.score);
  const today = new Date().toISOString().slice(0, 10);
  fs.writeFileSync(`leads_${NICHE}_${today}.csv`, stringify(leads, { header: true }));
  console.log(`${leads.length} leads found. Top: ${leads[0]?.business_name} (${leads[0]?.score})`);
}

run().catch(console.error);

Plataformas utilizadas

Google

Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA

Preguntas frecuentes

Searches Google Maps for businesses coincidencia objetivo criterios (nicho + ubicacion), extrae resena conteo y rating, puntuaciones y ranks resultados, y salidas un lead lista sorted by puntuacion.

Este flujo de trabajo usa un manual activar o programado semanal. Manual o semanal.

Este flujo de trabajo usa las siguientes plataformas de Scavio: google. Cada plataforma se llama a traves del mismo endpoint de API unificado.

Si. El plan gratuito de Scavio incluye 50 creditos al registrarte sin tarjeta de credito. Es suficiente para probar y validar este flujo de trabajo antes de escalarlo.

Google Maps Lead Scoring Pipeline

Search Google Maps for objetivo businesses, puntuacion by resena conteo y rating, salida un ranked lead lista. Python implementacion usando Scavio Google Maps search.

Obtener tu clave APILeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad