Las descripciones generales de Gemini AI reemplazaron los fragmentos destacados en más del 40% de las SERP de Google para 2026. Las citas en la descripción general son el nuevo rango 1. Este tutorial rastrea las citas de Gemini AI Overview para su panel de consulta utilizando el punto final de extracción AI Overview de Scavio.
Requisitos previos
- Python 3.10+
- Una clave API de Scavio
- Un panel de consulta con consultas elegibles para descripción general
Guia paso a paso
Paso 1: Identificar consultas que activan la descripción general
Las consultas informativas y comparativas son las que más generan resúmenes.
QUERIES = [
'what is an ai agent',
'how does rag work',
'serpapi vs scavio'
]Paso 2: Consulta Scavio con el indicador ai_overview
Scavio devuelve el contenido general y las citas cuando están presentes.
import requests, os
API_KEY = os.environ['SCAVIO_API_KEY']
def get_overview(query):
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': query, 'include': ['ai_overview']})
return r.json().get('ai_overview', {})Paso 3: Extraer URL de citas
Las respuestas generales incluyen una matriz de citas.
def citations(overview):
return [c['url'] for c in overview.get('citations', [])]Paso 4: Seguimiento de presencia versus ausencia
No todas las consultas obtienen una descripción general. Registre ambos casos.
def track(query):
ov = get_overview(query)
if not ov:
return {'query': query, 'has_overview': False}
return {'query': query, 'has_overview': True, 'citations': citations(ov)}Paso 5: Calcula la cobertura de tu dominio
Porcentaje de consultas elegibles para descripción general en las que se le cita.
def coverage(results, domain):
with_ov = [r for r in results if r['has_overview']]
mine = [r for r in with_ov if any(domain in c for c in r.get('citations', []))]
return len(mine) / len(with_ov) if with_ov else 0Ejemplo en Python
import os, requests
API_KEY = os.environ['SCAVIO_API_KEY']
QUERIES = ['what is an ai agent', 'how does rag work']
results = []
for q in QUERIES:
r = requests.post('https://api.scavio.dev/api/v1/search',
headers={'x-api-key': API_KEY},
json={'query': q, 'include': ['ai_overview']})
ov = r.json().get('ai_overview', {})
if ov:
results.append({'query': q, 'citations': [c['url'] for c in ov.get('citations', [])]})
print(results)Ejemplo en JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;
const QUERIES = ['what is an ai agent', 'how does rag work'];
const results = [];
for (const q of QUERIES) {
const r = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST',
headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
body: JSON.stringify({ query: q, include: ['ai_overview'] })
});
const data = await r.json();
if (data.ai_overview) results.push({ query: q, citations: data.ai_overview.citations?.map(c => c.url) });
}
console.log(results);Salida esperada
Per-query list of AI Overview citations. Typical B2B SaaS sees 15-30% of target queries trigger overviews, with 3-5 citations each.