Workflow

Weekly LLM Visibility Scan

Scan 100+ keywords weekly for AI Overview brand citations. Track GEO visibility trends at $0.50/week via Scavio.

Overview

This workflow scans target keywords weekly for brand mentions in Google AI Overview responses. It calculates a GEO visibility score, tracks week-over-week trends, identifies keywords where citations were gained or lost, and generates a report for stakeholder review. At $0.50/week for 100 keywords, this replaces hours of manual prompt testing.

Trigger

Cron schedule (every Friday at 6 AM UTC)

Schedule

Runs every Friday at 6:00 AM UTC

Workflow Steps

1

Load keyword set

Read the list of target keywords and brand names to track.

2

Query with AI Overview

Search each keyword via Scavio with ai_overview enabled.

3

Check brand citations

Parse AI Overview text for brand name mentions.

4

Calculate GEO score

Compute citation rate and composite visibility score.

5

Compare to previous week

Identify gained and lost citations vs previous scan.

6

Generate report

Output structured visibility report with trends and recommendations.

Python Implementation

Python
import requests
import json
from datetime import datetime
from pathlib import Path

API_KEY = "your_scavio_api_key"
BRAND = "YourBrand"

def weekly_scan(keywords: list[str]) -> dict:
    results = []
    for kw in keywords:
        res = requests.post(
            "https://api.scavio.dev/api/v1/search",
            headers={"x-api-key": API_KEY},
            json={"platform": "google", "query": kw, "ai_overview": True},
            timeout=15,
        )
        res.raise_for_status()
        ai_text = res.json().get("ai_overview", {}).get("text", "")
        results.append({"keyword": kw, "cited": BRAND.lower() in ai_text.lower()})

    cited = sum(1 for r in results if r["cited"])
    geo_score = round(cited / len(results), 3) if results else 0
    date = datetime.utcnow().strftime("%Y-%m-%d")

    prev_path = Path("visibility_latest.json")
    prev_score = 0
    if prev_path.exists():
        prev = json.loads(prev_path.read_text())
        prev_score = prev.get("geo_score", 0)

    report = {
        "date": date,
        "brand": BRAND,
        "keywords": len(keywords),
        "citations": cited,
        "geo_score": geo_score,
        "prev_score": prev_score,
        "score_change": round(geo_score - prev_score, 3),
        "details": results,
    }
    Path(f"visibility_{date}.json").write_text(json.dumps(report, indent=2))
    prev_path.write_text(json.dumps(report, indent=2))
    print(f"GEO Score: {geo_score} (change: {report['score_change']:+.3f}), Citations: {cited}/{len(keywords)}")
    return report

weekly_scan(["best search api 2026", "serp api comparison", "ai agent search tool"])

JavaScript Implementation

JavaScript
const API_KEY = "your_scavio_api_key";
const BRAND = "YourBrand";

async function weeklyScan(keywords) {
  const results = [];
  for (const kw of keywords) {
    const res = await fetch("https://api.scavio.dev/api/v1/search", {
      method: "POST",
      headers: { "x-api-key": API_KEY, "content-type": "application/json" },
      body: JSON.stringify({ platform: "google", query: kw, ai_overview: true }),
    });
    const aiText = (await res.json()).ai_overview?.text ?? "";
    results.push({ keyword: kw, cited: aiText.toLowerCase().includes(BRAND.toLowerCase()) });
  }
  const cited = results.filter((r) => r.cited).length;
  console.log(`GEO Score: ${(cited / results.length).toFixed(3)}, Citations: ${cited}/${results.length}`);
  return results;
}

await weeklyScan(["best search api 2026", "serp api comparison"]);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

This workflow scans target keywords weekly for brand mentions in Google AI Overview responses. It calculates a GEO visibility score, tracks week-over-week trends, identifies keywords where citations were gained or lost, and generates a report for stakeholder review. At $0.50/week for 100 keywords, this replaces hours of manual prompt testing.

This workflow uses a cron schedule (every friday at 6 am utc). Runs every Friday at 6:00 AM UTC.

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

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

Weekly LLM Visibility Scan

Scan 100+ keywords weekly for AI Overview brand citations. Track GEO visibility trends at $0.50/week via Scavio.