El problema
Scrapear directorios como Yelp o Yellow Pages para conseguir leads te da fichas de agregadores, no los negocios reales, así que la mitad de tu lista son filas obsoletas, comercios cerrados y entradas duplicadas que apuntan al directorio en vez de a la empresa. Luego quemas tu reputación de envío escribiendo a direcciones que rebotan. Los que montan cold email en Reddit y lo hacen bien dicen lo mismo: extrae solo webs de negocios reales, no directorios. La solución es partir del SERP en vivo de Google para una consulta de nicho y ubicación y quedarte solo con los resultados que resuelven al dominio propio de un negocio.
La solucion de Scavio
Consulta en Google el nicho más la ubicación ("plumbers in Austin TX"), toma los resultados orgánicos y filtra los dominios conocidos de directorios y redes sociales. Lo que queda es una lista de sitios de negocios reales que puedes enriquecer, deduplicar por dominio y pasar a outreach. Como partiste de lo que de verdad posiciona, los negocios están vivos y son localizables, lo cual ya es una señal de cualificación. No sustituye a un proveedor completo de datos locales si necesitas registros con teléfono verificado a escala, pero para encontrar negocios reales y activos en un nicho supera al scraping de directorios en calidad de leads.
Antes
Scrapeas un directorio, importas 2,000 filas y descubres que buena parte son duplicados, páginas de agregadores o negocios cerrados solo después de que se disparan tus rebotes.
Después
Consultas el SERP por nicho y ciudad, conservas solo los resultados de dominio propio, deduplicas por dominio y empiezas el outreach sobre negocios demostrablemente vivos y localizables.
Para quien es
Agencias y fundadores en solitario que construyen sus propias listas de cold outreach y quieren negocios reales y activos en un nicho en lugar de filas scrapeadas de directorios que rebotan.
Beneficios clave
- Los leads son sitios de negocios reales, no fichas de directorios o agregadores
- El mero hecho de posicionar ya es una señal de que el negocio está activo
- Deduplicas limpiamente por dominio en vez de por filas de fichas desordenadas
- Una llamada a Google por nicho y ciudad (1-2 créditos) en lugar de un trabajo de scraping que mantener
- El mismo SERP te da un gancho de personalización (el título de su propia página y su oferta)
Ejemplo en Python
import os, requests
H = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}", "Content-Type": "application/json"}
DIRECTORIES = {"yelp.com", "yellowpages.com", "facebook.com", "instagram.com",
"linkedin.com", "mapquest.com", "bbb.org", "thumbtack.com"}
def leads(niche, city):
q = f"{niche} in {city}"
data = requests.post("https://api.scavio.dev/api/v1/google", headers=H,
json={"query": q}).json()
seen, out = set(), []
for o in data.get("organic_results", []):
domain = o["link"].split("/")[2].replace("www.", "")
if domain in DIRECTORIES or domain in seen:
continue
seen.add(domain)
out.append({"domain": domain, "title": o["title"], "url": o["link"]})
return out
print(leads("plumbers", "Austin TX"))Ejemplo en JavaScript
const H = { Authorization: `Bearer ${process.env.SCAVIO_API_KEY}`, "Content-Type": "application/json" };
const DIRECTORIES = new Set(["yelp.com","yellowpages.com","facebook.com","linkedin.com","bbb.org"]);
async function leads(niche, city) {
const r = await fetch("https://api.scavio.dev/api/v1/google", {
method: "POST", headers: H, body: JSON.stringify({ query: `${niche} in ${city}` }),
});
const data = await r.json();
const seen = new Set();
return (data.organic_results ?? []).flatMap((o) => {
const domain = new URL(o.link).hostname.replace("www.", "");
if (DIRECTORIES.has(domain) || seen.has(domain)) return [];
seen.add(domain);
return [{ domain, title: o.title, url: o.link }];
});
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA