Overview
This workflow feeds live search data into content creation pipelines to ensure every article is grounded in verified sources. Before content is drafted, the pipeline queries Google for current data, Reddit for discussion context, and Amazon/Walmart for pricing verification. The output is a research brief that content writers or AI generators use to produce accurate, source-backed content.
Trigger
Triggered per content brief, or batched daily for the content calendar
Schedule
Triggered per content brief or batched daily
Workflow Steps
Load content brief topics
Read the list of topics scheduled for content creation from the content calendar or CMS.
Search Google for source data
Query Scavio Google search for each topic to gather current organic results, AI Overview content, and featured snippets.
Search Reddit for discussion context
Find relevant Reddit discussions to understand user pain points and questions around each topic.
Verify pricing claims
For any topic involving products or pricing, query Amazon and Walmart to get current, verified prices.
Compile research brief
Combine all data into a structured research brief with sources, discussion context, and verified claims.
Python Implementation
import requests
import json
from pathlib import Path
from datetime import datetime
API_KEY = "your_scavio_api_key"
def search(query: str, platform: str) -> dict:
res = requests.post(
"https://api.scavio.dev/api/v1/search",
headers={"x-api-key": API_KEY},
json={"platform": platform, "query": query},
timeout=15,
)
res.raise_for_status()
return res.json()
def build_research_brief(topic: str, needs_pricing: bool = False) -> dict:
# Google: authoritative sources
google = search(topic, "google")
sources = [{"title": r.get("title", ""), "url": r.get("link", ""), "snippet": r.get("snippet", "")} for r in google.get("organic", [])[:5]]
ai_overview = google.get("ai_overview", {})
# Reddit: real user perspectives
reddit = search(topic, "reddit")
discussions = [{"title": r.get("title", ""), "subreddit": r.get("subreddit", ""), "score": r.get("score", 0), "link": r.get("link", "")} for r in reddit.get("organic", [])[:5]]
brief = {
"topic": topic,
"researched_at": datetime.utcnow().isoformat(),
"google_sources": sources,
"ai_overview_text": (ai_overview or {}).get("text", ""),
"reddit_discussions": discussions,
"people_also_ask": [q.get("question", "") for q in google.get("people_also_ask", [])],
}
# Pricing verification if needed
if needs_pricing:
amazon = search(topic, "amazon")
prices = [{"title": r.get("title", ""), "price": r.get("price"), "link": r.get("link", "")} for r in amazon.get("organic", [])[:5] if r.get("price")]
brief["verified_prices"] = prices
return brief
def run(topics: list[dict]):
date = datetime.utcnow().strftime("%Y-%m-%d")
briefs = []
for topic_config in topics:
brief = build_research_brief(topic_config["topic"], topic_config.get("needs_pricing", False))
briefs.append(brief)
Path(f"content_research_{date}.json").write_text(json.dumps(briefs, indent=2))
print(f"Built {len(briefs)} research briefs")
for b in briefs:
print(f" {b['topic']}: {len(b['google_sources'])} sources, {len(b['reddit_discussions'])} discussions")
topics = [
{"topic": "best SERP API for AI agents 2026", "needs_pricing": False},
{"topic": "wireless noise cancelling headphones", "needs_pricing": True},
]
run(topics)JavaScript Implementation
const API_KEY = "your_scavio_api_key";
async function search(query, platform) {
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, query }),
});
if (!res.ok) throw new Error(`scavio ${res.status}`);
return res.json();
}
async function buildBrief(topic, needsPricing = false) {
const google = await search(topic, "google");
const reddit = await search(topic, "reddit");
const brief = {
topic,
sources: (google.organic ?? []).slice(0, 5).map((r) => ({ title: r.title ?? "", url: r.link ?? "", snippet: r.snippet ?? "" })),
discussions: (reddit.organic ?? []).slice(0, 5).map((r) => ({ title: r.title ?? "", subreddit: r.subreddit ?? "", score: r.score ?? 0 })),
paa: (google.people_also_ask ?? []).map((q) => q.question ?? ""),
};
if (needsPricing) {
const amazon = await search(topic, "amazon");
brief.prices = (amazon.organic ?? []).filter((r) => r.price).slice(0, 5).map((r) => ({ title: r.title ?? "", price: r.price, link: r.link ?? "" }));
}
return brief;
}
const topics = [{ topic: "best SERP API 2026" }, { topic: "wireless headphones", needsPricing: true }];
for (const t of topics) {
const brief = await buildBrief(t.topic, t.needsPricing);
console.log(`${brief.topic}: ${brief.sources.length} sources, ${brief.discussions.length} discussions`);
}Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Amazon
Product search with prices, ratings, and reviews
Community, posts & threaded comments from any subreddit