ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo realizar un seguimiento de las citas de descripción general de la IA con un presupuesto limitado
Tutorial

Cómo realizar un seguimiento de las citas de descripción general de la IA con un presupuesto limitado

Supervise qué sitios se citan en las descripciones generales de IA de Google sin costosas herramientas de seguimiento de clasificación. Secuencia de comandos de Python que utiliza la API de búsqueda a $0,005/consulta.

Obtener clave API gratisDocumentacion API

Las descripciones generales de IA de Google ahora aparecen para una gran parte de consultas informativas, y ser citado en ellas genera un tráfico significativo. Los rastreadores de clasificación tradicionales cobran cientos de dólares por monitorear las citas de AI Overview. Puede crear su propio rastreador con una API de búsqueda que devuelva datos de descripción general de AI en su respuesta SERP. Este tutorial crea un canal de monitoreo de citas que verifica sus palabras clave objetivo, registra qué dominios se citan y realiza un seguimiento de su porcentaje de citas a lo largo del tiempo. Cada cheque cuesta $0.005 a través de la API de Scavio.

Requisitos previos

  • Python 3.9+ instalado
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Una lista de palabras clave de las que espera descripciones generales de IA

Guia paso a paso

Paso 1: Comprobar si una consulta desencadena una descripción general de IA

Busque una palabra clave y verifique si la respuesta SERP incluye una sección de descripción general de AI. No todas las consultas activan una, por lo que este paso filtra su lista de palabras clave.

Python
import requests, os

API_KEY = os.environ['SCAVIO_API_KEY']

def check_ai_overview(query: str) -> dict:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    data = resp.json()
    ai_overview = data.get('ai_overview', {})
    has_overview = bool(ai_overview and ai_overview.get('text'))
    citations = ai_overview.get('citations', []) if has_overview else []
    return {
        'query': query,
        'has_ai_overview': has_overview,
        'citation_count': len(citations),
        'cited_domains': [c.get('domain', '') for c in citations]
    }

result = check_ai_overview('what is the best crm for startups')
print(f'AI Overview: {result["has_ai_overview"]}, Citations: {result["citation_count"]}')

Paso 2: Verifique por lotes palabras clave y encuentre patrones de citas

Revise su lista de palabras clave y recopile datos de citas. Identifique qué dominios se citan con más frecuencia en sus palabras clave objetivo.

Python
import time
from collections import Counter

def batch_citation_check(keywords: list) -> dict:
    results = []
    domain_counts = Counter()
    for kw in keywords:
        data = check_ai_overview(kw)
        results.append(data)
        for domain in data['cited_domains']:
            domain_counts[domain] += 1
        time.sleep(0.3)
    return {
        'total_keywords': len(keywords),
        'with_ai_overview': sum(1 for r in results if r['has_ai_overview']),
        'top_cited_domains': domain_counts.most_common(10),
        'details': results
    }

keywords = [
    'what is the best crm for startups',
    'how to choose a crm 2026',
    'crm software comparison',
    'best free crm tools'
]
report = batch_citation_check(keywords)
print(f'{report["with_ai_overview"]}/{report["total_keywords"]} keywords have AI Overviews')

Paso 3: Realice un seguimiento del porcentaje de citas de su dominio

Calcule la frecuencia con la que aparece su dominio en las citas de AI Overview en comparación con la competencia. Esta es su participación en la descripción general de la IA.

Python
def citation_share(report: dict, your_domain: str) -> dict:
    total_citations = sum(count for _, count in report['top_cited_domains'])
    your_citations = sum(count for domain, count in report['top_cited_domains']
                         if your_domain in domain)
    share = (your_citations / max(total_citations, 1)) * 100
    # Find keywords where you are cited
    your_keywords = [r['query'] for r in report['details']
                     if any(your_domain in d for d in r['cited_domains'])]
    # Find keywords where you are NOT cited
    missing_keywords = [r['query'] for r in report['details']
                        if r['has_ai_overview'] and
                        not any(your_domain in d for d in r['cited_domains'])]
    return {
        'your_domain': your_domain,
        'citation_share': round(share, 1),
        'your_citations': your_citations,
        'total_citations': total_citations,
        'cited_keywords': your_keywords,
        'missing_keywords': missing_keywords
    }

share = citation_share(report, 'yoursite.com')
print(f'Citation share: {share["citation_share"]}% ({share["your_citations"]}/{share["total_citations"]})')
print(f'Missing from: {share["missing_keywords"]}')

Paso 4: Almacenar datos históricos para seguimiento de tendencias

Guarde datos de citas diarias para realizar un seguimiento de si sus esfuerzos de OEA están funcionando a lo largo del tiempo. Un archivo JSON simple almacena la serie temporal.

Python
import json
from datetime import date

def save_citation_history(report: dict, your_domain: str) -> None:
    history_file = 'citation_history.json'
    try:
        with open(history_file) as f:
            history = json.load(f)
    except FileNotFoundError:
        history = []
    share = citation_share(report, your_domain)
    history.append({
        'date': date.today().isoformat(),
        'citation_share': share['citation_share'],
        'your_citations': share['your_citations'],
        'total_citations': share['total_citations'],
        'keywords_checked': report['total_keywords'],
        'keywords_with_overview': report['with_ai_overview']
    })
    with open(history_file, 'w') as f:
        json.dump(history, f, indent=2)
    print(f'Saved citation data for {date.today()}')
    if len(history) > 1:
        prev = history[-2]['citation_share']
        curr = share['citation_share']
        delta = curr - prev
        print(f'Trend: {prev}% -> {curr}% ({delta:+.1f}%)')

