ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo monitorear el texto de los anuncios de la competencia a partir de datos SERP
Tutorial

Cómo monitorear el texto de los anuncios de la competencia a partir de datos SERP

Realice un seguimiento de los titulares y descripciones de Google Ads de la competencia mediante programación utilizando la API de Scavio. Supervise los cambios en el texto de los anuncios a lo largo del tiempo para obtener inteligencia competitiva.

Obtener clave API gratisDocumentacion API

El texto de Google Ads revela la estrategia de mensajería, las propuestas de valor y las ofertas promocionales de sus competidores. Monitorear cómo cambia el texto del anuncio a lo largo del tiempo lo ayuda a anticiparse al posicionamiento de la competencia e identificar nuevas campañas con anticipación. La API de Scavio incluye resultados de anuncios pagados en su respuesta SERP, que contienen el título, la descripción, la URL visible y el nombre del anunciante. Este tutorial crea un script que rastrea el texto del anuncio para un conjunto de palabras clave, guarda instantáneas en JSON y diferencia los cambios entre ejecuciones.

Requisitos previos

  • Python 3.8 o superior
  • solicita biblioteca instalada
  • Una clave API de Scavio
  • Una lista de palabras clave donde los competidores publican anuncios

Guia paso a paso

Paso 1: Obtener resultados SERP, incluidos anuncios

Consulta Google a través de Scavio. La respuesta incluye una matriz de anuncios con título, descripción y display_url para cada resultado pago.

Python
import requests

def get_ads(keyword: str) -> list[dict]:
    r = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"query": keyword, "country_code": "us"}
    )
    r.raise_for_status()
    return r.json().get("ads", [])

Paso 2: Extraer detalles del texto del anuncio

Analice cada anuncio en busca de título, descripción, URL visible y dominio del anunciante.

Python
def parse_ad(ad: dict) -> dict:
    return {
        "headline": ad.get("title", ""),
        "description": ad.get("description", ""),
        "display_url": ad.get("displayed_link", ""),
        "link": ad.get("link", ""),
    }

Paso 3: Guardar instantánea del anuncio en JSON

Almacene cada ejecución como una instantánea con marca de tiempo para que pueda diferenciar el texto del anuncio entre ejecuciones.

Python
import json
from datetime import datetime

def save_snapshot(keyword: str, ads: list[dict]) -> None:
    snapshot = {
        "keyword": keyword,
        "timestamp": datetime.now().isoformat(),
        "ads": [parse_ad(a) for a in ads]
    }
    filename = f"ads_{keyword.replace(' ', '_')}_{datetime.now().strftime('%Y%m%d')}.json"
    with open(filename, "w") as f:
        json.dump(snapshot, f, indent=2)

Paso 4: Diferenciar texto de anuncio entre dos instantáneas

Compare dos archivos instantáneos para detectar anuncios nuevos, anuncios eliminados y copias modificadas.

Python
def diff_snapshots(old_file: str, new_file: str) -> dict:
    with open(old_file) as f:
        old = {a["link"]: a for a in json.load(f)["ads"]}
    with open(new_file) as f:
        new = {a["link"]: a for a in json.load(f)["ads"]}
    return {
        "new_ads": [new[k] for k in new if k not in old],
        "removed_ads": [old[k] for k in old if k not in new],
        "changed": [new[k] for k in new if k in old and new[k] != old[k]],
    }

Ejemplo en Python

Python
import os
import json
import requests
from datetime import datetime

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"
KEYWORDS = ["crm software", "project management tool", "email marketing platform"]

def get_ads(keyword: str) -> list[dict]:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": keyword, "country_code": "us"})
    r.raise_for_status()
    return r.json().get("ads", [])

def monitor():
    for kw in KEYWORDS:
        ads = get_ads(kw)
        print(f"\n{kw}: {len(ads)} ads")
        for ad in ads:
            print(f"  {ad.get('title', 'N/A')}")
            print(f"  {ad.get('description', '')[:80]}")
        snapshot = {"keyword": kw, "ts": datetime.now().isoformat(), "ads": ads}
        with open(f"ads_{kw.replace(' ', '_')}.json", "w") as f:
            json.dump(snapshot, f, indent=2)

if __name__ == "__main__":
    monitor()

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const fs = require("fs");

async function getAds(keyword) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: keyword, country_code: "us" })
  });
  const data = await res.json();
  return data.ads || [];
}

async function main() {
  const keywords = ["crm software", "project management tool"];
  for (const kw of keywords) {
    const ads = await getAds(kw);
    console.log(`\n${kw}: ${ads.length} ads`);
    ads.forEach(a => console.log(`  ${a.title}`));
    fs.writeFileSync(`ads_${kw.replace(/ /g, "_")}.json`, JSON.stringify({ keyword: kw, ads }, null, 2));
  }
}
main().catch(console.error);

Salida esperada

JSON
crm software: 4 ads
  Salesforce CRM - The #1 CRM Platform
  Start your free trial today. Trusted by 150,000+ businesses worldwide.
  HubSpot CRM - Free Forever CRM
  Get started with a CRM that scales. No credit card required.

project management tool: 3 ads
  Monday.com - Work Management Platform
  Manage projects, workflows, and tasks in one place.

Tutoriales relacionados

  • Cómo automatizar el análisis de la competencia con las API de búsqueda
  • Cómo realizar un seguimiento diario de las clasificaciones SEO con la API Scavio

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 o superior. solicita biblioteca instalada. Una clave API de Scavio. Una lista de palabras clave donde los competidores publican anuncios. 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

Las mejores API de búsqueda después de los cambios en el modo AI de Google I/O 2026

Read more
Comparison

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

Read more
Solution

Datos de Google Ads de las API SERP

Read more
Glossary

API de SERP

Read more
Glossary

Costo de la API de Google Maps Places

Read more

Empieza a construir

Realice un seguimiento de los titulares y descripciones de Google Ads de la competencia mediante programación utilizando la API de Scavio. Supervise los cambios en el texto de los anuncios a lo largo del tiempo para obtener inteligencia competitiva.

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