Overview
Benchmarks where your site ranks in classic Google SERP vs where it gets cited in generative answer engines (ChatGPT, Perplexity, Gemini). The weekly report highlights the delta so you can spot queries where you rank organic but get zero LLM citations, and vice versa.
Trigger
Cron schedule (weekly on Monday 8 AM UTC)
Schedule
Weekly on Mondays at 8 AM UTC
Workflow Steps
Load target keyword set
Read tracked keywords from CSV or database (typically 50 to 500 terms).
Pull Google organic rank
Scavio Google search per keyword; extract rank for the target domain.
Pull agentic citation status
Scavio agentic search per keyword; check if target domain is cited by LLMs.
Compute delta matrix
Tag each keyword: ranks-only, cited-only, both, or neither.
Render HTML email
Build a table showing top gaps and opportunities with numeric deltas.
Send via Resend/SendGrid
Deliver the report to stakeholders every Monday morning.
Python Implementation
import os, requests, csv
API_KEY = os.environ["SCAVIO_API_KEY"]
DOMAIN = "scavio.dev"
H = {"x-api-key": API_KEY}
def organic_rank(q):
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"query": q}).json()
for i, res in enumerate(r.get("organic_results", []), 1):
if DOMAIN in res.get("link", ""): return i
return None
def cited(q):
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"platform": "agentic-chatgpt", "query": q}).json()
return any(DOMAIN in c.get("url", "") for c in r.get("citations", []))
for row in csv.DictReader(open("keywords.csv")):
q = row["keyword"]
print(q, organic_rank(q), cited(q))JavaScript Implementation
const API_KEY = process.env.SCAVIO_API_KEY;
const DOMAIN = "scavio.dev";
const H = { "x-api-key": API_KEY, "content-type": "application/json" };
async function organicRank(q) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H, body: JSON.stringify({ query: q })
}).then(r => r.json());
const idx = (r.organic_results || []).findIndex(x => (x.link || "").includes(DOMAIN));
return idx >= 0 ? idx + 1 : null;
}
async function cited(q) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({ platform: "agentic-chatgpt", query: q })
}).then(r => r.json());
return (r.citations || []).some(c => (c.url || "").includes(DOMAIN));
}
console.log(await organicRank("ai search api"), await cited("ai search api"));Platforms Used
Web search with knowledge graph, PAA, and AI overviews