Una publicación de r/Entrepreneurs preguntaba cómo encontrar clientes que aún no tienen un sitio web. La mayoría de las bases de datos B2B los omiten por diseño. Este tutorial recorre el patrón de registro de mapas + verificación de presencia.
Requisitos previos
- Python 3.10+
- Clave API de Scavio
- Una fuente de registros de Google Maps (Outscraper, Yelp, manual)
Guia paso a paso
Paso 1: Extraer registros de Maps para la geografía de destino
Outscraper o fuente a granel similar.
# Example seed: 1,000 dental practices in Austin, TX from Outscraper.
# Each record has: name, address, phone, optional 'website' field.Paso 2: Filtrar dónde el campo del sitio web está vacío o obsoleto
Filtro de primer paso.
candidates = [r for r in maps_records if not r.get('website')]Paso 3: Confirmar mediante búsqueda de Scavio
Si Google no muestra un dominio para 'Nombre de la empresa, ciudad TX', es poco probable que esté presente.
import os, requests
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def has_site(name, city):
r = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'"{name}" {city}'}).json()
domains = {o.get('link', '').split('/')[2] for o in r.get('organic_results', [])[:5] if 'link' in o}
return any(any(t in d for t in [name.lower().split()[0]]) for d in domains)Paso 4: Pase de señal de Reddit
Opcional: ¿algún hilo que mencione el negocio?
def reddit_check(name):
return requests.post('https://api.scavio.dev/api/v1/reddit/search', headers=H, json={'query': name}).json()Paso 5: Salida de lista de sitios web no calificados
Ingrese a la herramienta de divulgación.
# qualified = [c for c in candidates if not has_site(c['name'], c['city'])]
# Export to CSV; pipe to your outreach motion.Ejemplo en Python
# 1,000 prospects checked at 1 query each = 1,000 credits = ~$4.30. Worth it for an agency selling website builds.Ejemplo en JavaScript
// Same architecture in TS.Salida esperada
Filtered list of businesses confirmed to lack a web presence. Higher conversion for agencies selling website builds because the segment is purpose-targeted.