ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un rastreador SERP de la competencia
Tutorial

Cómo crear un rastreador SERP de la competencia

Aprenda a crear un rastreador SERP automatizado que supervise diariamente las clasificaciones de la competencia y le avise sobre los cambios de posición.

Obtener clave API gratisDocumentacion API

El seguimiento manual de las clasificaciones de búsqueda de la competencia es insostenible. Este tutorial crea un rastreador automatizado que consulta diariamente las palabras clave objetivo a través del punto final de Google de Scavio, registra las posiciones de la competencia y señala cambios significativos en la clasificación. Cuesta una fracción de las herramientas SERP empresariales porque paga por consulta con precios basados ​​en crédito en lugar de tarifas mensuales fijas.

Requisitos previos

  • Python 3.8+ instalado
  • solicita biblioteca instalada
  • Una clave API de Scavio de scavio.dev
  • Una lista de palabras clave objetivo y dominios de la competencia

Guia paso a paso

Paso 1: Definir palabras clave y competidores

Configure su configuración de seguimiento con palabras clave objetivo y dominios de la competencia.

Python
import os

API_KEY = os.environ['SCAVIO_API_KEY']
KEYWORDS = ['best crm 2026', 'project management software', 'invoice tool small business']
COMPETITORS = ['competitor1.com', 'competitor2.com', 'competitor3.com']
MY_DOMAIN = 'mydomain.com'

Paso 2: Consultar clasificaciones para cada palabra clave

Busque cada palabra clave y extraiga posiciones para su dominio y sus competidores.

Python
import requests

def get_rankings(keyword: str) -> list:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY},
        json={'platform': 'google', 'query': keyword}, timeout=10)
    rankings = []
    for i, r in enumerate(resp.json().get('organic', [])[:20], 1):
        domain = r.get('link', '').split('/')[2] if '//' in r.get('link', '') else ''
        if domain == MY_DOMAIN or any(c in domain for c in COMPETITORS):
            rankings.append({'position': i, 'domain': domain, 'title': r['title']})
    return rankings

Paso 3: Comparar con el día anterior

Cargue los datos de ayer y marque los cambios de posición por encima de un umbral.

Python
import json, datetime

def compare_rankings(today: dict, yesterday: dict, threshold: int = 3) -> list:
    alerts = []
    for kw in today:
        for entry in today[kw]:
            prev = next((e for e in yesterday.get(kw, []) if e['domain'] == entry['domain']), None)
            if prev:
                change = prev['position'] - entry['position']
                if abs(change) >= threshold:
                    direction = 'up' if change > 0 else 'down'
                    alerts.append(f"{entry['domain']} moved {direction} {abs(change)} positions for '{kw}' (now #{entry['position']})")
            else:
                alerts.append(f"NEW: {entry['domain']} entered top 20 for '{kw}' at #{entry['position']}")
    return alerts

Paso 4: Ejecute el rastreador diario

Combine todo en una función de ejecución diaria que guarde los resultados e imprima alertas.

Python
def daily_track():
    today_data = {}
    for kw in KEYWORDS:
        today_data[kw] = get_rankings(kw)
    date = datetime.date.today().isoformat()
    filename = f'serp_rankings_{date}.json'
    with open(filename, 'w') as f:
        json.dump(today_data, f, indent=2)
    yesterday_file = f'serp_rankings_{(datetime.date.today() - datetime.timedelta(1)).isoformat()}.json'
    try:
        with open(yesterday_file) as f:
            yesterday_data = json.load(f)
        alerts = compare_rankings(today_data, yesterday_data)
        for a in alerts: print(f'ALERT: {a}')
    except FileNotFoundError:
        print('First run, no comparison data yet.')

daily_track()

Ejemplo en Python

Python
# Run as a cron job: 0 8 * * * python serp_tracker.py
import requests, os, json, datetime
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}

def track(keywords, competitors):
    for kw in keywords:
        data = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
            json={'platform': 'google', 'query': kw}, timeout=10).json()
        for i, r in enumerate(data.get('organic', [])[:20], 1):
            domain = r.get('link', '').split('/')[2] if '//' in r.get('link', '') else ''
            if any(c in domain for c in competitors):
                print(f'[{i:2d}] {domain:30s} | {kw}')

Ejemplo en JavaScript

JavaScript
async function track(keywords, competitors) {
  for (const kw of keywords) {
    const data = await fetch('https://api.scavio.dev/api/v1/search', {
      method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
      body: JSON.stringify({platform: 'google', query: kw})
    }).then(r => r.json());
    (data.organic || []).forEach((r, i) => {
      const domain = new URL(r.link).hostname;
      if (competitors.some(c => domain.includes(c))) console.log(`[${i+1}] ${domain} | ${kw}`);
    });
  }
}

Salida esperada

JSON
Daily SERP ranking reports with position change alerts. Tracks competitor and own-domain positions for target keywords.

Tutoriales relacionados

  • Cómo obtener resultados de búsqueda de Google en Python
  • Cómo realizar un seguimiento de las citas OEA con una API de búsqueda

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.8+ instalado. solicita biblioteca instalada. Una clave API de Scavio de scavio.dev. Una lista de palabras clave objetivo y dominios de la competencia. 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

La mejor API SERP basada en colas en 2026

Read more
Best Of

Mejor API SERP en 2026

Read more
Glossary

API de SERP

Read more
Glossary

Sistema de cola API SERP

Read more
Comparison

Semrush API vs Raw SERP API

Read more
Solution

Datos de Google Ads de las API SERP

Read more

Empieza a construir

Aprenda a crear un rastreador SERP automatizado que supervise diariamente las clasificaciones de la competencia y le avise sobre los cambios de posición.

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