Una publicación de r/ArtificialInteligence documentó un proceso de auditoría de visibilidad de IA de extremo a extremo: 100 clientes potenciales/día de Google Maps, con una puntuación de 0 a 100 en visibilidad de IA, alcance personalizado y auditoría GEO completa en respuesta. Este tutorial reconstruye la capa de datos usando Scavio.
Requisitos previos
- Python 3.10+
- Clave API de Scavio
- Clave API antrópica (o cualquier LLM)
Guia paso a paso
Paso 1: Obtención diaria de clientes potenciales de Google Maps
Consulta de pack local por ciudad + nicho.
def daily_leads(city, niche, n=100):
out = []
page = 0
while len(out) < n:
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'{niche} {city}', 'search_type': 'local', 'start': page*20}).json()
out += r.get('local_results', [])
page += 1
if len(r.get('local_results', [])) < 20: break
return out[:n]Paso 2: Califique cada cliente potencial de 0 a 100 en visibilidad de IA
Consulta SERP para citas de descripciones generales de marca + IA.
def score(lead):
if not lead.get('website'): return 0
domain = lead['website'].split('/')[2]
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': f'{lead["name"]} reviews', 'include_ai_overview': True}).json()
cited = any(domain in c for c in (r.get('ai_overview') or {}).get('citations', []))
organic = sum(1 for o in r.get('organic_results', [])[:10] if domain in o.get('link',''))
return min(100, organic * 10 + (50 if cited else 0))Paso 3: Clasificar banda de visibilidad
Fuerte / Visible / Débil.
def band(score):
return 'Strong' if score >= 80 else 'Visible' if score >= 40 else 'Weak'Paso 4: Generar abridor personalizado con LLM
Claude escribe una introducción de 60 palabras usando la partitura.
import anthropic
client = anthropic.Anthropic()
def opener(lead, score):
msg = client.messages.create(model='claude-sonnet-4-6', max_tokens=120,
messages=[{'role':'user','content':f'Write a 60-word cold email opener for {lead["name"]} ({lead["website"]}). Their AI visibility score is {score}/100. Reference one specific gap.'}])
return msg.content[0].textPaso 5: Auditoría GEO completa sobre respuesta comprometida
Extracción más profunda de Reddit + YouTube + descripción general de AI.
def audit(domain):
return {
'serp': requests.post('https://api.scavio.dev/api/v1/search', headers={'x-api-key': API_KEY}, json={'query': domain, 'include_ai_overview': True}).json(),
'reddit': requests.post('https://api.scavio.dev/api/v1/reddit/search', headers={'x-api-key': API_KEY}, json={'query': domain}).json(),
'youtube': requests.post('https://api.scavio.dev/api/v1/youtube/search', headers={'x-api-key': API_KEY}, json={'query': domain}).json(),
}Ejemplo en Python
# See steps for full daily pipeline.
leads = daily_leads('Austin TX', 'dentist')
for lead in leads:
s = score(lead)
if s < 40: print('WEAK candidate:', lead['name'], opener(lead, s))Ejemplo en JavaScript
// Same pattern in TS — POST to /api/v1/search with search_type:'local', then per-lead score query.Salida esperada
About 100 leads/day with AI visibility scores, opener drafts, and full audits available on demand. Daily cost: ~300 credits = $1.30 on Scavio Project tier.