Overview
A lighter-weight sibling to the daily dashboard: a weekly Monday-morning email that summarizes new LLM citations, lost citations, and trending prompts where your brand appears. Perfect for founders and marketing leads who want the weekly pulse without daily noise.
Trigger
Cron schedule (weekly, Monday at 6 AM UTC)
Schedule
Weekly on Mondays at 6 AM UTC
Workflow Steps
Load brand and prompt set
Read tracked brand queries from a YAML config (typically 20-50 prompts).
Run agentic search sweep
For each prompt, query Scavio agentic platforms (chatgpt, perplexity, gemini, claude).
Diff vs last week
Compare citation set to the prior Monday's run and compute gains/losses.
Surface trending prompts
Identify prompts where citations grew or shrank by >2 engines.
Render markdown digest
Build a clean markdown email with wins, losses, and highlighted prompts.
Send weekly email
Deliver via Resend to founder inbox every Monday morning.
Python Implementation
import os, requests, json
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
ENGINES = ["agentic-chatgpt", "agentic-perplexity", "agentic-gemini", "agentic-claude"]
def sweep(prompt):
out = {}
for e in ENGINES:
r = requests.post("https://api.scavio.dev/api/v1/search",
headers=H, json={"platform": e, "query": prompt}).json()
out[e] = [c["url"] for c in r.get("citations", [])]
return out
prompts = ["best serp api 2026", "chatgpt alternative search"]
digest = {p: sweep(p) for p in prompts}
print(json.dumps(digest, indent=2))JavaScript Implementation
const API_KEY = process.env.SCAVIO_API_KEY;
const H = { "x-api-key": API_KEY, "content-type": "application/json" };
const ENGINES = ["agentic-chatgpt", "agentic-perplexity", "agentic-gemini", "agentic-claude"];
async function sweep(prompt) {
const out = {};
for (const e of ENGINES) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({ platform: e, query: prompt })
}).then(r => r.json());
out[e] = (r.citations || []).map(c => c.url);
}
return out;
}
const prompts = ["best serp api 2026", "chatgpt alternative search"];
const digest = Object.fromEntries(await Promise.all(prompts.map(async p => [p, await sweep(p)])));
console.log(JSON.stringify(digest, null, 2));Platforms Used
Web search with knowledge graph, PAA, and AI overviews