brand-monitoringmulti-platformapi

Cross-Platform Brand Monitoring from One API

Monitor brand across Google, TikTok, Reddit, and YouTube from one API for $3-15/mo instead of $289-609/mo in separate tools.

8 min

Monitoring your brand across Google, TikTok, Reddit, and YouTube typically requires 3-4 separate tools at $50-200/month each. A multi-platform search API consolidates all four into a single endpoint for $15-30/month, with structured JSON output that feeds directly into dashboards or Slack alerts.

The multi-tool problem

  • Brand24: $119/mo for social monitoring (TikTok, Reddit, YouTube)
  • SEMrush/Ahrefs: $129-249/mo for Google SERP tracking
  • Mention: $41/mo for basic web monitoring
  • Total: $289-609/mo for cross-platform coverage

Unified API approach

Python
import requests, os
from datetime import datetime

def monitor_brand(brand_name, platforms=None):
    if platforms is None:
        platforms = ["google", "youtube", "reddit"]

    results = {}
    for platform in platforms:
        resp = requests.post(
            "https://api.scavio.dev/api/v1/search",
            headers={"x-api-key": os.environ["SCAVIO_API_KEY"]},
            json={
                "query": brand_name,
                "search_engine": platform if platform != "reddit"
                    else "google",
                "num_results": 10,
            },
        )
        results[platform] = resp.json().get("organic_results", [])

    # TikTok via dedicated endpoint
    tiktok_resp = requests.post(
        "https://api.scavio.dev/api/v1/tiktok/search",
        headers={"Authorization": f"Bearer {os.environ['SCAVIO_API_KEY']}"},
        json={"query": brand_name, "count": 10},
    )
    results["tiktok"] = tiktok_resp.json().get("results", [])

    return results

mentions = monitor_brand("Acme Software")
for platform, items in mentions.items():
    print(f"\n{platform.upper()}: {len(items)} mentions")
    for item in items[:3]:
        print(f"  - {item.get('title', item.get('desc', ''))[:60]}")

Daily monitoring workflow

Python
import json, smtplib
from email.mime.text import MIMEText

def daily_brand_report(brand_name):
    mentions = monitor_brand(brand_name)

    report_lines = [f"Brand Monitor Report: {brand_name}"]
    report_lines.append(f"Date: {datetime.now().strftime('%Y-%m-%d')}")
    report_lines.append("")

    total_mentions = 0
    for platform, items in mentions.items():
        total_mentions += len(items)
        report_lines.append(f"{platform.upper()} ({len(items)} mentions):")
        for item in items[:5]:
            title = item.get("title", item.get("desc", ""))[:70]
            link = item.get("link", item.get("url", "N/A"))
            report_lines.append(f"  - {title}")
            report_lines.append(f"    {link}")
        report_lines.append("")

    report_lines.append(f"Total mentions: {total_mentions}")
    return "\n".join(report_lines)

report = daily_brand_report("Acme Software")
print(report)

Sentiment detection

Pair brand monitoring with an LLM to classify sentiment. Feed each mention through a local or cloud LLM for positive/negative/ neutral classification:

Python
def classify_sentiment(mentions, llm_url="http://localhost:11434/api/generate"):
    classified = []
    for platform, items in mentions.items():
        for item in items:
            text = item.get("snippet", item.get("desc", ""))
            if not text:
                continue

            resp = requests.post(llm_url, json={
                "model": "llama3.2",
                "prompt": f"Classify sentiment as positive, negative, or neutral. Reply with one word only.\n\nText: {text}",
                "stream": False,
            })
            sentiment = resp.json().get("response", "neutral").strip().lower()
            classified.append({
                "platform": platform,
                "text": text[:100],
                "sentiment": sentiment,
            })
    return classified

Cost at daily monitoring cadence

  • 4 platform searches per brand per day = 4 API calls
  • Monitoring 5 brands: 20 API calls/day = 600/month
  • At $0.005/call: $3/month total
  • Versus $289-609/month for equivalent multi-tool setup

When to use dedicated monitoring tools instead

  • Enterprise teams needing collaborative dashboards with role-based access
  • Historical trend analysis spanning months or years
  • Automated crisis detection with instant alerts
  • Competitor benchmarking with share-of-voice calculations

Bottom line

For brand monitoring at startup or small agency scale, a multi-platform search API replaces $300-600/month in monitoring tools with $3-15/month in API costs. Add an LLM for sentiment analysis and a cron job for daily execution, and you have a production monitoring system for under $30/month total.