Paso 5: Calcular los costos de seguimiento

Presupuesta el seguimiento de tu descripción general de IA en función del recuento de palabras clave y la frecuencia de comprobación. Las comprobaciones diarias de 100 palabras clave cuestan 15 dólares al mes.

Python
def monitoring_budget(num_keywords: int, checks_per_day: int = 1) -> dict:
    daily_credits = num_keywords * checks_per_day
    monthly_credits = daily_credits * 30
    monthly_cost = monthly_credits * 0.005
    return {
        'keywords': num_keywords,
        'daily_checks': checks_per_day,
        'monthly_credits': monthly_credits,
        'monthly_cost': f'${monthly_cost:.2f}',
        'plan': '$30/7K' if monthly_credits <= 7000
            else '$100/28K' if monthly_credits <= 28000
            else '$250/85K',
        'vs_semrush': f'Semrush Position Tracking: $139.95+/mo'
    }

for n in [50, 100, 500]:
    b = monitoring_budget(n)
    print(f'{b["keywords"]} keywords: {b["monthly_cost"]}/mo ({b["plan"]} plan)')
print(f'Comparison: Semrush starts at $139.95/mo for similar tracking')

Ejemplo en Python

Python
import os, requests, time, json
from collections import Counter
from datetime import date

API_KEY = os.environ['SCAVIO_API_KEY']

def check_ai_overview(query):
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    data = resp.json()
    aio = data.get('ai_overview', {})
    citations = aio.get('citations', []) if aio.get('text') else []
    return {'query': query, 'has_aio': bool(aio.get('text')),
            'domains': [c.get('domain', '') for c in citations]}

def main():
    keywords = ['best crm startups', 'crm comparison 2026', 'free crm tools']
    domain_counts = Counter()
    for kw in keywords:
        result = check_ai_overview(kw)
        print(f'{"+AIO" if result["has_aio"] else "-AIO"} {kw}: {len(result["domains"])} citations')
        for d in result['domains']:
            domain_counts[d] += 1
        time.sleep(0.3)
    print(f'\nTop cited domains:')
    for domain, count in domain_counts.most_common(5):
        print(f'  {domain}: {count}')
    print(f'Cost: ${len(keywords) * 0.005:.3f}')

if __name__ == '__main__':
    main()

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;

async function checkAiOverview(query) {
  const resp = 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, country_code: 'us' })
  });
  const data = await resp.json();
  const aio = data.ai_overview || {};
  return {
    query,
    hasAio: Boolean(aio.text),
    domains: (aio.citations || []).map(c => c.domain || '')
  };
}

async function main() {
  const keywords = ['best crm startups', 'crm comparison 2026'];
  const domainCounts = {};
  for (const kw of keywords) {
    const r = await checkAiOverview(kw);
    console.log(`${r.hasAio ? '+AIO' : '-AIO'} ${kw}: ${r.domains.length} citations`);
    r.domains.forEach(d => { domainCounts[d] = (domainCounts[d] || 0) + 1; });
  }
  console.log('Top domains:', Object.entries(domainCounts).sort((a,b) => b[1]-a[1]).slice(0,5));
}

main().catch(console.error);

Salida esperada

JSON
+AIO what is the best crm for startups: 4 citations
+AIO how to choose a crm 2026: 3 citations
+AIO crm software comparison: 5 citations
-AIO best free crm tools: 0 citations

3/4 keywords have AI Overviews
Citation share: 8.3% (1/12)
Missing from: ['crm software comparison']

50 keywords: $7.50/mo ($30/7K plan)
100 keywords: $15.00/mo ($30/7K plan)
500 keywords: $75.00/mo ($100/28K plan)

Tutoriales relacionados

  • Cómo crear un panel de control AEO para agencias con una API de búsqueda
  • Cómo realizar comprobaciones de clasificación SEO por lotes durante la noche con una API
  • Cómo reemplazar el drenaje de crédito de la API de Semrush con una alternativa ligera

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Python 3.9+ instalado. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Una lista de palabras clave de las que espera descripciones generales de IA. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

Las mejores herramientas de SEO después de Google I/O 2026

Read more
Best Of

Las mejores API de datos comerciales de Google Maps (mayo de 2026)

Read more
Use Case

Conexión a tierra de RAG después de Google I/O 2026

Read more
Solution

Migrar fuera de Google CSE antes de enero de 2027

Read more
Comparison

Google CSE (Paid Tier) vs Third-Party SERP API (Scavio, SerpApi, Serper)

Read more
Comparison

AEO Strategy vs Traditional SEO

Read more

Empieza a construir

Supervise qué sitios se citan en las descripciones generales de IA de Google sin costosas herramientas de seguimiento de clasificación. Secuencia de comandos de Python que utiliza la API de búsqueda a $0,005/consulta.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad