Workflow

AI Brand Research Validation Workflow

Workflow that validates brand claims, competitor mentions, and market positioning by cross-referencing against live search results from multiple platforms.

Overview

Marketing teams make brand claims that drift from reality. 'We are the #1 rated...' when you are actually #3. This workflow validates brand claims by searching Google for rankings, checking Amazon for product ratings versus competitors, and scanning Reddit for authentic customer sentiment. Weekly validation keeps your marketing honest and defensible.

Trigger

Weekly on Friday 10 AM, before weekly marketing review.

Schedule

Weekly

Workflow Steps

1

Define Brand Claims to Validate

List the claims: ranking positions, rating claims, market share assertions, and feature comparisons.

2

Search Google for Ranking Verification

For each ranking claim, search the relevant query and check if your brand appears at the claimed position.

3

Check Amazon Ratings vs Competitors

Search Amazon for your product category. Compare your rating and review count against top competitors.

4

Scan Reddit for Sentiment

Search Reddit for your brand name. Analyze whether community sentiment aligns with your marketing claims.

5

Generate Validation Report

Output a claim-by-claim report: VERIFIED, NEEDS UPDATE, or FALSE with supporting evidence.

Python Implementation

Python
import requests, os, json

API_KEY = os.environ["SCAVIO_API_KEY"]
H = {"x-api-key": API_KEY, "Content-Type": "application/json"}

BRAND = "Acme Software"
CLAIMS = [
    {"claim": "Top 5 CRM for startups", "query": "best crm for startups 2026", "platform": "google", "expected_rank": 5},
    {"claim": "4.8 star rating on Amazon", "query": "Acme CRM software", "platform": "amazon", "expected_rating": 4.8},
    {"claim": "Recommended on Reddit", "query": "Acme Software review reddit", "platform": "reddit", "expected_sentiment": "positive"},
]

def search(query: str, platform: str = "google") -> dict:
    resp = requests.post(
        "https://api.scavio.dev/api/v1/search",
        headers=H,
        json={"query": query, "platform": platform, "country_code": "us"},
        timeout=15,
    )
    return resp.json()

def validate_ranking(data: dict, brand: str, expected_rank: int) -> dict:
    results = data.get("organic_results", [])
    for i, r in enumerate(results):
        if brand.lower() in r.get("title", "").lower() or brand.lower() in r.get("link", "").lower():
            actual_rank = i + 1
            return {"status": "VERIFIED" if actual_rank <= expected_rank else "NEEDS UPDATE", "actual_rank": actual_rank}
    return {"status": "FALSE", "actual_rank": "not found"}

def validate_rating(data: dict, expected_rating: float) -> dict:
    results = data.get("organic_results", [])
    if results and results[0].get("rating"):
        actual = results[0]["rating"]
        return {"status": "VERIFIED" if actual >= expected_rating else "NEEDS UPDATE", "actual_rating": actual}
    return {"status": "UNVERIFIABLE", "actual_rating": "not found"}

def validate_claims():
    report = []
    for claim in CLAIMS:
        data = search(claim["query"], claim.get("platform", "google"))
        if "expected_rank" in claim:
            result = validate_ranking(data, BRAND, claim["expected_rank"])
        elif "expected_rating" in claim:
            result = validate_rating(data, claim["expected_rating"])
        else:
            result = {"status": "MANUAL REVIEW", "data_fetched": True}
        result["claim"] = claim["claim"]
        report.append(result)
        print(f"{claim['claim']}: {result['status']}")
    return report

validate_claims()

JavaScript Implementation

JavaScript
const H = {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'};
const BRAND = 'Acme Software';

const CLAIMS = [
  {claim:'Top 5 CRM for startups', query:'best crm for startups 2026', platform:'google', expectedRank:5},
  {claim:'4.8 star rating on Amazon', query:'Acme CRM software', platform:'amazon', expectedRating:4.8},
  {claim:'Recommended on Reddit', query:'Acme Software review reddit', platform:'reddit', expectedSentiment:'positive'},
];

async function search(query, platform='google') {
  const r = await fetch('https://api.scavio.dev/api/v1/search', {method:'POST', headers:H, body:JSON.stringify({query, platform, country_code:'us'})});
  return r.json();
}

function validateRanking(data, brand, expectedRank) {
  const results = data.organic_results || [];
  for (let i=0; i<results.length; i++) {
    if ((results[i].title||'').toLowerCase().includes(brand.toLowerCase())) {
      const actual = i+1;
      return {status:actual<=expectedRank?'VERIFIED':'NEEDS UPDATE', actualRank:actual};
    }
  }
  return {status:'FALSE', actualRank:'not found'};
}

function validateRating(data, expectedRating) {
  const results = data.organic_results || [];
  if (results[0]?.rating) {
    const actual = results[0].rating;
    return {status:actual>=expectedRating?'VERIFIED':'NEEDS UPDATE', actualRating:actual};
  }
  return {status:'UNVERIFIABLE', actualRating:'not found'};
}

async function validateClaims() {
  for (const claim of CLAIMS) {
    const data = await search(claim.query, claim.platform||'google');
    let result;
    if (claim.expectedRank) result = validateRanking(data, BRAND, claim.expectedRank);
    else if (claim.expectedRating) result = validateRating(data, claim.expectedRating);
    else result = {status:'MANUAL REVIEW', dataFetched:true};
    console.log(claim.claim+': '+result.status);
  }
}

await validateClaims();

Platforms Used

Google

Web search with knowledge graph, PAA, and AI overviews

Amazon

Product search with prices, ratings, and reviews

Reddit

Community, posts & threaded comments from any subreddit

Frequently Asked Questions

Marketing teams make brand claims that drift from reality. 'We are the #1 rated...' when you are actually #3. This workflow validates brand claims by searching Google for rankings, checking Amazon for product ratings versus competitors, and scanning Reddit for authentic customer sentiment. Weekly validation keeps your marketing honest and defensible.

This workflow uses a weekly on friday 10 am, before weekly marketing review.. Weekly.

This workflow uses the following Scavio platforms: google, amazon, reddit. Each platform is called via the same unified API endpoint.

Yes. Scavio's free tier includes 250 credits per month with no credit card required. That is enough to test and validate this workflow before scaling it.

AI Brand Research Validation Workflow

Workflow that validates brand claims, competitor mentions, and market positioning by cross-referencing against live search results from multiple platforms.