I tuoi ranking non esistono nel vuoto — si muovono perché si muovono i concorrenti. Catturare l’intera SERP per le tue keyword rivela chi sta guadagnando, chi è nuovo e quali funzionalità (snippet, pack) dominano la pagina. Ecco come, con serp.cheap.
Cattura l’intera pagina dei risultati
import requests, datetime
def serp_snapshot(keyword, gl="us"):
data = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": keyword, "gl": gl},
timeout=30,
).json()
return {
"date": datetime.date.today().isoformat(),
"keyword": keyword,
"ranking": [(r["position"], domain_of(r["link"])) for r in data["organic"]],
}
def domain_of(url):
from urllib.parse import urlparse
return urlparse(url).netloc.replace("www.", "")
Rileva i cambiamenti
Salva gli snapshot e confronta i giorni consecutivi:
def new_entrants(today, yesterday):
seen = {d for _, d in yesterday["ranking"]}
return [(pos, d) for pos, d in today["ranking"] if d not in seen]
Questo fa emergere i concorrenti che sono appena entrati nei primi risultati per una keyword a cui tieni — un segnale precoce che merita un alert.
Cosa tracciare
- Quota della top 10 per ciascun concorrente nel tempo.
- Nuovi entranti che irrompono nella pagina.
- Volatilità delle posizioni — keyword in cui la SERP si rimescola spesso.
- Funzionalità SERP — traccia se un featured snippet o un pack spinge in basso i risultati organici.
Mantienilo economico
È una richiesta per keyword per mercato. Il monitoraggio giornaliero di 200 keyword ≈ $0.12/giorno fresh, meno con i cache hit. Nessuna tariffa SaaS per keyword, e i dati storici sono tuoi.