El problema
Un post en r/dataengineering documentó meses intentando resolver la asociación nombre-de-empresa-a-sitio-web. Las soluciones existentes fallaban con cambios de marca, adquisiciones, relaciones matriz-subsidiaria y colisiones de nombres; los proveedores cobran precios enterprise y aún así fallan en casos límite.
La solucion de Scavio
Scavio Google SERP por nombre de empresa → datos de resultados orgánicos principales + alias de knowledge_graph → Scavio /extract en el dominio candidato → verificación de coincidencia de nombre → puntuación de confianza. Juicio LLM en caché solo para casos límite ambiguos.
Antes
La búsqueda ingenua de 'nombre-empresa + sitio oficial' falla en >5% de los registros. La desambiguación manual mata el rendimiento a escala.
Después
Costo por registro ~$0.001-0.005 en créditos Scavio con precios de Project. 92-96% de precisión en nombres limpios; 4-8% de casos límite honestos se derivan a revisión humana.
Para quien es
Equipos de datos B2B, sales-ops, RevOps, cualquiera que enriquezca un volcado de CRM donde el costo de equivocarse en un nombre es real.
Beneficios clave
- Google SERP tipado + knowledge graph en una sola llamada
- Paso de verificación con /extract supera la aceptación ciega del resultado top-1
- Datos de alias del knowledge graph manejan muchos casos de cambio de marca
- Costo predecible por registro
- Honesto sobre el 4-8% que necesita revisión humana
Ejemplo en Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def resolve(name):
s = requests.post('https://api.scavio.dev/api/v1/search', headers=H, json={'query': f'"{name}" official site'}).json()
kg = s.get('knowledge_graph', {})
candidate = kg.get('website') or (s.get('organic_results') or [{}])[0].get('link')
if not candidate:
return {'match': False, 'reason': 'no_candidate'}
page = requests.post('https://api.scavio.dev/api/v1/extract', headers=H, json={'url': candidate}).json()
text = (page.get('text') or '').lower()
return {'match': name.lower() in text, 'website': candidate, 'kg_aliases': kg.get('aliases')}Ejemplo en JavaScript
// Same shape in TS / Node — POST /api/v1/search then POST /api/v1/extract.Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA