ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo crear un rastreador de clasificación de agencia con una API de búsqueda
Tutorial

Cómo crear un rastreador de clasificación de agencia con una API de búsqueda

Cree un rastreador de clasificación para clientes de agencias de SEO utilizando una API de búsqueda. Realice un seguimiento diario de las posiciones de Google sin herramientas de seguimiento de clasificación dedicadas.

Obtener clave API gratisDocumentacion API

Las agencias de SEO pagan entre 100 y 500 dólares al mes por herramientas de seguimiento de clasificación (Ahrefs, SEMrush, AccuRanker). Para las agencias que rastrean volúmenes moderados de palabras clave, una API de búsqueda a $0,005/consulta puede replicar el seguimiento de la clasificación principal a una fracción del costo. Este tutorial crea un rastreador de clasificación diario para clientes de agencias.

Requisitos previos

  • Python 3.8+
  • Una clave API de Scavio
  • Palabras clave del cliente y URL de destino

Guia paso a paso

Paso 1: Definir conjuntos de palabras clave del cliente

Estructurar los datos del cliente con palabras clave y dominios de destino.

Python
CLIENTS = [
    {
        'name': 'Client A',
        'domain': 'clienta.com',
        'keywords': ['crm software', 'best crm 2026', 'crm for startups', 'crm comparison'],
    },
    {
        'name': 'Client B',
        'domain': 'clientb.io',
        'keywords': ['project management tool', 'team collaboration app', 'agile project management'],
    },
]

Paso 2: Construye el verificador de rango

Busca en Google cada palabra clave y encuentra la posición del cliente.

Python
import requests, os

H = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def check_rank(keyword: str, target_domain: str) -> dict:
    resp = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': keyword}, timeout=10)
    results = resp.json().get('organic', [])
    
    for i, r in enumerate(results):
        url = r.get('link', '')
        if target_domain in url:
            return {'keyword': keyword, 'position': i + 1, 'url': url, 'title': r.get('title','')}
    
    return {'keyword': keyword, 'position': None, 'not_in_top_results': True}

Paso 3: Ejecutar seguimiento diario

Verifique todas las palabras clave de un cliente y almacene datos históricos.

Python
import json
from datetime import date
from pathlib import Path

def daily_client_check(client: dict) -> dict:
    today = date.today().isoformat()
    results = []
    for kw in client['keywords']:
        rank = check_rank(kw, client['domain'])
        rank['date'] = today
        results.append(rank)
    
    # Store history
    history_file = Path(f"ranks_{client['name'].replace(' ','_').lower()}.json")
    history = json.loads(history_file.read_text()) if history_file.exists() else []
    history.extend(results)
    history_file.write_text(json.dumps(history, indent=2))
    
    return {
        'client': client['name'],
        'date': today,
        'tracked': len(results),
        'ranking': sum(1 for r in results if r.get('position')),
        'avg_position': sum(r['position'] for r in results if r.get('position')) / max(sum(1 for r in results if r.get('position')), 1),
        'results': results,
    }

Paso 4: Generar informe de cliente

Cree un informe resumido que muestre los cambios de posición a lo largo del tiempo.

Python
def client_report(client_name: str, days: int = 7) -> dict:
    history_file = Path(f"ranks_{client_name.replace(' ','_').lower()}.json")
    if not history_file.exists():
        return {'error': 'No data found'}
    
    history = json.loads(history_file.read_text())
    dates = sorted(set(r['date'] for r in history))[-days:]
    
    report = {'client': client_name, 'period': f'Last {days} days', 'keywords': {}}
    for kw in set(r['keyword'] for r in history):
        kw_data = [r for r in history if r['keyword'] == kw and r['date'] in dates]
        if len(kw_data) >= 2:
            first = next((r['position'] for r in kw_data if r.get('position')), None)
            last = next((r['position'] for r in reversed(kw_data) if r.get('position')), None)
            if first and last:
                report['keywords'][kw] = {'current': last, 'change': first - last, 'trend': 'up' if last < first else 'down' if last > first else 'stable'}
    
    return report

Ejemplo en Python

Python
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY'], 'Content-Type': 'application/json'}

def check_rank(keyword, domain):
    r = requests.post('https://api.scavio.dev/api/v1/search', headers=H,
        json={'platform': 'google', 'query': keyword}).json()
    for i, x in enumerate(r.get('organic',[])):
        if domain in x.get('link',''):
            return i + 1
    return None

Ejemplo en JavaScript

JavaScript
async function checkRank(keyword, domain) {
  const r = 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: keyword})
  });
  const results = (await r.json()).organic || [];
  const idx = results.findIndex(x => x.link?.includes(domain));
  return idx >= 0 ? idx + 1 : null;
}

Salida esperada

JSON
A daily rank tracker that monitors Google positions for agency clients, stores historical data, and generates position change reports.

Tutoriales relacionados

  • Cómo realizar un seguimiento diario de las clasificaciones SEO con la API Scavio
  • Cómo crear su propia API de seguimiento de rango sin raspar

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+. Una clave API de Scavio. Palabras clave del cliente y URL de destino. 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
Solution

Cree una capa API de SEO de costo predecible

Read more
Glossary

Costo de la API de Google Maps Places

Read more
Comparison

Google Places API vs SERP Local Pack API

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more

Empieza a construir

Cree un rastreador de clasificación para clientes de agencias de SEO utilizando una API de búsqueda. Realice un seguimiento diario de las posiciones de Google sin herramientas de seguimiento de clasificación dedicadas.

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