Resumen
Agencies ese serve local businesses (restaurants, dentists, plumbers, gyms) necesita un steady flow of nuevo prospects. Este flujo de trabajo searches Google diario for local businesses in objetivo cities y verticals, filtra for businesses con weak online presence (no sitio web, outdated listings, poor resenas), y pushes qualified leads to el sales pipeline. One llamada un API per search, no scraping requerido.
Desencadenador
Cron programar (diario at 9 AM UTC)
Programación
Diario at 9 AM UTC
Pasos del flujo de trabajo
Cargar objetivo mercados
Leer lista of objetivo cities, verticals (dentist, plumber, restaurant), y qualifying criterios de config.
Search for local businesses
For cada city-vertical combo, consulta Google via Scavio for business listings. Extraer names, addresses, y URLs.
Identificar weak online presence
Filtrar for businesses sin un sitio web, con poor Google ratings, o con outdated informacion in fragmentos.
Verificar for existing outreach
Comparar contra your CRM to skip businesses you tienen ya contacted.
Puntuacion y priorizar
Puntuacion leads by oportunidad senales: no sitio web = high priority, bad resenas mentioning fixable problemas = medium.
Push to outreach pipeline
Format leads con context (why they necesita ayuda) y push to your CRM o outreach herramienta.
Implementacion en Python
import requests, os, json
H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
MARKETS = [
{"city": "Austin TX", "verticals": ["dentist", "plumber", "restaurant"]},
{"city": "Denver CO", "verticals": ["chiropractor", "gym", "salon"]}
]
def find_local_leads():
leads = []
for market in MARKETS:
for vertical in market["verticals"]:
query = f"{vertical} in {market['city']}"
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": query}, timeout=10).json()
for o in r.get("organic", [])[:10]:
snippet = o.get("snippet", "").lower()
has_website = bool(o.get("link"))
low_rating = "rating" in snippet and any(
f"{n}" in snippet for n in ["1.", "2.", "3."])
leads.append({
"business": o.get("title"),
"url": o.get("link"),
"city": market["city"],
"vertical": vertical,
"snippet": o.get("snippet"),
"opportunity": "no_website" if not has_website else
"low_rating" if low_rating else "standard"
})
return leads
for lead in find_local_leads():
print(json.dumps(lead))Implementacion en JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function findLocalLeads(markets) {
const leads = [];
for (const market of markets) {
for (const vertical of market.verticals) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: vertical + " in " + market.city})
}).then(r => r.json());
for (const o of (r.organic || []).slice(0, 10)) {
leads.push({
business: o.title, url: o.link, city: market.city,
vertical, snippet: o.snippet
});
}
}
}
return leads;
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA