Workflow

SaaS AEO Daily Snapshot

Daily multi-surface visibility snapshot for SaaS brands: SERP, AI Overviews citations, Reddit mentions, stored in DuckDB for delta tracking.

Overview

End-to-end daily AEO measurement workflow for SaaS founders. Pull SERP with `include_ai_overview: true`, pull Reddit brand mentions, normalize into a single citation table, and store deltas. Solo founder budget, multi-surface coverage, easy to extend with weekly ChatGPT/Perplexity prompt studies.

Trigger

Daily 8 AM

Schedule

Daily 8 AM

Workflow Steps

1

Define brand keyword set

10 to 30 brand and category keywords stored in a config file.

2

SERP plus AI Overviews

One Scavio call per keyword with `include_ai_overview: true`.

3

Reddit search per keyword

Reddit endpoint returns recent threads mentioning the brand.

4

Normalize citations

Flatten into rows of (keyword, surface, url, date).

5

Store in DuckDB

Append to local DuckDB file for delta queries.

6

Email weekly delta

Friday digest of new citations, lost citations, new Reddit threads.

Python Implementation

Python
import os, requests, datetime, duckdb
API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY}
db = duckdb.connect("aeo.duckdb")
db.execute("CREATE TABLE IF NOT EXISTS citations(keyword TEXT, surface TEXT, url TEXT, date DATE)")

def snapshot(keywords):
    today = datetime.date.today()
    for k in keywords:
        serp = requests.post("https://api.scavio.dev/api/v1/google",
            headers=H, json={"query": k, "include_ai_overview": True}).json()
        for u in serp.get("organic_results", [])[:10]:
            db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "serp", u["link"], today))
        for c in (serp.get("ai_overview") or {}).get("citations", []):
            db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "ai_overview", c, today))
        rdt = requests.post("https://api.scavio.dev/api/v1/reddit/search",
            headers=H, json={"query": k}).json()
        for p in rdt.get("posts", [])[:10]:
            db.execute("INSERT INTO citations VALUES (?, ?, ?, ?)", (k, "reddit", p.get("url",""), today))

JavaScript Implementation

JavaScript
const H = { "x-api-key": process.env.SCAVIO_API_KEY, "content-type": "application/json" };

async function snapshot(keywords) {
  for (const k of keywords) {
    const serp = await fetch("https://api.scavio.dev/api/v1/google", {
      method: "POST", headers: H,
      body: JSON.stringify({ query: k, include_ai_overview: true })
    }).then(r => r.json());
    const rdt = await fetch("https://api.scavio.dev/api/v1/reddit/search", {
      method: "POST", headers: H,
      body: JSON.stringify({ query: k })
    }).then(r => r.json());
    console.log(k, serp.ai_overview, rdt.posts);
  }
}

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Reddit

Community, posts & threaded comments from any subreddit

Frequently Asked Questions

End-to-end daily AEO measurement workflow for SaaS founders. Pull SERP with `include_ai_overview: true`, pull Reddit brand mentions, normalize into a single citation table, and store deltas. Solo founder budget, multi-surface coverage, easy to extend with weekly ChatGPT/Perplexity prompt studies.

This workflow uses a daily 8 am. Daily 8 AM.

This workflow uses the following Scavio platforms: google, reddit. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

SaaS AEO Daily Snapshot

Daily multi-surface visibility snapshot for SaaS brands: SERP, AI Overviews citations, Reddit mentions, stored in DuckDB for delta tracking.