Tutorial

How to Track Reddit AI Overview Citations

Monitor which Reddit posts appear in Google AI Overviews. Track citation patterns, subreddit distribution, and changes over time with a search API.

Google AI Overviews increasingly cite Reddit posts as sources, making Reddit a high-value channel for brand visibility in AI search results. Tracking which Reddit posts get cited in AI Overviews helps you understand what content formats and subreddits Google favors. This tutorial shows how to monitor AI Overview citations for your target keywords, filter for Reddit sources, and track citation patterns over time. You will build a pipeline that identifies Reddit-sourced AI Overview citations and alerts you to changes.

Prerequisites

  • Python 3.8+ installed
  • requests library installed
  • A Scavio API key from scavio.dev
  • A list of target keywords to monitor

Walkthrough

Step 1: Define monitoring keywords

Set up the keywords you want to track for Reddit citations in AI Overviews.

Python
import os, requests, json
from datetime import date

API_KEY = os.environ["SCAVIO_API_KEY"]
KEYWORDS = [
    "best CRM for startups",
    "how to automate sales outreach",
    "cold email tools comparison",
    "saas lead generation strategy",
]

Step 2: Check AI Overviews for Reddit citations

Query each keyword and filter AI Overview sources for Reddit URLs.

Python
def check_reddit_citations(keyword):
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": keyword})
    data = resp.json()
    aio = data.get("ai_overview", {})
    sources = aio.get("sources", []) if aio else []
    reddit_sources = [s for s in sources if "reddit.com" in s.get("link", "")]
    return {
        "keyword": keyword,
        "has_ai_overview": bool(aio),
        "total_sources": len(sources),
        "reddit_citations": len(reddit_sources),
        "reddit_urls": [s.get("link", "") for s in reddit_sources],
        "date": date.today().isoformat(),
    }

Step 3: Build the citation report

Run checks across all keywords and generate a summary report.

Python
def build_report(keywords):
    results = [check_reddit_citations(kw) for kw in keywords]
    total_aio = sum(1 for r in results if r["has_ai_overview"])
    total_reddit = sum(r["reddit_citations"] for r in results)
    return {
        "date": date.today().isoformat(),
        "keywords_checked": len(results),
        "keywords_with_aio": total_aio,
        "total_reddit_citations": total_reddit,
        "details": results,
    }

report = build_report(KEYWORDS)
print(f"Reddit citations: {report['total_reddit_citations']}")

Step 4: Store and compare reports

Save reports for trend tracking and detect changes in Reddit citation frequency.

Python
def save_report(report):
    path = f"reddit_aio_{report['date']}.json"
    with open(path, "w") as f:
        json.dump(report, f, indent=2)
    print(f"Saved to {path}")

def detect_changes(current, prev_path):
    with open(prev_path) as f:
        prev = json.load(f)
    return {
        "reddit_citation_change": current["total_reddit_citations"] - prev["total_reddit_citations"],
        "aio_coverage_change": current["keywords_with_aio"] - prev["keywords_with_aio"],
    }

save_report(report)

Python Example

Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
def reddit_citations(keyword):
    resp = requests.post("https://api.scavio.dev/api/v1/search",
        headers={"x-api-key": API_KEY},
        json={"platform": "google", "query": keyword})
    aio = resp.json().get("ai_overview", {})
    sources = aio.get("sources", []) if aio else []
    return [s["link"] for s in sources if "reddit.com" in s.get("link", "")]

print(reddit_citations("best CRM for startups"))

JavaScript Example

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
async function redditCitations(keyword) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({platform: "google", query: keyword})
  });
  const aio = (await r.json()).ai_overview || {};
  return (aio.sources || []).filter(s => (s.link||"").includes("reddit.com"));
}
redditCitations("best CRM for startups").then(console.log);

Expected Output

JSON
A tracking report showing which Reddit posts are cited in AI Overviews for your target keywords, with trend data for monitoring citation changes over time.

Related Tutorials

Frequently Asked Questions

Most developers complete this tutorial in 15 to 30 minutes. You will need a Scavio API key (free tier works) and a working Python or JavaScript environment.

Python 3.8+ installed. requests library installed. A Scavio API key from scavio.dev. A list of target keywords to monitor. A Scavio API key gives you 250 free credits per month.

Yes. The free tier includes 250 credits per month, which is more than enough to complete this tutorial and prototype a working solution.

Scavio has a native LangChain package (langchain-scavio), an MCP server, and a plain REST API that works with any HTTP client. This tutorial uses the raw REST API, but you can adapt to your framework of choice.

Start Building

Monitor which Reddit posts appear in Google AI Overviews. Track citation patterns, subreddit distribution, and changes over time with a search API.