ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Flujos de trabajo
  3. Maps Semanal Lead Refresh
Flujo de trabajo

Maps Semanal Lead Refresh

Semanal refresh of local business lead datos de Google local pack resultados. Generar scored leads con ratings, resenas, y contact info.

Comenzar gratisDocumentacion API

Resumen

Este flujo de trabajo refreshes local business lead datos semanal by querying Google for business categorias in objetivo ubicaciones. It extrae local pack resultados con business names, ratings, resena counts, y addresses, entonces puntuaciones leads by calidad senales. El salida feeds en CRM importa o outreach automatizacion herramientas.

Desencadenador

Cron programar (cada Monday at 7:00 AM UTC)

Programación

Ejecuta cada Monday at 7:00 AM UTC

Pasos del flujo de trabajo

1

Cargar categorias y objetivo ubicaciones

Leer el lista of business categorias y geographic ubicaciones to search de configuracion.

2

Search Google for local businesses

Call Scavio con consultas like '{categoria} near {ubicacion}' to obtener local pack y resultados organicos.

3

Extraer y normalize lead datos

Analizar local pack resultados for business nombre, address, phone, rating, resena conteo, y sitio web URL.

4

Puntuacion leads by calidad senales

Puntuacion cada lead by resena conteo (established business), rating (calidad), y presence of sitio web (tech savviness).

5

Exportar for CRM importar

Format scored leads as CSV o JSON for CRM importar, con deduplication contra previously imported leads.

Implementacion en Python

Python
import requests
import json
import csv
from pathlib import Path
from datetime import datetime

API_KEY = "your_scavio_api_key"

CATEGORIES = ["plumber", "electrician", "HVAC contractor", "roofing company"]
LOCATIONS = ["Austin TX", "Dallas TX", "San Antonio TX"]

def search_local(category: str, location: str) -> list[dict]:
    res = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": f"{category} near {location}"},
        timeout=15,
    )
    res.raise_for_status()
    data = res.json()
    leads = []
    for item in data.get("local_pack", data.get("organic", [])):
        leads.append({
            "name": item.get("title", item.get("name", "")),
            "address": item.get("address", ""),
            "phone": item.get("phone", ""),
            "rating": item.get("rating"),
            "reviews": item.get("reviews", 0),
            "website": item.get("link", ""),
            "category": category,
            "location": location,
        })
    return leads

def score_lead(lead: dict) -> float:
    score = 0
    if lead.get("reviews", 0) > 50:
        score += 30
    elif lead.get("reviews", 0) > 10:
        score += 15
    if lead.get("rating") and lead["rating"] >= 4.0:
        score += 20
    if lead.get("website"):
        score += 10
    if lead.get("phone"):
        score += 10
    return score

def run():
    all_leads = []
    seen = set()
    for category in CATEGORIES:
        for location in LOCATIONS:
            leads = search_local(category, location)
            for lead in leads:
                key = f"{lead['name']}_{lead['address']}"
                if key not in seen:
                    seen.add(key)
                    lead["score"] = score_lead(lead)
                    all_leads.append(lead)

    all_leads.sort(key=lambda x: x["score"], reverse=True)
    date = datetime.utcnow().strftime("%Y-%m-%d")

    # JSON output
    Path(f"local_leads_{date}.json").write_text(json.dumps(all_leads, indent=2))

    # CSV for CRM import
    csv_path = Path(f"local_leads_{date}.csv")
    with csv_path.open("w", newline="") as f:
        writer = csv.DictWriter(f, fieldnames=["name", "address", "phone", "rating", "reviews", "website", "category", "location", "score"])
        writer.writeheader()
        writer.writerows(all_leads)

    print(f"Generated {len(all_leads)} leads from {len(CATEGORIES) * len(LOCATIONS)} searches")
    print(f"Credits used: {len(CATEGORIES) * len(LOCATIONS)}")
    for lead in all_leads[:5]:
        print(f"  [{lead['score']}] {lead['name']} - {lead.get('rating', 'N/A')} stars, {lead['reviews']} reviews")

if __name__ == "__main__":
    run()

Implementacion en JavaScript

JavaScript
const API_KEY = "your_scavio_api_key";
const CATEGORIES = ["plumber", "electrician", "HVAC contractor"];
const LOCATIONS = ["Austin TX", "Dallas TX"];

async function searchLocal(category, location) {
  const res = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST",
    headers: { "x-api-key": API_KEY, "content-type": "application/json" },
    body: JSON.stringify({ platform: "google", query: `${category} near ${location}` }),
  });
  if (!res.ok) throw new Error(`scavio ${res.status}`);
  const data = await res.json();
  return (data.local_pack ?? data.organic ?? []).map((item) => ({
    name: item.title ?? item.name ?? "", rating: item.rating ?? null, reviews: item.reviews ?? 0, category, location,
  }));
}

const allLeads = [];
for (const cat of CATEGORIES) {
  for (const loc of LOCATIONS) allLeads.push(...await searchLocal(cat, loc));
}
allLeads.sort((a, b) => b.reviews - a.reviews);
console.log(`Generated ${allLeads.length} leads from ${CATEGORIES.length * LOCATIONS.length} searches`);
for (const l of allLeads.slice(0, 5)) console.log(`  ${l.name}: ${l.rating ?? "N/A"} stars, ${l.reviews} reviews`);

Plataformas utilizadas

Google

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

Preguntas frecuentes

Este flujo de trabajo refreshes local business lead datos semanal by querying Google for business categorias in objetivo ubicaciones. It extrae local pack resultados con business names, ratings, resena counts, y addresses, entonces puntuaciones leads by calidad senales. El salida feeds en CRM importa o outreach automatizacion herramientas.

Este flujo de trabajo usa un cron programar (cada monday at 7:00 am utc). Ejecuta cada Monday at 7:00 AM UTC.

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.

Maps Semanal Lead Refresh

Semanal refresh of local business lead datos de Google local pack resultados. Generar scored leads con ratings, resenas, y contact info.

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