Le problème
Les agences SEO locales doivent suivre les classements de leurs clients pour des requêtes spécifiques à un lieu sur des centaines de mots-clés. Les outils de suivi existants soit facturent des prix premium pour les résultats locaux, fournissent des données incohérentes, soit manquent d'accès API pour des tableaux de bord personnalisés.
La solution Scavio
Utilisez Scavio pour exécuter des recherches Google géolocalisées et extraire les positions organiques pour les mots-clés cibles. Créez des tableaux de bord de suivi de classement personnalisés qui se mettent à jour quotidiennement avec des données cohérentes via API, à une fraction du prix des outils d'entreprise.
Avant
Vous payez 200 $+/mois pour des outils de suivi de classement d'entreprise, vous faites face à des incohérences de données entre fournisseurs et vous manquez d'accès API pour des rapports clients personnalisés.
Après
Pipeline de suivi de classement personnalisé avec mises à jour quotidiennes, données cohérentes via API, et rapports en marque blanche pour les clients pour moins de 30 $/mois en coûts d'API.
À qui cela s'adresse
Agences SEO locales et entreprises multi-sites qui suivent les classements.
Avantages clés
- Données de classement quotidiennes cohérentes via API
- Résultats de recherche Google spécifiques à un lieu
- Tableau de bord personnalisé et rapports en marque blanche
- Réduction de coût de 90 %+ par rapport aux outils de suivi d'entreprise
Exemple Python
import requests
import json
from datetime import datetime
def track_local_rankings(keywords: list, domain: str) -> list:
results = []
for kw in keywords:
resp = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": SCAVIO_API_KEY, "Content-Type": "application/json"},
json={"query": kw, "platform": "google", "limit": 20}
)
serp = resp.json().get("results", [])
position = None
for r in serp:
if domain in r.get("link", ""):
position = r["position"]
break
results.append({
"keyword": kw,
"position": position,
"found": position is not None,
"date": datetime.now().isoformat()
})
return results
keywords = ["best plumber austin tx", "emergency plumber austin", "plumber near me austin"]
rankings = track_local_rankings(keywords, "example-plumber.com")
for r in rankings:
pos = r["position"] if r["found"] else "Not found"
print(f"{r['keyword']}: Position {pos}")Exemple JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
fetch('https://api.scavio.dev/api/v1/search', {method: 'POST', headers: H, body: JSON.stringify({query: 'example', country_code: 'us'})}).then(r => r.json()).then(d => console.log(d.organic_results?.length + ' results'));Plateformes utilisées
Recherche web avec graphe de connaissances, PAA et aperçus IA