Overview
Track brand mentions and sentiment across Google search results, Reddit discussions, TikTok comments, and YouTube videos from a single API. Compare sentiment patterns across platforms to detect early reputation shifts and respond before they escalate.
Trigger
Daily cron at 06:00 UTC
Schedule
Daily at 06:00 UTC
Workflow Steps
Search Google for brand mentions
Query Google for your brand name plus sentiment-loaded terms like 'review', 'complaint', 'alternative to' to find public sentiment pages.
Search Reddit for brand discussions
Query Reddit for recent posts and comments mentioning your brand. Extract thread sentiment from upvote ratios and comment tone.
Search TikTok for brand content
Search TikTok videos mentioning your brand. Check video engagement and sample comments for sentiment signals.
Compare cross-platform sentiment
Aggregate sentiment signals across platforms. Flag when one platform shows significantly more negative sentiment than others.
Generate sentiment report
Output a daily report with per-platform sentiment scores, notable mentions, and trend direction.
Python Implementation
import requests, os
H_SEARCH = {"x-api-key": os.environ["SCAVIO_API_KEY"], "Content-Type": "application/json"}
H_TIKTOK = {"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}", "Content-Type": "application/json"}
BASE = "https://api.scavio.dev"
def check_platform(brand, platform, extra_params=None):
params = {"query": f"{brand} review", "count": 10}
if platform == "tiktok":
resp = requests.post(f"{BASE}/api/v1/tiktok/search/videos",
headers=H_TIKTOK, json=params).json()
items = resp["data"].get("videos", [])
return [{"title": v.get("desc", "")[:80], "engagement": v.get("statistics", {}).get("digg_count", 0)} for v in items]
else:
params["platform"] = platform
if extra_params:
params.update(extra_params)
resp = requests.post(f"{BASE}/api/v1/search",
headers=H_SEARCH, json=params).json()
results = resp.get("organic_results", []) or resp.get("posts", [])
return [{"title": r.get("title", r.get("text", ""))[:80]} for r in results[:10]]
brand = "your_brand"
for platform in ["google", "reddit", "tiktok"]:
mentions = check_platform(brand, platform)
print(f"{platform}: {len(mentions)} mentions found")JavaScript Implementation
const BASE = "https://api.scavio.dev";
const H = { "x-api-key": process.env.SCAVIO_API_KEY, "Content-Type": "application/json" };
async function checkBrand(brand) {
for (const platform of ["google", "reddit"]) {
const resp = await fetch(`${BASE}/api/v1/search`, {
method: "POST", headers: H,
body: JSON.stringify({ query: `${brand} review`, platform, count: 10 })
}).then(r => r.json());
const results = resp.organic_results || resp.posts || [];
console.log(`${platform}: ${results.length} mentions`);
}
}
checkBrand("your_brand");Platforms Used
Web search with knowledge graph, PAA, and AI overviews
Community, posts & threaded comments from any subreddit
TikTok
Trending video, creator, and product discovery
YouTube
Video search with transcripts and metadata