Workflow

Weekly Content Gap Analysis via SERP Data

Find content gaps by comparing your coverage to top SERP results weekly. Automated gap discovery pipeline.

Overview

Weekly, search your target keywords, compare top-ranking content against your existing pages, identify topics you have not covered, and output a prioritized gap list for content planning.

Trigger

Weekly Friday at 3 PM UTC

Schedule

Weekly Friday at 3 PM UTC

Workflow Steps

1

Search target keywords

Query Google SERP for each keyword in your content strategy.

2

Extract competitor topics

Collect titles and headings from top 10 results.

3

Compare to existing content

Match competitor topics against your published content library.

4

Identify gaps

Topics competitors cover that you do not.

5

Prioritize by search intent

Rank gaps by keyword volume proxy (PAA count, result depth).

Python Implementation

Python
import requests, os

H = {"x-api-key": os.environ["SCAVIO_API_KEY"]}
MY_PAGES = ["crm comparison", "crm for startups", "crm pricing"]  # your existing slugs/topics

def find_gaps(keyword):
    data = requests.post("https://api.scavio.dev/api/v1/search",
        headers=H, json={"platform": "google", "query": keyword}).json()
    competitor_topics = set()
    for r in data.get("organic_results", [])[:10]:
        competitor_topics.add(r.get("title", "").lower())
    paa = [q.get("question", "").lower() for q in data.get("people_also_ask", [])]
    competitor_topics.update(paa)
    gaps = [t for t in competitor_topics if not any(p in t for p in MY_PAGES)]
    return gaps

all_gaps = []
for kw in ["best crm tools 2026", "crm software comparison"]:
    all_gaps.extend(find_gaps(kw))

print(f"Found {len(all_gaps)} content gaps:")
for gap in all_gaps[:10]:
    print(f"  - {gap}")

JavaScript Implementation

JavaScript
const H = {"x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json"};
const myPages = ["crm comparison", "crm pricing"];
const gaps = [];

for (const kw of ["best crm 2026"]) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H, body: JSON.stringify({platform: "google", query: kw})
  });
  const data = await r.json();
  const topics = (data.organic_results || []).map(r => r.title?.toLowerCase());
  const paa = (data.people_also_ask || []).map(p => p.question?.toLowerCase());
  [...topics, ...paa].forEach(t => {
    if (t && !myPages.some(p => t.includes(p))) gaps.push(t);
  });
}
console.log(`${gaps.length} content gaps found`);

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Weekly, search your target keywords, compare top-ranking content against your existing pages, identify topics you have not covered, and output a prioritized gap list for content planning.

This workflow uses a weekly friday at 3 pm utc. Weekly Friday at 3 PM 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 500 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

Weekly Content Gap Analysis via SERP Data

Find content gaps by comparing your coverage to top SERP results weekly. Automated gap discovery pipeline.