Workflow

Content Rank Pre-Check Workflow

Check SERP rank before writing new content to avoid cannibalizing existing ranking pages using Scavio.

Overview

Before any new article goes into the writing queue, this workflow checks where your domain already ranks for the target keyword, whether an existing page covers the angle, and whether the SERP is AI-Overview-dominated. Outputs a Go/No-Go decision with the rationale to save wasted content spend.

Trigger

On new keyword added to the content brief pipeline

Schedule

On demand per keyword brief

Workflow Steps

1

Ingest target keyword

Writer adds a new keyword to the content brief queue.

2

Scavio rank check

Search the keyword and inspect where your domain currently ranks (if at all).

3

Existing page match

If your domain already ranks top 10, pull that URL and its title.

4

AI Overview presence check

Detect if Google's AI Overview takes top real estate for this query.

5

Competitor density score

Count how many of top 10 are well-established domains (>DR 50).

6

Emit decision

Output {decision: 'go'|'update-existing'|'skip', rationale, suggested_url}.

Python Implementation

Python
import os, requests
API_KEY = os.environ["SCAVIO_API_KEY"]
DOMAIN = "scavio.dev"
H = {"x-api-key": API_KEY}

def precheck(keyword):
    r = requests.post("https://api.scavio.dev/api/v1/search",
        headers=H, json={"query": keyword, "ai_overview": True}).json()
    results = r.get("organic_results", [])
    own = next((i for i, x in enumerate(results, 1) if DOMAIN in x.get("link", "")), None)
    has_aio = bool(r.get("ai_overview"))
    if own and own <= 10:
        return {"decision": "update-existing", "url": results[own-1]["link"]}
    if has_aio:
        return {"decision": "skip", "reason": "ai overview dominates"}
    return {"decision": "go"}

print(precheck("best serp api for python"))

JavaScript Implementation

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

async function precheck(keyword) {
  const r = await fetch("https://api.scavio.dev/api/v1/search", {
    method: "POST", headers: H,
    body: JSON.stringify({ query: keyword, ai_overview: true })
  }).then(r => r.json());
  const results = r.organic_results || [];
  const ownIdx = results.findIndex(x => (x.link || "").includes(DOMAIN));
  if (ownIdx >= 0 && ownIdx < 10) return { decision: "update-existing", url: results[ownIdx].link };
  if (r.ai_overview) return { decision: "skip", reason: "ai overview dominates" };
  return { decision: "go" };
}

console.log(await precheck("best serp api for python"));

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Frequently Asked Questions

Before any new article goes into the writing queue, this workflow checks where your domain already ranks for the target keyword, whether an existing page covers the angle, and whether the SERP is AI-Overview-dominated. Outputs a Go/No-Go decision with the rationale to save wasted content spend.

This workflow uses a on new keyword added to the content brief pipeline. On demand per keyword brief.

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.

Content Rank Pre-Check Workflow

Check SERP rank before writing new content to avoid cannibalizing existing ranking pages using Scavio.