Overview
AI Overviews frequently cite Reddit threads as sources. This workflow monitors target keywords for AI Overview appearances, checks which Reddit threads are cited, and alerts when your brand or competitors appear in AI-generated answers. Essential for GEO (Generative Engine Optimization) tracking.
Trigger
Weekly cron on Monday at 08:00 UTC
Schedule
Weekly on Monday at 08:00 UTC
Workflow Steps
Load keyword watchlist
Read the list of target keywords to monitor for AI Overview citations.
Query with AI Overview enabled
Search each keyword with AI Overview extraction enabled to capture the generated answer and its source citations.
Extract Reddit citations
Filter AI Overview sources for Reddit domains. Record the thread URL, subreddit, and the context in which it was cited.
Check brand mentions
Scan AI Overview text and cited sources for your brand name and competitor names.
Generate weekly report
Produce a report showing: keywords with AI Overviews, Reddit threads cited, brand mention frequency, and week-over-week changes.
Python Implementation
import requests, os, json
from datetime import datetime
H = {"x-api-key": os.environ["SCAVIO_API_KEY"], "Content-Type": "application/json"}
def monitor_citations(keywords, brand):
report = {"date": datetime.now().isoformat(), "brand": brand, "results": []}
for kw in keywords:
r = requests.post("https://api.scavio.dev/api/v1/search", headers=H,
json={"platform": "google", "query": kw, "ai_overview": True}).json()
aio = r.get("ai_overview", {})
if not aio:
continue
sources = aio.get("sources", [])
reddit_sources = [s for s in sources if "reddit.com" in s.get("domain", "")]
brand_mentioned = brand.lower() in (aio.get("text", "") or "").lower()
report["results"].append({
"keyword": kw, "has_aio": True,
"reddit_citations": len(reddit_sources),
"reddit_urls": [s.get("url", "") for s in reddit_sources],
"brand_mentioned": brand_mentioned,
})
cited = sum(1 for r in report["results"] if r["brand_mentioned"])
print(f"Monitored {len(keywords)} keywords, {len(report['results'])} have AIO")
print(f"Brand cited in {cited} AI Overviews")
return report
report = monitor_citations(
["best SERP API 2026", "web scraping API alternative", "search API for agents"],
"Scavio")JavaScript Implementation
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function monitorCitations(keywords, brand) {
const report = {date: new Date().toISOString(), brand, results: []};
for (const kw of keywords) {
const r = await fetch("https://api.scavio.dev/api/v1/search", {
method: "POST", headers: H,
body: JSON.stringify({platform: "google", query: kw, ai_overview: true})
}).then(r => r.json());
const aio = r.ai_overview || {};
if (!aio.text) continue;
const sources = aio.sources || [];
const redditSources = sources.filter(s => (s.domain || "").includes("reddit.com"));
const brandMentioned = (aio.text || "").toLowerCase().includes(brand.toLowerCase());
report.results.push({
keyword: kw, hasAio: true,
redditCitations: redditSources.length,
redditUrls: redditSources.map(s => s.url || ""),
brandMentioned,
});
}
const cited = report.results.filter(r => r.brandMentioned).length;
console.log(`Monitored ${keywords.length} kws, ${report.results.length} have AIO, brand cited in ${cited}`);
return report;
}
monitorCitations(["best SERP API 2026", "web scraping API alternative"], "Scavio");Platforms Used
Web search with knowledge graph, PAA, and AI overviews