El problema
Las agencias de SEO pagan tarifas de licencia por cliente para herramientas de informes como Ahrefs ($99-999/mes), Semrush ($120-450/mes) o SE Ranking ($52-207/mes). Cada nuevo cliente aumenta la factura de herramientas. Los informes muestran la marca de la herramienta, no la suya. La personalización se limita a lo que permite la herramienta. Cuando un cliente solicita una métrica que la herramienta no ofrece, la respuesta es "no podemos hacer eso". La propuesta de valor de la agencia se ve socavada al entregar informes que se parecen a los de cualquier otra agencia que utiliza la misma herramienta.
La solucion de Scavio
Scavio proporciona los datos SERP sin procesar que las agencias utilizan para crear informes completamente etiquetados con su propia marca, métricas personalizadas y vistas específicas del cliente. Un plan de $30 al mes cubre 7000 consultas, suficiente para realizar un seguimiento diario de la clasificación de 230 palabras clave en todos los clientes. La agencia crea informes en su propia plantilla (PDF, panel, resumen por correo electrónico) con exactamente las métricas que le interesan a cada cliente. Sin tarifas de licencia por cliente, sin marca de proveedor y sin limitaciones de funciones.
Antes
Antes de Scavio, las agencias pagaban tarifas de licencia por cliente para herramientas de SEO con marca de proveedor y personalización limitada. Cada nuevo cliente aumentó la factura de herramientas y los informes parecían idénticos a los de todas las agencias de la competencia que usaban la misma herramienta.
Después
Después de Scavio, la agencia crea informes completamente etiquetados en blanco a partir de datos SERP sin procesar a un precio fijo de $30/mes, independientemente del número de clientes. Las métricas personalizadas, las vistas específicas del cliente y la marca de la agencia diferencian el servicio de todos los competidores.
Para quien es
Agencias de SEO que pagan licencias de herramientas por cliente y desean entregar informes de marca blanca con métricas personalizadas. Consultores de SEO independientes que necesitan informes profesionales sin costos de herramientas empresariales.
Beneficios clave
- El precio fijo de $30/mes cubre a todos los clientes frente a las tarifas de licencia por cliente
- Informes totalmente etiquetados en blanco con la marca de la agencia
- Métricas personalizadas adaptadas a los objetivos comerciales de cada cliente.
- Sin marca de proveedor en los entregables
- 7000 consultas/mes cubren el seguimiento diario de más de 230 palabras clave
Ejemplo en Python
import requests
import json
from datetime import datetime
from pathlib import Path
API_KEY = "your_scavio_api_key"
def track_client_keywords(client: dict) -> dict:
"""Track keywords for a single agency client."""
results = []
for keyword in client["keywords"]:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": "google", "query": keyword, "num": 20},
timeout=15,
)
res.raise_for_status()
data = res.json()
position = None
for item in data.get("organic", []):
if client["domain"] in item.get("link", ""):
position = item.get("position")
break
results.append({
"keyword": keyword,
"position": position,
"has_ai_overview": bool(data.get("ai_overview")),
"top_competitor": data.get("organic", [{}])[0].get("link", ""),
})
ranked = [r for r in results if r["position"]]
return {
"client": client["name"],
"domain": client["domain"],
"date": datetime.utcnow().strftime("%Y-%m-%d"),
"keywords_tracked": len(results),
"keywords_ranking": len(ranked),
"avg_position": round(sum(r["position"] for r in ranked) / max(len(ranked), 1), 1),
"results": results,
}
clients = [
{"name": "Client A", "domain": "clienta.com", "keywords": ["seo agency austin", "local seo services"]},
{"name": "Client B", "domain": "clientb.com", "keywords": ["saas marketing", "b2b content strategy"]},
]
for client in clients:
report = track_client_keywords(client)
Path(f"report_{client['name'].lower().replace(' ', '_')}_{report['date']}.json").write_text(json.dumps(report, indent=2))
print(f"{report['client']}: {report['keywords_ranking']}/{report['keywords_tracked']} ranking, avg position {report['avg_position']}")Ejemplo en JavaScript
const API_KEY = "your_scavio_api_key";
async function trackClient(client) {
const results = [];
for (const keyword of client.keywords) {
const res = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST",
headers: { "x-api-key": API_KEY, "content-type": "application/json" },
body: JSON.stringify({ platform: "google", query: keyword, num: 20 }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
const data = await res.json();
let position = null;
for (const item of data.organic ?? []) {
if (item.link?.includes(client.domain)) { position = item.position; break; }
}
results.push({ keyword, position, hasAiOverview: !!data.ai_overview });
}
const ranked = results.filter((r) => r.position);
return { client: client.name, date: new Date().toISOString().slice(0, 10), tracked: results.length, ranking: ranked.length, avgPosition: Math.round(ranked.reduce((s, r) => s + r.position, 0) / Math.max(ranked.length, 1) * 10) / 10, results };
}
const clients = [{ name: "Client A", domain: "clienta.com", keywords: ["seo agency austin", "local seo services"] }];
for (const client of clients) {
const report = await trackClient(client);
console.log(`${report.client}: ${report.ranking}/${report.tracked} ranking, avg #${report.avgPosition}`);
}Plataformas utilizadas
Búsqueda web con grafo de conocimiento, PAA y resúmenes de IA